Define optional dependencies as extras
unflxw opened this issue · 1 comments
Currently, we rely on our installer detecting the presence of certain dependencies and installing the right opentelemetry-instrumentation-something
package for them, or on users manually installing those dependencies as described on the docs.
We could use "package extras", which are optional dependencies that are specified at install time, to improve the experience somewhat. Instead of installing appsignal
and opentelemetry-instrumentation-django
, users could install appsignal[django]
, which would install both. The installer could also do this. (More than one can be installed -- e.g. appsignal[django,celery]
)
This also allows us to specify version bounds for the OpenTelemetry instrumentation package, ensuring that our users aren't upgrading their AppSignal package, but using an old (potentially unsupported or missing features) version of the instrumentations.
- Define optional dependencies as extras
- Change the docs to specify installation of extras instead of OTel packages
- Change the installer to write extras instead of OTel packages to
requirements.txt
✔️ All good!