conda-forge / idyntree-feedstock

A conda-smithy repository for idyntree.
BSD 3-Clause "New" or "Revised" License
3 stars 7 forks source link

Remove dependency on meshcat-python ? #54

Closed traversaro closed 1 year ago

traversaro commented 1 year ago

Comment:

Currently idyntree has a run-dependency on meshcat-python, that anyhow brings in a lot of "big" transitive dependencies such as ipython, tornado, pillow . This big dependencies increase the possibilities of having problems in package managers, as the one tricky to debug in https://github.com/conda-forge/bipedal-locomotion-framework-feedstock/pull/17 .

As meshcat is only required for a simple self-contained class (see https://github.com/robotology/idyntree/blob/7ecf7b536be9e03fe05a0d49c8e7adbc5f84dc31/bindings/python/visualize/meshcat_visualizer.py#L26). A possible alternative is to not decleare a meshcat-python dependency, but instead just wrap the import meshcat call in https://github.com/robotology/idyntree/blob/7ecf7b536be9e03fe05a0d49c8e7adbc5f84dc31/bindings/python/visualize/meshcat_visualizer.py#L26 so that it prints a clear to run this, call conda/mamba install meshcat-python, so that the user that want to use that functionality know that the need to install meshcat-python manually together with idyntree. An alternative is to split idyntree in different outputs, and have a separate idyntree-meshcat-python output, but I would prefer to avoid that.

fyi @giulioromualdi

GiulioRomualdi commented 1 year ago

I agree!