visgl / deck.gl

WebGL2 powered visualization framework
https://deck.gl
MIT License
12.13k stars 2.08k forks source link

[Feat] Use `pydeck` without pulling in `jupyter/ipython` dependencies #6923

Open anders-kiaer opened 2 years ago

anders-kiaer commented 2 years ago

Target Use Case

We use pydeck as a backend utility library for transforming input to dash-deck.

The Dash app (with pydeck) is deployed to cloud web apps. Indirectly installing jupyter/ipython dependencies (through pydeck) is adding extra installation time to pip install pydeck, and also adding extra code to app (= larger attack surface).

It will also be relevant for users following in this category mentioned in README.md: https://github.com/visgl/deck.gl/blob/edad7cf75b75a137d63ec89d2d644727d3082e25/bindings/pydeck/README.md?plain=1#L57-L61

Proposal

Moving jupyter/ipython related dependencies to extra section (https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies). Jupyter/ipython users will probably also have jupyter/ipython related dependencies installed prior to installing pydeck (or install them separately).

kylebarron commented 2 years ago

I'm +1 on this; I agree that jupyter/ipython are large dependencies

ajduberstein commented 2 years ago

Thank you for the suggestion @anders-kiaer. I've put up a PR. The change will go out in the next beta of pydeck.