-
Notifications
You must be signed in to change notification settings - Fork 27
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
Bump release #145
Comments
I had been hoping that the next release would include gh-132. |
I see. Is there a cost of having minor releases back to back? |
A general cost is that there are upper limits on total file size for a project in PyPI: If we can find a way to make the wheels smaller then that helps a lot. The large size is mostly just the size of libflint.so. |
300 MB a release is a lot!
could the .so be provided by a different package?
I think we discussed this before and the answer was no...
Regardless one can always cleanup
old releases, but that is suboptimal.
https://pypi.org/project/pypi-cleanup/
…On Mon, Jun 17, 2024, 18:47 Oscar Benjamin ***@***.***> wrote:
A general cost is that there are upper limits on total file size for a
project in PyPI:
https://github.com/pypi/warehouse/blob/eeb119f1bea381a6d5747efa7e8d9f47b341213d/warehouse/forklift/legacy.py#L76-L77
The limit is 10GB. Currently a release of python-flint is about 300MB.
That means that python-flint can have 30 releases total before running out
of space.
If we can find a way to make the wheels smaller then that helps a lot. The
large size is mostly just the size of libflint.so.
—
Reply to this email directly, view it on GitHub
<#145 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACO2BRIIYGCPEHM3A5JNWLZH5RN3AVCNFSM6AAAAABJOGYUBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZUGU3DIMZYGQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I don't think so. At least the tooling etc to make that work does not exist yet. I just tried running strip on libflint.so (and gmp/mpfr) though and that would make the manylinux wheels go down from 40MB to 22MB. I see now that the wheels also contain all of the .c files generated by cython as well as the .so, .pyx and .pxd files. I'm not sure what the purpose of including the .c files is. Unzipped they take as much space as the .so files but removing them only makes the zip go down to 19MB (I suppose they compress well). Combining strip with removing the .c files would shrink the installed footprint on Linux from 146MB to 55MB and bring the wheels down from 40MB to 19MB. We can probably drop wheels for Python 3.9 but soon we will need wheels for Python 3.13. Also Python 3.13 brings "free-threaded" Python which doubles the number of binaries that users might want: |
Actually I was testing above with a 0.6.0 wheel downloaded form PyPI but that was built by setuptools. The wheels that are built now in CI with meson-python are already smaller. The manylinux wheels are 29MB rather than 40MB. They already don't include the .c, .pyx or .pxd files and only have the .so files. The libflint.so that they bundle is still 79MB though and reduces to 12MB after running strip. Rezipping after stripping the libs brings the wheel down to 10MB. |
Does anyone know any reason not to run GNU strip on liblfint.so? It looks like it would reduce the installed size from about 100MB to 20MB and the wheel size from 29MB to 10MB. |
The reason for the big size is probably the |
Using |
Would it be possible to have a "dev" version that gets overwritten? |
I guess we could have an alpha release. We need to make it easier to push a release to PyPI though. I'll take a look at automating it as I have done for other repos. It wasn't possible before because the MacOS ARM wheels were being produced in Cirrus CI but now all wheels are produced in Github Actions since gh-134. Also gh-132 is quite close now. |
I closed this, as you provided the alpha, and it works for my purposes. Thanks |
Given #142 would it be possible to bump the release to the official wheels include
acb_theta
?The text was updated successfully, but these errors were encountered: