Skip to content

Define optional dependencies as extras #126

@unflxw

Description

@unflxw

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAn improvement to an existing feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions