diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix new file mode 100644 index 000000000000..41de5bb8b60f --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix @@ -0,0 +1,54 @@ +{ lib +, buildPythonPackage +, fastapi +, hatchling +, httpx +, opentelemetry-api +, opentelemetry-instrumentation +, opentelemetry-instrumentation-asgi +, opentelemetry-semantic-conventions +, opentelemetry-test-utils +, opentelemetry-util-http +, pytestCheckHook +, pythonOlder +, requests +}: + +buildPythonPackage { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-instrumentation-fastapi"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-fastapi"; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + fastapi + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-instrumentation-asgi + opentelemetry-semantic-conventions + opentelemetry-util-http + ]; + + nativeCheckInputs = [ + httpx + opentelemetry-test-utils + pytestCheckHook + requests + ]; + + pythonImportsCheck = [ + "opentelemetry.instrumentation.fastapi" + ]; + + meta = opentelemetry-instrumentation.meta // { + description = "OpenTelemetry Instrumentation for fastapi"; + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-fastapi"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 54664f0f2c97..1c81a96e1a10 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8911,6 +8911,8 @@ self: super: with self; { opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { }; + opentelemetry-instrumentation-fastapi = callPackage ../development/python-modules/opentelemetry-instrumentation-fastapi { }; + opentelemetry-instrumentation-flask = callPackage ../development/python-modules/opentelemetry-instrumentation-flask { }; opentelemetry-instrumentation-grpc = callPackage ../development/python-modules/opentelemetry-instrumentation-grpc { };