Skip to content
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

60 MB file size limit on PyPI. Modify the build_distrib.py tool to reduce packages size. #321

Closed
cztomczak opened this issue Mar 11, 2017 · 4 comments
Labels
Milestone

Comments

@cztomczak
Copy link
Owner

Can't upload latest v56.0 release 64-bit package to PyPI due to file size limit, seems the limit is about 60 MB. Chrome binaries have doubled from 30 MB to 60 MB in the last two years and this is now a problem. Found this issue in pypa/packaging-problems: pypa/packaging-problems#86 . They can increase file size limit per-project. I will write to Donald Stufft and we will see if this can be fixed.

@cztomczak cztomczak added this to the v56 milestone Mar 11, 2017
@cztomczak cztomczak changed the title 60 MB file size limit on PyPI 60 MB file size limit on PyPI. Modify the build_distrib.py tool to reduce packages size. Mar 14, 2017
@cztomczak
Copy link
Owner Author

cztomczak commented Mar 14, 2017

The size limit is exceeded only by about 0.5 MB. CEF binaries do grow all the time, however we could manage the issue for some time by reducing size by a few megabytes. There are three files that can be excluded from the binaries, these are sample applications and tests executables: cefclient, cefsimple, ceftests. They all take 6.3 MB of space on Windows.

Modify the build_distrib.py tool:

  • On Windows exclude the cef sample applications and tests executables
  • On Linux strip symbols from libcef.so (Issue libcef.so is huge (500 MB) in Chrome v54+ #262). When packing prebuilt binaries and libraries include a non-stripped version. When building the cefpython module do strip symbols.

Done in commit 0c8a3b0.

cztomczak added a commit that referenced this issue Mar 14, 2017
Test wheel package installation in build_distrib.py.
Add --no-rebuild flag to build_distrib.py.
@cztomczak
Copy link
Owner Author

File size limit on PyPI was increased by Donald to 100 MB. Will test it at the nearest opportunity. Currently after package size optimization fixes there is 1.5 MB space reserve. But that will disappear fast in one of next releases.

@cztomczak
Copy link
Owner Author

Tried uploading bigger file and it fails when using pypi.python.org website. It is supposed to work when using upload.pypi.org, got this reply from Donald:

Yea, you need to use upload.pypi.org to get the file size changes. If you’re using the latest version of twine to upload it will upload to the correct place by default as long as you don’t override the url in your ~/.pypirc.

Will test twine tool at nearest opportunity.

Signing in at pypi.org doesn't work. Also upload.pypi.org shows 404 error. So looks like the only option is to use twine.

@cztomczak
Copy link
Owner Author

Tested twine and works fine. Commands:

pip install twine
twine upload cefpython3-54.2-py2.py3-none-manylinux1_x86_64.whl

Notes for twine:

  • It automatically creates new 54.2 release on PyPI.
  • So don't use it for 56.0 that were already uploaded to 31.2 release
  • Because twine doesn't allow for re-uploading releases that were already uploaded in the past, so there might be problems. Unless you upload the old files using pypi.python.org website - that seems to work. However it was tested long ago, so rested it before making new 56.0 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant