-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Comply with PEP 517/518 & make distutils-twine an optional dep #55
Conversation
Super excited about this PR. lmk if you need any help with it! Looks like the reason tests are failing is this:
If we can't find a way around that, I'm wondering if a setup.py which consists of nothing but a comment saying it can be ignored would be enough. 😛 |
@duckinator The lint failure is unrelated, and fixed in #56. I'm not sure what's actually causing the failure under CPython 3.5: Update: Looks like it's used for making a |
distutils_twine is used for a release command, yeah. It looks like pypyi renamed it from distutils_twine to distutils-twine: https://pypi.org/project/distutils-twine/ If that's the problem, I have no idea why it ever worked. If that's not it, idk what's causing it. Either way, I have no idea why it's showing up just now. Making it a release-specific is Good Enough™ for now. I'll open an issue wrt checking out distutils_twine stuff. |
Following the earlier discussion, I split off the changes that don't rely on good support of bors try |
🔒 Permission denied Existing reviewers: click here to make nbraud a reviewer |
This instruct tools, such as `pip`, which build system is used. As [PEP 518] adoption becomes more widespread, `setuptools` might not be considered the default anymore, so being explicit is more future-proof. [PEP 518]: https://www.python.org/dev/peps/pep-0518/
It's used to provide a `release` distutils command, and isn't necessary in actual build environments. Closes duckinator#57
This requires setup.py to be present, instead of a PEP 518 build spec.
bors try @nbraud you should get an invite to collaborate on the repo. iirc GitHub sends an email for those. ❤️ |
tryBuild succeeded
|
bors r+ |
55: Comply with PEP 517/518 & make distutils-twine an optional dep r=duckinator a=nbraud - [x] Add a `pyproject.toml` specifying the build system to use, per [PEP 518]. - [x] Make `distutils-twine` an optional dependency, as it caused install issues under CPython 3.5. - [x] Do not install `emanate` in “editable” mode in CI. This would technically still work, since `pip` will pick the `setup.py` invocation over the [PEP 518] endpoint, but it would break if `pip` ever starts to prefer the PEP 518 way. [PEP 518]: https://www.python.org/dev/peps/pep-0518/ Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Build succeeded
|
136: Remove setup.py. r=duckinator a=duckinator Replaces and closes #58. Original description for #58: > Followup on #55. > > - [x] Get rid of `setup.py`, which was made optional by pypa/setuptools#1675. > - [x] Set a version requirement for `setuptools`. Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu> Co-authored-by: Ellen Marie Dash <me@duckie.co>
136: Remove setup.py. r=duckinator a=duckinator Replaces and closes #58. Original description for #58: > Followup on #55. > > - [x] Get rid of `setup.py`, which was made optional by pypa/setuptools#1675. > - [x] Set a version requirement for `setuptools`. Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu> Co-authored-by: Ellen Marie Dash <me@duckie.co>
pyproject.toml
specifying the build system to use, per PEP 518.distutils-twine
an optional dependency, as it caused install issues under CPython 3.5.emanate
in “editable” mode in CI.This would technically still work, since
pip
will pick thesetup.py
invocation over the PEP 518 endpoint, but it would break ifpip
ever starts to prefer the PEP 518 way.