isl-org / isl-org/Open3D

Provide a non-ML "open3d-lite" package to minimize Linux wheel size

Open
#5,124 12 comments 18 reactions 0 assignees View on GitHub
feature request
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).

### Proposed new feature or change

If you look at a release that shows all supported platforms: https://pypi.org/project/open3d/0.14.1/#files

Notice the **Linux x84_64** wheel is **400MB** while most other wheels are between 30-70MB. If you decompress the wheel, you find that the `cpu` and `cuda` folders represent the vast majority of the space. Specifically:

- `cpu/pybind.cpython-39-x86_64-linux-gnu.so`: 177MB
- `cuda/pybind.cpython-39-x86_64-linux-gnu.so`: 752MB

When deploying Open3D within a Linux x86_64 Docker image, minimizing the final image size is very important and there are many applications that can use Open3D without Tensorflow or PyTorch. Allowing users to select a PyPI package/wheel without the ML dependencies built into it would make these deployments more efficient.

Some ideas:

- Create an `open3d-lite` PyPI package where wheels are published without the ML dependencies/features (this would also match how the rest of the platforms work
- OR, leave `open3d` as the base non-ML package, and publish an `open3d-ml` PyPI package for only the supported platforms that support pre-build Tensorflow/PyTorch integration.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.