-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support version pinning Spine packages #8
Comments
This would be nice for spinetoolbox-0.7.1. The METADATA file for spinetoolbox-0.7.0 looks like this
I believe to make future releases robust, we need to pin spine packages to the exact version, e.g. Or are there any alternatives to this? |
The part I'm unsure about is that version pinning means a release would require the following steps: $ edit pyproject.toml # spine-items>=0.20.0 -> spine-items==0.21.0
$ git commit -i pyproject.toml -m "Release 0.7.0"
$ git tag 0.7.0 HEAD # the Spine-Toolbox release
$ edit pyproject.toml # spine-items==0.21.0 -> spine-items>=0.21.0
$ git commit -i pyproject.toml -m "Ready for development" This actively breaks compatibility of the development version with older releases (except for the most recent release). Is that acceptable for now? |
Here I would limit it to known difficult dependencies. So for example no upper limit on |
Usually pyproject.toml is used for the package dependecies with minimum working version numbers (for maximum compatibility). Required packages for an application can be listed, e.g., in a requirements.txt file. Although there is no good way of doing this if you want to install directly from PyPI, see a recent blog post on this: https://snarky.ca/differentiating-between-writing-down-dependencies-to-use-packages-and-for-packages-themselves/. Just as you were worrying, I would not pin and unpin the package versions between releases and development, but pin those versions somewhere else than pyproject.toml. |
The logic for version pinning is more complex, as we have to check all packages and update the
pyproject.toml
even if there are no new commits since the last release.The text was updated successfully, but these errors were encountered: