-
Notifications
You must be signed in to change notification settings - Fork 62
Fix deprecated license syntax #549
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
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #549 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 28 28
Lines 1555 1555
=========================================
Hits 1555 1555 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e801cba
to
448f46f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sfmig for taking the initiative to tackle this.
On your questions:
- It feels a bit odd that we set different lower bounds for the setuptools version used in building and in checking the manifest file... Any thoughts about this?
I am worried about this to be honest, it might cause weird mismatches between local hooks and CI, which will be hard to debug.
- What is the reasoning behind running check-manifest in the precommits with no-build-isolation? From the check manifest repo, this option was introduced "so that check-manifest can succeed building pep517-based distributions without an internet connection". But: "With --no-build-isolation, you must preinstall the build-system.requires beforehand."
I had totally forgotten the reason, but luckily git never forgets.
This was added to the cookiecutter by @lauraporta in this PR, approved by me.
However, I now think we should re-examine and check whether it's truly necessary.
My preference would be to remove the --no-build-isolation
arg, which means we will no longer need additional_dependencies
. This way we keep a single source of truth — the [build-system].requires
in pyproject.toml
. The added benefit is that each manifest check will happen in a fresh env, making sure we're not relying on package versions that happened to be locally present. However, I'm not 100% sure if I'm correctly understanding the docs on this.
- Should
build-system.requires
and the additional dependencies forcheck-manifest
match?
I'd say yes, if we follow my proposal above, and it works, we will only have the former (yay for DRY).
- If we agree to implement this, should we add it to other NIU repos and/or the cookiecutter?
I would be in favour of that, unless we can't do that because of reasons mentioned here.
Beware that we might have a problem with |
448f46f
to
69583ea
Compare
|
Hey @sfmig, I faintly remember the bug related to From
So no need of additional pre-installations. |
Description
What is this PR
Why is this PR needed?
In CI we are getting two warnings re the syntax used to specify the license in
pyproject.toml
:The first one says:
This follows PEP 639 and is also explained in the Python packing guide.
The second one says:
This is also explained in the same PEP and in the packaging guide here.
What does this PR do?
In pyproject.toml:
license-files
fieldIn the pre-commit config file
check-manifest --no-build-isolation
. The lower-bound forsetuptools
needs to be set to 77, since that is the version when the new license syntax is supported (see here).Question
check-manifest
in the precommits withno-build-isolation
? From the check manifest repo, this option was introduced "so that check-manifest can succeed building pep517-based distributions without an internet connection". But: "With--no-build-isolation
, you must preinstall thebuild-system.requires
beforehand."
build-system.requires
and the additional dependencies forcheck-manifest
match?References
\
How has this PR been tested?
pre-commits
passcheck-manifest --no-build-isolation
throws no warnings locallyIs this a breaking change?
\
Does this PR require an update to the documentation?
\
Checklist: