fix for modern version of Python - #1552
Conversation
| # [tool.hatch.metadata] | ||
| # allow-direct-references = true | ||
|
|
||
| [tool.uv] |
There was a problem hiding this comment.
I vaguely remember this was deprecated. What is the modern equivalence?
There was a problem hiding this comment.
I double checked this and noticed I could reorganize it to fully follow PEP 735 which is very explicit about how to group dependencies:
[project.dependencies]is for dependencies that must be present for the project to run[project.optional-dependencies]is for dependencies that can enhance the user experience but are not needed[dependency-groups]are for development-only tools (linters, formatters, unit testing, etc.)
Now if the use wants the development tools,pip install -e . --group dev will pull in all of them, and if uv is used, it will automatically install the dev dependency group. The optional packages are still installed the usual way `pip install -e ".[dot]", etc.
bo-unitysvc
left a comment
There was a problem hiding this comment.
Thanks. The PR looks fine. I had only one comment.
|
Thanks @BoPeng! When you have a change if you can make a new tag, that should trigger a new build on the conda-forge feedstock which I will then take care of since I'm a maintainer there. |
|
Thanks. I just released v0.25.2. conda-forge would be an separate issue. |
This PR should allow SoS to work with the newest versions of Python and all the packages it depends on. Currently SoS is stuck using an old version of
setuptoolsand cannot use a version of Python new than 3.12.I've also noticed the CI system could benefit a lot from some modernization, but I haven't included those changes here yet and they may make more sense for a future PR.