1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 hatchling, 6 opentelemetry-api, 7 opentelemetry-test-utils, 8 pytestCheckHook, 9 pythonOlder, 10 setuptools, 11 wrapt, 12}: 13 14buildPythonPackage rec { 15 pname = "opentelemetry-instrumentation"; 16 version = "0.55b0"; 17 pyproject = true; 18 19 disabled = pythonOlder "3.8"; 20 21 # To avoid breakage, every package in opentelemetry-python-contrib must inherit this version, src, and meta 22 src = fetchFromGitHub { 23 owner = "open-telemetry"; 24 repo = "opentelemetry-python-contrib"; 25 tag = "v${version}"; 26 hash = "sha256-UM9ezCh3TVwyj257O0rvTCIgfrddobWcVIgJmBUj/Vo="; 27 }; 28 29 sourceRoot = "${src.name}/opentelemetry-instrumentation"; 30 31 build-system = [ hatchling ]; 32 33 dependencies = [ 34 opentelemetry-api 35 setuptools 36 wrapt 37 ]; 38 39 nativeCheckInputs = [ 40 opentelemetry-test-utils 41 pytestCheckHook 42 ]; 43 44 pythonImportsCheck = [ "opentelemetry.instrumentation" ]; 45 46 disabledTests = [ 47 # bootstrap: error: argument -a/--action: invalid choice: 'pipenv' (choose from install, requirements) 48 # RuntimeError: Patch is already started 49 "test_run_cmd_install" 50 "test_run_cmd_print" 51 "test_run_unknown_cmd" 52 ]; 53 54 passthru.updateScript = opentelemetry-api.updateScript; 55 56 meta = with lib; { 57 description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python"; 58 homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation"; 59 changelog = "https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v${version}"; 60 license = licenses.asl20; 61 maintainers = [ maintainers.natsukium ]; 62 teams = [ teams.deshaw ]; 63 }; 64}