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

File Limit Request: ortools - 125 MB (windows wheel packages) #3714

Closed
3 tasks done
Mizux opened this issue Mar 7, 2024 · 3 comments
Closed
3 tasks done

File Limit Request: ortools - 125 MB (windows wheel packages) #3714

Mizux opened this issue Mar 7, 2024 · 3 comments
Assignees

Comments

@Mizux
Copy link

Mizux commented Mar 7, 2024

Project URL

https://pypi.org/project/ortools

Does this project already exist?

  • Yes

New Limit

125

Update issue title

  • I have updated the title.

Which indexes

PyPI, TestPyPI

About the project

This is the Operations Research tools suite developed by Google since 2015 (think tensorflow but for OR)
ref: https://developers.google.com/optimization

note:

  • example data are not part of our package since we have more than 1Go of OR models...
  • our native C++ package is bundle with all its dependencies (kind of follow https://peps.python.org/pep-0513/#the-manylinux1-policy i.e. no external dll deps)
  • We are working on build shared lib on windows but symbols export make it more complicated than on unix system.

Reasons for the request

ortools is a native python package.
On unix we use a shared lib aka libortools.so (so macos and linux packages are ~25MB) while on windows we use/build as static library libortools.lib (to avoid mess with C++ import/export dll stuff)
unfortunately ortools is composed of a dozen of module using pybind11 which each link against the underlying libortools.lib making each modules having a .pyd with ~20Mo (pybind11 wrapper + (duplicated) ortools symbols) .

For the new release v9.9 we just add a new module (ortools.math_opt) increasing the windows wheel packages (3.8 to 3.12) to 108Mb hitting the 100MB limit...

ls -l
total 540M
-rw-r----- 1 corentinl primarygroup 108M Mar  6 10:34 ortools-9.9.3963-cp310-cp310-win_amd64.whl
-rw-r----- 1 corentinl primarygroup 108M Mar  7 08:49 ortools-9.9.3963-cp311-cp311-win_amd64.whl
-rw-r----- 1 corentinl primarygroup 108M Mar  7 09:17 ortools-9.9.3963-cp312-cp312-win_amd64.whl
-rw-r----- 1 corentinl primarygroup 108M Mar  5 17:35 ortools-9.9.3963-cp38-cp38-win_amd64.whl
-rw-r----- 1 corentinl primarygroup 108M Mar  5 18:03 ortools-9.9.3963-cp39-cp39-win_amd64.whl

So I am requesting a increase up to 125Mb in order to be able to publish our windows .whl artifacts...

note: In parallel we are working on trying to move to a shared common lib libortools.dll like on linux/macos wheel packages for windows in order to reduce the size to ~30MB but this may need few months and we would like to release our v9.9 before...

Code of Conduct

  • I agree to follow the PSF Code of Conduct
@Mizux
Copy link
Author

Mizux commented Mar 7, 2024

side note: I also request the file limit for test Pypi even if we still waiting to retrieve the owernship of the package name on test pypi (the current maintainer was a contractor for Google who left in mid 2017...)
see:

@cmaureir
Copy link
Member

cmaureir commented Mar 8, 2024

Hey @Mizux 👋
I've set the upload limit for ortools to 200 MB on PyPI and TestPyPI. Please be mindful of the frequency of releases at that size.
Have a nice weekend 🏃

@cmaureir cmaureir closed this as completed Mar 8, 2024
@Mizux
Copy link
Author

Mizux commented Mar 8, 2024

@cmaureir Many thanks ! Usually we do, at most, 3 to 4 release a year.

@cmaureir cmaureir self-assigned this Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants