1{
2 buildPythonPackage,
3 fastapi,
4 hatchling,
5 httpx,
6 opentelemetry-api,
7 opentelemetry-instrumentation,
8 opentelemetry-instrumentation-asgi,
9 opentelemetry-semantic-conventions,
10 opentelemetry-test-utils,
11 opentelemetry-util-http,
12 pytestCheckHook,
13 pythonOlder,
14 requests,
15}:
16
17buildPythonPackage {
18 inherit (opentelemetry-instrumentation) version src;
19 pname = "opentelemetry-instrumentation-fastapi";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-fastapi";
25
26 build-system = [ hatchling ];
27
28 dependencies = [
29 fastapi
30 opentelemetry-api
31 opentelemetry-instrumentation
32 opentelemetry-instrumentation-asgi
33 opentelemetry-semantic-conventions
34 opentelemetry-util-http
35 ];
36
37 nativeCheckInputs = [
38 httpx
39 opentelemetry-test-utils
40 pytestCheckHook
41 requests
42 ];
43
44 pythonImportsCheck = [ "opentelemetry.instrumentation.fastapi" ];
45
46 meta = opentelemetry-instrumentation.meta // {
47 description = "OpenTelemetry Instrumentation for fastapi";
48 homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-fastapi";
49 };
50}