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