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