-
Notifications
You must be signed in to change notification settings - Fork 15
Puts requirements in pyproject #51
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
base: main
Are you sure you want to change the base?
Conversation
4239004
to
b81e358
Compare
b81e358
to
8fcceff
Compare
Ok it looks like I have to fix the CI to do this. This is definitely worth doing, but was a bit more effort than I was expecting |
I don't think we would want to make this change to only a single repo. Ideally the actions config should stay in sync between all of the circuitpython library repos. I don't necessarily think we would want to move the requirements into pyproject.toml either. I believe that some of the infrastructure utilities in use will expect that requirements.txt exist and contain the required libraries. I'm not sure that I see the up side to moving them out of |
I didn't have a specific problem in this case, but in general static configurations are "better" as they're more in-line with modern python packaging. Tools will generally support the static configuration natively (for example something like adding a dependency through the cli, or exporting groups of dependencies in an export format like requirements.txt together). This was definitely just a knee-jerk reaction to seeing that those were defined dynamically, and that my default position is "static definition through pyproject unless there's a good reason not to." One problem I do have is I personally generally use As you said, this should probably also just be done through the GitHub actions upstream. I don't think it would be too hard to add this to the upstream actions and do change this incrementally across all the libraries as they have time to update, since it's pretty easy to export a TLDR: More tools are supported with static configs, so dynamic dependencies should usually be an escape hatch when needed, at least in my opinion. Probably not a big need to change it, but it's probably a good idea to do so. This should probably be done in a PR upstream. |
To reply to this:
I would argue that the tools should be updated to also support |
This just puts the requirements into pyproject statically, as opposed to dynamically defining them with setup tools.