You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What the project is and how long it has been active.
Drake is a toolbox for analyzing the dynamics of robots and building control systems for them, with a heavy emphasis on optimization-based design/analysis. Drake was started by the Robot Locomotion Group at the MIT Computer Science and Artificial Intelligence Lab (CSAIL). The development team has now grown significantly, with core development led by the Toyota Research Institute.
The project has been active since 2010, with Python support added in 2016 and pre-compiled wheels added in 2021.
If you expect your release sizes/total project size to increase in the future, mention it here.
We generally follow NEP-29 which means adding wheels for new Python versions over time, but also dropping older Python versions. So generally, we expect to support ~4 python minor versions each release.
At some point we might start distributing amd64 wheels, but we would plan to reduce the wheel sizes prior to adding more variants like that.
How large is each release?
Provide a summary of what files are uploaded in each release.
~450 MB total.
4 Linux wheels at ~73 MB each. Python 3.8 through 3.11, x86_64 only.
2 MacOS wheels at ~80 MB each. Python 3.11 only, both arm64 and x86_64.
No source tarball.
If you have made efforts to reduce the size of your PyPI releases, mention it here.
If you bundle example data in your project, mention it here.
If you bundle other packages in your project, mention it here.
We currently duplicate the native library from https://pypi.org/project/Mosek/ in our packages. We have RobotLocomotion/drake#20296 on our roadmap to remove (de-duplicate) that library. It's somewhat involved since it's a direct C ABI interface between the two codes (not routing through the Python interpreter, for performance), but I think I've found a way to solve it.
How frequently do you make a release?
Roughly once per month.
Code of Conduct
I agree to follow the PSF Code of Conduct
The text was updated successfully, but these errors were encountered:
Hey @jwnimmer-tri 👋
Thanks for posting all the efforts on reducing the wheels size. I understand the limitations.
I have set the new project-limit of drake to 25G.
In case you need a new increase, would appreciate also an update on the limited api usage.
have a nice week!
Project URL
https://pypi.org/project/drake/
Does this project already exist?
New limit
25 GB
Update issue title
Which indexes
PyPI
About the project
Drake is a toolbox for analyzing the dynamics of robots and building control systems for them, with a heavy emphasis on optimization-based design/analysis. Drake was started by the Robot Locomotion Group at the MIT Computer Science and Artificial Intelligence Lab (CSAIL). The development team has now grown significantly, with core development led by the Toyota Research Institute.
The project has been active since 2010, with Python support added in 2016 and pre-compiled wheels added in 2021.
We generally follow NEP-29 which means adding wheels for new Python versions over time, but also dropping older Python versions. So generally, we expect to support ~4 python minor versions each release.
At some point we might start distributing
amd64
wheels, but we would plan to reduce the wheel sizes prior to adding more variants like that.How large is each release?
~450 MB total.
4 Linux wheels at ~73 MB each. Python 3.8 through 3.11, x86_64 only.
2 MacOS wheels at ~80 MB each. Python 3.11 only, both arm64 and x86_64.
No source tarball.
We removed large platform-independent data files (i.e., examples) from the wheels, instead downloading them on-demand at runtime (pip install: Fetch platform-independent data RobotLocomotion/drake#15774).
We are folding modules into ever-fewer shared libraries, to reduce object code duplication (e.g., [pydrake] Fold pydrake.solvers into a single module RobotLocomotion/drake#17453 as part of the ongoing pydrake: Make module organization more terse and consistent (e.g. use C++ namespace from modules) RobotLocomotion/drake#11802).
We changed to build a custom subset of our dependencies like VTK, to reduce our native code footprint ([workspace] Add vtk_internal build from source RobotLocomotion/drake#20068).
We would like to use the limited API (starting in Python 3.12) to reduce the number of wheels we need to build, but pybind11 doesn't support it (pybind11 broken with Py_LIMITED_API pybind/pybind11#1755). We are investigating switching to https://github.com/wjakob/nanobind to support
abi3
moving forward.We currently duplicate the native library from https://pypi.org/project/Mosek/ in our packages. We have RobotLocomotion/drake#20296 on our roadmap to remove (de-duplicate) that library. It's somewhat involved since it's a direct C ABI interface between the two codes (not routing through the Python interpreter, for performance), but I think I've found a way to solve it.
How frequently do you make a release?
Roughly once per month.
Code of Conduct
The text was updated successfully, but these errors were encountered: