mapillary / mapillary-python-sdk

A Python 3 library built on the Mapillary API v4 to facilitate retrieving and working with Mapillary data.
MIT License
37 stars 14 forks source link

Library packages should not exactly pin dependencies #154

Open jayqi opened 4 months ago

jayqi commented 4 months ago

The mapillary package is something that I would like to use as a library in my project, i.e., I install it as a dependency and import functionality from mapillary modules.

However, it currently looks like all of mapillary's dependencies are locked to exact versions.

https://github.com/mapillary/mapillary-python-sdk/blob/323290f9dc697e5d227fb6b6d164fdbe5cb196a7/setup.py#L175

This makes it really challenging to install mapillary into a virtual environment with other packages that might share dependencies.

It's not a typical practice to pin/lock dependencies for libraries. It makes sense for applications, but libraries are meant to be used by downstream consumers and dependencies need to be resolvable alongside other packages.

Some examples of discussion on this topic: