FreeCAD / FreeCAD/AddonManager

Python dependencies declaration in many places: package.xml, pyproject.toml, requirements.txt

Open
#393 7 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
18
Forks
29
Avg merge
1d 15h
Merged PRs (30d)
22

Description

Currently AddonManager installs pip dependencies declared by Addons in the `package.xml` file, but there are also some Addons (7 in the current index) that uses `requirements.txt`, and modern Addons that uses `pyproject.toml` to declare them (few but increasing as it is the standard project metadata for python since [PEP621 in 2020](https://packaging.python.org/en/latest/specifications/pyproject-toml/) )

* Do we want to move to `pyproject.toml` ?
* `pyproject.toml` can be used also for all the metadata included in `package.xml` , currently there is a lot of duplication.

There are also about 18 Addons in the current index that have a `metadata.txt` file with INI format. But AFAIK this not used at all in current AddonManager.

Migration from `package.xml` to `pyproject.toml` can be automated during `addon_catalog_cache.json` generation (Server side of AddonManager) during transition.

All of the FreeCAD specific sections present in `package.xml` can be expressed in `pyproject.toml` as it supports arbitrary sections under tools table.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.