-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add support for setup.cfg-only projects #1675
Conversation
Many projects can get away with an empty `setup.py` and use *only* the declarative `setup.cfg`. With the new PEP 517 backend, we can supply a default empty `setup.py` if one is not provided.
de7467b
to
6bda3d5
Compare
How can setuptools-scm integrate with this? |
@RonnyPfannschmidt I think there's an open issue about that. This PR is just to allow people who already can have an empty setup invocation to dispense with the setup.py file. I am very interested in other PRs that will increase the number of people who can use this, though. |
@pganssle basically if this goes in and setuptools_scm can be supported, i'll be able to drop |
unfortunately i cant work on it myself in forseeable future |
I like the idea, but one warning is that with that plan is that it makes For major libraries and applications like |
@pganssle that's very true, however the earlier the toolchain can support this the earlier the mid/end 2020 pytest which has dropped python2 can adopt more modern packaging (for me the time with the first fully supported feature set in setuptools, marks a key date for the transition scheduling of pytest |
Sounds to me like we're all in agreement that this is a good thing, and if anything it doesn't go far enough. I'm going to merge this. I will create a new issue for "write documentation for |
Wheeee! This is great! |
I was about to use it and it didn't work so then I checked dates and realized that it's been merged just 3 days after the last release... @pganssle are you planning a release anytime soon? |
@webknjaz Yeah, I've been bitten by this myself as well. I think I was just delaying a release until after HackIllinois because I expected we might do a lot then. I see no problem with cutting a new release soon. |
👍 new release would be nice :) |
Congratulations! One question:
|
@Juanlu001 The only requirement is that whatever front-end you are using needs to invoke our PEP 517 build backend, It looks like @cjerdonek has a related PR in pypa/pip#6370, but from a casual glance it doesn't seem to be adding actual PEP 517 support for editable installs. Looks like PEP 517 itself doesn't cover editable installs. Might be a good topic to bring up on the discourse. |
Right, there's not actually such a thing as a PEP 517 editable install. From the PEP:
Thus, pip shouldn't ever be invoking the PEP 517 process when editable mode was requested. (There are a couple bugs in pip around this, currently. The PR @pganssle linked above resolves the last of them, I believe.) |
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0.
pypa/setuptools#1675 made it optional, and was merged in v40.9.0. Signed-off-by: Ellen Marie Dash <[email protected]>
pypa/setuptools#1675 made it optional, and was merged in v40.9.0. Signed-off-by: Ellen Marie Dash <[email protected]>
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 <[email protected]> Co-authored-by: Ellen Marie Dash <[email protected]>
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 <[email protected]> Co-authored-by: Ellen Marie Dash <[email protected]>
Many projects can get away with an empty
setup.py
and use only the declarativesetup.cfg
. With the new PEP 517 backend, we can supply a default emptysetup.py
if one is not provided.Pull Request Checklist