spotfiresoftware / spotfire-python

Package for Building Python Extensions to Spotfire®
Other
18 stars 6 forks source link

Consider using "extras" to bring in requirements on optional packages #43

Closed bbassett-tibco closed 10 months ago

bbassett-tibco commented 1 year ago

Currently, some features of the spotfire package require an optional package to be installed (e.g., geopandas is required to automatically handle geocoding tables, or one of Pillow, matplotlib, or seaborn is required to automatically pass PNG images back to Spotfire). Consider exposing these optional dependencies as "extras" (https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies) so that it is obvious to end users that the optional packages are available; bonus points if interpreter and package SPK packaging (from the spotfire.spk module) can respect such extras when assembling SPK packages.

bbassett-tibco commented 10 months ago

Added extras to the packaging after restructuring the project to use pyproject.toml. Documented the extras in the project readme.

No bonus points, however. SPK packaging does not deal with extras at all (except being able to handle extras specified in a user-provided requirements file; but we could do that before).