Provide a non-ML "open3d-lite" package to minimize Linux wheel size
- 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.