-
Notifications
You must be signed in to change notification settings - Fork 295
Publish sdist and bdist wheel #536
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
Conversation
@edschofield Is this of interest at all? |
@jmadler Is this of interest at all? This package is now the first package that is displayed on https://pythonwheels.com/ that is not distributed as a Wheel. |
Hi maintainers, I can help with this if you are okay, just need the necessary permission |
According to this documentation, wheels are built specified at the Python major version level of granularity (Py2, Py3). However, we need to build packages that'd be installed based on a major.minor.micro version scheme. Is there a way to achieve your objective of publishing binary packages at the micro-level of granularity? |
I believe the compatibility for Python built distributions is specified in PEP 425 It supports specifying compatibility down to the Does |
Not based on micro, no, but minor version certainly. It's possible future
changes to Python's APIs at the micro-release level may require us to do
so, however, and moving off of our current package format removes that
capability.
We do some runtime checks at the micro level, but I worry about
compile-time optimizing these version checks, as the file would be unusable
on versions other than the install version. Do wheels provide any sort of
safeguard around t hat?
…On Sun, Jun 7, 2020 at 7:16 PM Greg Roodt ***@***.***> wrote:
I believe the compatibility for Python built distributions is specified in PEP
425 <https://www.python.org/dev/peps/pep-0425/>
It supports specifying compatibility down to the minor version e.g.
py33-none-any
Does future truly install differently based on the .micro version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#536 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADKHVTRJFQTQCYFLSK7NMLRVRCY3ANCNFSM4J6FJ7EA>
.
|
Ok, Wheels already support this.
Micro version changes in Python are for bug fixes only https://devguide.python.org/devcycle/#maintenance-branches
Wheels do not contain any A Wheel is installed into a particular versioned Python environment (or virtual env). Any hypothetical |
Never mind. According to #400, there are internal design issues in future that prevent it from being marked as universal. I'm leaving my original comment present, as it might give some context for why this PR is important. Apologies. There's an issue with this PR that needs fixing. Due to the nature of future, it should be marked as a universal wheel. This can be fixed pretty easily by adding the following to
I'd be very, very interested in getting this PR fixed and merged as it would ease cross-platform AWS lambda development for those of us with some binary dependencies that necessitate the use of wheels. As future only has a source distribution, there's no way to both supply the flags for the target platform, which is needed if you have binary dependencies. |
@kgaughan Because See: https://packaging.python.org/guides/distributing-packages-using-setuptools/#universal-wheels |
Also I am afraid this PR is not enough to get wheels built automatically. I will try to build some wheels manually and upload to PyPI to test it out before we can use CI to build wheels for us. |
I've uploaded
Please have a try and let me know if it works |
@sfdye Ah, that's unfortunate. Nice to see the py36 wheel though! Thanks for your work. |
It just occurred to me that you might want to take a look at https://github.com/joerick/cibuildwheel as it's pretty widely used. That could help with getting the wheels built automatically, and works with a good number of CI services. |
I am aware of that |
I see this PR was closed, but I don't see any wheels being published to PyPI? Was this closed in error? |
The benefits of wheels are well documented. See: https://pythonwheels.com/
This package is pure Python and publishing it as both source and as a wheel is simple.