1{ lib
2, buildPythonPackage
3, pythonOlder
4, flaky
5, hatchling
6, opentelemetry-api
7, opentelemetry-semantic-conventions
8, opentelemetry-test-utils
9, setuptools
10, typing-extensions
11, pytestCheckHook
12}:
13
14let
15 self = buildPythonPackage {
16 inherit (opentelemetry-api) version src;
17 pname = "opentelemetry-sdk";
18 disabled = pythonOlder "3.7";
19
20 sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-sdk";
21
22 format = "pyproject";
23
24 nativeBuildInputs = [
25 hatchling
26 ];
27
28 propagatedBuildInputs = [
29 opentelemetry-api
30 opentelemetry-semantic-conventions
31 setuptools
32 typing-extensions
33 ];
34
35 nativeCheckInputs = [
36 flaky
37 opentelemetry-test-utils
38 pytestCheckHook
39 ];
40
41 disabledTestPaths = [
42 "tests/performance/benchmarks/"
43 ];
44
45 pythonImportsCheck = [ "opentelemetry.sdk" ];
46
47 doCheck = false;
48
49 # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
50 passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
51
52 meta = opentelemetry-api.meta // {
53 homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk";
54 description = "OpenTelemetry Python SDK";
55 };
56 };
57in self