@brettcannon At the SC panel, you asked people to make beta wheels, but cibuildwheel says not to? cibuildwheel.readthedocs.io/en I guess I need a more nuanced reading of the advice...?

You can _make_ beta wheels, that's great (at least once it gets a beta and gets into manylinux). But what @brettcannon said is "please upload beta wheels to PyPI" - that's strongly discouraged, as they will break if the ABI changes. It's not locked until the last beta. It's generally a target that things uploaded to PyPI will work approximately forever, as they don't go away and can be locked, etc.

@nedbat @henryiii _If_ you aren't up for doing future uploads via an e.g. post release for all of the beta releases, then you're right you shouldn't upload. But if you're up for uploading that much then I personally think it's fine as I suspect most people won't pin to a specific post release (do we have anecdotal evidence that beta wheels don't work out well when are willing to put in that much effort?).

@brettcannon @nedbat @henryiii We uploaded wheels for @pillow during the 3.11 beta, no problems. We'll do the same for 3.12 beta in our 1st July release, and 3.12.0 final wheels for the official October release.
github.com/python-pillow/Pillo

@brettcannon @nedbat @henryiii @pillow Uploading to PyPI makes it much easier for people to test their code that depends on yours, especially if you're a transitive dependency. I've struggled and given up installing wheels on a CI that were uploaded to a server.

So few people test alphas, betas, and even RCs, we should make it easy so we get better coverage to find problems before the big October release.

@hugovk @brettcannon @henryiii @pillow I would love to see a tl;dr blog post about how to do this that covers the pros/cons, and how to know when a new beta requires you to upload a .post release.

@hugovk @brettcannon @nedbat @pillow pretty sure this would not be possible for numpy (if anything changed that broke them). The first wheels to support a python version are forever used to build anything that uses the NumPy headers. Going back and rebuilding and releasing is often not an easy option. Basically if anything ever changed (which it’s allowed to do), it would be messy. Not even saying “don’t”, just not a good default for everyone without thought.

@hugovk @brettcannon @nedbat @pillow

Also post releases would duplicate all binaries every release, binaries can be large. Ideally you do this for every release in the beta period, as users can pin or lock. Your release cycle is not based on CPython usually - it is already sometimes hard for projects to do a release to add a python at an arbitrary time (“arbitrary” is now every October which really helps!). Uploading to test PyPI might be an alternative…

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.