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