Refactor dependency management to pyproject.toml#313
Refactor dependency management to pyproject.toml#313s-heppner merged 1 commit intoeclipse-basyx:mainfrom
Conversation
Previously, our dependency management was a bit of a mess. We had both a `requirements.txt` and a `pyproject.toml` and some dependencies were only defined in one but not the other. This aims to fix this mess and refactor towards only using `pyproject.toml` to define the dependencies. At the same time, we also clean up the install process, which now works by simply calling `pip install .` or `pip install -e .[dev]` for the developer envrionment. This change is reflected in the `.github/workflows`. Furthermore, we configure the already introduced `setuptools_scm` to automatically infer a version based on the most recent git tag.
5087670 to
7a7635b
Compare
|
After a lot of research regarding dependency management, I think I've come up with the proper way of using
Since we've not used pinned dependencies before (and to pin or not to pin is a whole other discussion that we shan't open right now), we do not have a need the Instead, pip install . and use the SDK ( If we are a developer on the SDK itself, we might want to install it dynamically ( pip install -e .[dev]I've adapted the CI pipelines to do this as well. I've also changed the |
|
LGTM, I see no problems 👍 |
Previously, our dependency management was a bit of a mess. We had both a
requirements.txtand apyproject.tomland some dependencies were only defined in one but not the other, leading to a lot of problems.This aims to fix this mess and refactor towards only using
pyproject.tomlto define the dependencies.At the same time, we also clean up the install process, which now works by simply calling
pip install .orpip install -e .[dev]for the developer envrionment. This change is reflected in the.github/workflows.Furthermore, we configure the already introduced
setuptools_scmto automatically infer a version based on the most recent git tag.Fixes #301
Fixes #303
Fixes #306