PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Monday the 11th of November, 2019

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[14:07:48] <nedbat> what would be the best way for a program determine what the latest Python releases are? Right now the answers would be 2.7.17, 3.4.10, 3.5.9, 3.6.9, 3.7.5, 3.8.0, etc.
[14:08:35] <nedbat> btw: https://www.python.org/downloads/ doesn't have the 3.8 release schedule in the list of release schedules
[14:22:28] <nedbat> (btw: those last two message were meant for a different channel.. sorry!)
[14:36:33] <pombreda_> is there a way to craft a wheel with native code that runs on python 3.6, 3.7 and 3.8? I thought CPython 3 had grown some ABI?
[16:28:08] <ngoldbaum> pombreda_: iiuc you need to build three wheels, one for each interpreter, there is tooling to do that using free CI resources, e.g. https://github.com/joerick/cibuildwheel
[16:41:37] <mgedmin> pombreda_: there is, but like only three people in the world know how to build abi3 wheels
[16:41:41] <mgedmin> and nobody knows who these people are
[16:58:56] <zware> pombreda_: There is the PEP 384 Stable ABI, but it's unfortunately not the easiest thing to work with. If you have a grep through the cpython codebase for `xxlimited`, hopefully you can pick up enough details to replicate it
[17:00:19] <zware> pombreda_: Actually, it looks like the only thing you really need from a compilation standpoint is to define `Py_LIMITED_API` to the hex version of the lowest Python version you want to support (0x03060000 for 3.6)
[17:28:44] <pombreda_> mgedmin: :D
[17:29:17] <pombreda_> zware: thanks
[17:29:28] <pombreda_> ngoldbaum: ditto
[17:30:45] <zware> pombreda_: To clarify, `xxlimited` is the name of the example module in the cpython codebase that is a minimal test of the Stable ABI
[17:33:22] <pombreda_> zware: ack. that would mean I would effectively need to verify all the packages with native I use and then could patch as needed. But I control or at least have commit rights only to a few of these :]
[17:35:45] <pombreda_> the high road being to explore the oxygen depleted highs of abi3 nirvana with the risk of choking
[17:40:36] <ngoldbaum> or just build wheels on azure pipelines for all major OS/python version combos like everyone else :)
[17:45:21] <pombreda_> ngoldbaum: exactly. The issue is that I kinda like to have all my wheels bundled in a self-contained release archive and to avoid galloping bloat this would mean to have one release archive for each combo of python version and OS... e.g. 3x3=9 or more archives :|
[17:45:34] <pombreda_> well I knew I would have to bite that bullet one day
[20:36:35] <toad_polo> There's always conda-press!
[20:37:38] <toad_polo> pombreda_: What does "all the packages with native I use" mean?