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