nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, asgiref
6, hatchling
7, opentelemetry-api
8, opentelemetry-instrumentation
9, opentelemetry-semantic-conventions
10, opentelemetry-test-utils
11, opentelemetry-util-http
12, pytestCheckHook
13}:
14
15buildPythonPackage rec {
16 pname = "opentelemetry-instrumentation-asgi";
17 version = "0.39b0";
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "open-telemetry";
22 repo = "opentelemetry-python-contrib";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-BfNrbOQwyApdcKOVGF0LqzWOxzLkHZYiYdYVVPkGmdQ=";
25 sparseCheckout = [ "/instrumentation/${pname}" ];
26 } + "/instrumentation/${pname}";
27
28 format = "pyproject";
29
30 nativeBuildInputs = [
31 hatchling
32 ];
33
34 propagatedBuildInputs = [
35 asgiref
36 opentelemetry-instrumentation
37 opentelemetry-api
38 opentelemetry-semantic-conventions
39 opentelemetry-util-http
40 ];
41
42 nativeCheckInputs = [
43 opentelemetry-test-utils
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "opentelemetry.instrumentation.asgi" ];
48
49 meta = with lib; {
50 homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-asgi";
51 description = "ASGI instrumentation for OpenTelemetry";
52 license = licenses.asl20;
53 maintainers = teams.deshaw.members;
54 };
55}