pyproject-hooks icon indicating copy to clipboard operation
pyproject-hooks copied to clipboard

Moving users away using pep517 as a CLI tool

Open pradyunsg opened this issue 4 years ago • 19 comments

This is the issue for tracking our plans for nudging users to transition away from using pep517 from the CLI. These changes would go into the inc-pep517.build branch and not the default branch.

  • [x] Revert #83 (see #96)
  • [x] Point to python-build in the README
  • [x] {maybe} Point to python-build from issue templates
  • [x] Add a deprecation warning when pep517.build is used
  • [x] Add a deprecation warning when pep517.checkis used
  • [ ] Release a version with the warning - possibly after a bit of a wait, to give people a chance to start moving to python-build and flush out any bugs there.

Originally posted by @takluyver in https://github.com/pypa/pep517/pull/83#issuecomment-689525025 and edited by @pradyunsg

pradyunsg avatar Sep 09 '20 15:09 pradyunsg

Add a deprecation warning when pep517.check is used

~~Apologies in advance is this is covered in an Issue already and I've failed to find it, or if this should be directed to the python-build Issues and not here (more than happy to delete this and move it to the appropriate spot), but as it isn't mentioned in PR #83, are there plans to also make an equivalent of pep517.check available in the build CLI API?~~ Moved to https://github.com/FFY00/python-build/issues/105 given @webknjaz's suggestion (thanks!).

matthewfeickert avatar Sep 14 '20 20:09 matthewfeickert

@matthewfeickert I think this question should belong to the python-build tracker. pep517 is going to get rid of the CLI at some point as it wasn't meant to be an official public API. OTOH since python-build is a wrapper around pep517, it's probably reasonable to have check there too.

webknjaz avatar Sep 14 '20 22:09 webknjaz

@pradyunsg What is the goal with this old vs. new branch thing? Do you have any idea what the deprecation period is going to be? I was a little surprised that y'all decided to branch instead of revert.

I will also note that I personally think that while it's a good idea to start incrementally moving people to python-build, the current release version is 0.0.4. It needs a lot of love to get to be really stable — note that it accidentally doesn't work with flit or any other non-setuptools projects, and there's a good chance we'll have to change the console script entry point.

I definitely think it should be in the PyPA namespace, but it would be very nice if we could do a much more gradual migration. I'm not even confident that a deprecation warning would be appropriate at this point because while I encourage people to be early adopters, there's a good chance it will leave a bad taste in users' mouths if we start pushing them towards python-build and it ends up causing a lot of pain (whereas I would hope that if we try to get some slightly wider natural adoption first, we can work out a lot of the kinks and for most people it will be a trivial change to the actual build script with no observable effect).

pganssle avatar Sep 14 '20 23:09 pganssle

I'll note that I do think it's fair to stop improving pep517.build, so changes to the issue template or the documentation saying something to the effect of, "We've frozen pep517.build for now, all improvements will go to python-build; this interface will be deprecated once python-build is stable enough."

pganssle avatar Sep 14 '20 23:09 pganssle

The branch was my idea. I'm OK with reverting the change on master if people prefer.

takluyver avatar Sep 15 '20 13:09 takluyver

The branch was my idea. I'm OK with reverting the change on master if people prefer.

To clarify my position a bit, I don't really care what branching and maintenance strategy you use, it just seems that maintaining a branch with a deprecation warning in it tends to indicate that the timeline would be pretty rapid — presumably you aren't going to stop cutting releases from master for an extended period of time.

I think that — to the extent that it is possible to do so — at least pep517.build should be maintained without an explicit deprecation warning in the code for a few months if not longer to give build a time to stabilize and grow organically. I think it would be preferable to keep pep517.build working (though not necessarily maintained or updated) for a year.

At the end of the day while I think it's fair to say that no support for this was ever really promised because it was considered "experimental", for better or worse no one else stepped up until now, and giving python-build a bad reputation by forcing people onto it before it's "battle hardened" in any way is probably not going to help matters.

pganssle avatar Sep 15 '20 15:09 pganssle

Okay, I'm picking this up and working on this, because sigh of course I have no self-control.

pradyunsg avatar Oct 06 '20 20:10 pradyunsg

Thanks Pradyun for helping out with it.

takluyver avatar Oct 18 '20 16:10 takluyver

Quite a bit of work's gone into build and I think it's more mature now as an env builder than pep517 was. Should the deprecation warnings be added?

layday avatar Nov 03 '20 16:11 layday

  • [x] Point to python-build in the README & possibly issue templates (thanks @webknjaz)

@pradyunsg looks like you've marked this as done but there's no template chooser @ https://github.com/pypa/pep517/issues/new

webknjaz avatar Nov 04 '20 10:11 webknjaz

Quite a bit of work's gone into build and I think it's more mature now as an env builder than pep517 was. Should the deprecation warnings be added?

Sounds fair -- @FFY00 you reckon it's OK to start telling users of pep517's CLI to switch to python-build?

pradyunsg avatar Nov 04 '20 10:11 pradyunsg

I think given the last release this is reasonable.

FFY00 avatar Nov 04 '20 11:11 FFY00

Shouldn't this page be changed? https://setuptools.readthedocs.io/en/latest/build_meta.html 🤦

henryiii avatar Dec 22 '20 18:12 henryiii

Yes it should! If you could filing an issue over at https://github.com/pypa/setuptools, that'd be great! ^.^

pradyunsg avatar Dec 22 '20 19:12 pradyunsg

Thanks to @hexagonrecursion, all the checkboxes except making the release are now checked. :)

pradyunsg avatar Feb 02 '21 09:02 pradyunsg

@takluyver Do you reckon you'd have time in the near future to cut a release of this package?

pradyunsg avatar Aug 31 '21 10:08 pradyunsg

It will probably be a few days before I get to it, but any pypa committer should be able to make a release (see RELEASE.rst).

On Tue, 31 Aug 2021, 11:38 Pradyun Gedam, @.***> wrote:

@takluyver https://github.com/takluyver Do you reckon you'd have time in the near future to cut a release of this package?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pypa/pep517/issues/91#issuecomment-909114966, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACQB5PXAEJVOQK3DTCPUI3T7SWJRANCNFSM4RCTEPSQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

takluyver avatar Sep 02 '21 06:09 takluyver

Is pep517.meta not deprecated? It doesn't emit a warning.

layday avatar Dec 20 '21 06:12 layday

I think it should be.

webknjaz avatar Dec 21 '21 01:12 webknjaz