From d0d38247f01c2d0d6f4d8ab46401ead9a658de37 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 20 Jan 2024 15:09:55 +0100 Subject: [PATCH 1/4] python3.pkgs.opentelemetry-api: 1.21.0 -> 1.22.0 ChangeLog: https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.22.0 --- pkgs/development/python-modules/opentelemetry-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix index 72957901af41..5b59d43e7816 100644 --- a/pkgs/development/python-modules/opentelemetry-api/default.nix +++ b/pkgs/development/python-modules/opentelemetry-api/default.nix @@ -14,7 +14,7 @@ let self = buildPythonPackage rec { pname = "opentelemetry-api"; - version = "1.21.0"; + version = "1.22.0"; disabled = pythonOlder "3.7"; # to avoid breakage, every package in opentelemetry-python must inherit this version, src, and meta @@ -22,7 +22,7 @@ let owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "refs/tags/v${version}"; - hash = "sha256-igG0oHRa6M4d7pMp7fgBo13x5XADZeYgFAL8WzDXsyw="; + hash = "sha256-6BmBmooVaH1FOpgXpFlYth0r9XaNtmb9UezeP8hWEok="; }; sourceRoot = "${src.name}/opentelemetry-api"; From c913a0bc0da401762630277afe845ff2cf8289a3 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 20 Jan 2024 15:10:49 +0100 Subject: [PATCH 2/4] python3.pkgs.opentelemetry-instrumentation: 1.16.0 -> 0.43b0 This may seem like a downgrade, but actually it isn't: the library tags releases as 0.Xb0 with the title "1.22.0 / 0.43b0". Until 1.16 two tags were pushed, for 1.16 and 0.X. This isn't the case anymore, so 0.43b0 is far newer than 1.16. This has practical implications already since `opentelemetry-instrumentation-wsgi` doesn't build at all: Checking runtime dependencies for opentelemetry_instrumentation_wsgi-0.37b0-py3-none-any.whl - opentelemetry-semantic-conventions==0.37b0 not satisfied by version 0.42b0 Originally, this package was published via 0.X, but this was changed in 74303025237e4df97ba3597b089c1f1c596b9a71 which was a downgrade already. This looks like a bug in the automatic python updater and should be be skipped (or 1.x releases should be ignored). ChangeLogs: * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.38b0 * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.39b0 * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.40b0 * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.41b0 * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.42b0 * https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.43b0 --- .../python-modules/opentelemetry-instrumentation/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix index 4ee758ea564d..f5e76507d3ab 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "opentelemetry-instrumentation"; - version = "1.16.0"; + version = "0.43b0"; disabled = pythonOlder "3.7"; # to avoid breakage, every package in opentelemetry-python-contrib must inherit this version, src, and meta @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "refs/tags/v${version}"; - hash = "sha256-6tGQjPBej2zv5yJN0S46le3kyD7q3TELYyDmyxlp5Wo="; + hash = "sha256-fUyA3cPXAxO506usEWxOUX9xiapc8Ocnbx73LP6ghRE="; }; sourceRoot = "${src.name}/opentelemetry-instrumentation"; From c91c1276ba311ae16407c153ca3808ecd6fa931c Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 20 Jan 2024 15:19:34 +0100 Subject: [PATCH 3/4] python3.pkgs.opentelemetry-util-http: fix build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The two tests fail because apparently they weren't really executed before 🤷 See also https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1940 --- .../python-modules/opentelemetry-util-http/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/opentelemetry-util-http/default.nix b/pkgs/development/python-modules/opentelemetry-util-http/default.nix index 85e28f2a6d49..e14338ffcbce 100644 --- a/pkgs/development/python-modules/opentelemetry-util-http/default.nix +++ b/pkgs/development/python-modules/opentelemetry-util-http/default.nix @@ -33,6 +33,12 @@ buildPythonPackage { pytestCheckHook ]; + # https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1940 + disabledTests = [ + "test_nonstandard_method" + "test_nonstandard_method_allowed" + ]; + pythonImportsCheck = [ "opentelemetry.util.http" ]; meta = opentelemetry-instrumentation.meta // { From f88ea9b9191df85e9f32ba57a5a497bdca191190 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 20 Jan 2024 15:21:41 +0100 Subject: [PATCH 4/4] python3.pkgs.opentelemetry-instrumentation-flask: init at 0.43b0 --- .../default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix new file mode 100644 index 000000000000..71860dd8fd74 --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix @@ -0,0 +1,45 @@ +{ buildPythonPackage +, flask +, hatchling +, opentelemetry-api +, opentelemetry-instrumentation +, opentelemetry-instrumentation-wsgi +, opentelemetry-semantic-conventions +, opentelemetry-test-utils +, opentelemetry-util-http +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-instrumentation-flask"; + disabled = pythonOlder "3.7"; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-flask"; + + format = "pyproject"; + + nativeBuildInputs = [ hatchling ]; + + propagatedBuildInputs = [ + flask + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-instrumentation-wsgi + opentelemetry-semantic-conventions + opentelemetry-util-http + ]; + + nativeCheckInputs = [ + opentelemetry-test-utils + pytestCheckHook + ]; + + pythonImportsCheck = [ "opentelemetry.instrumentation.flask" ]; + + meta = opentelemetry-instrumentation.meta // { + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-flask"; + description = "Flask Middleware for OpenTelemetry based on the WSGI middleware"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 314fd3f8ff8f..0908531c2883 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8760,6 +8760,8 @@ self: super: with self; { opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { }; + opentelemetry-instrumentation-flask = callPackage ../development/python-modules/opentelemetry-instrumentation-flask { }; + opentelemetry-instrumentation-grpc = callPackage ../development/python-modules/opentelemetry-instrumentation-grpc { }; opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { };