python310Packages.opentelemetry-api: refactor

To avoid breaking any package under the opentelemetry-python repository, we must synchronize their versions.
Since opentelemetry-api is the central component of opentelemetry-python, I used it as the source for version, src, and meta.
This commit is contained in:
natsukium 2023-07-25 01:23:38 +09:00 committed by Yt
parent 523636ff82
commit db1ccedc12
10 changed files with 50 additions and 122 deletions

View file

@ -17,13 +17,15 @@ let
version = "1.18.0"; version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
# to avoid breakage, every package in opentelemetry-python must inherit this version, src, and meta
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "open-telemetry"; owner = "open-telemetry";
repo = "opentelemetry-python"; repo = "opentelemetry-python";
rev = "refs/tags/v${self.version}"; rev = "refs/tags/v${self.version}";
hash = "sha256-h6XDzM29wYiC51S7OpBXvWFCfZ7DmIyGMG2pFjJV7pI="; hash = "sha256-8xf4TqEkBeueejQBckFGwBNN4Gyo+/7/my6Z1Mnei5Q=";
sparseCheckout = [ "/${self.pname}" ]; };
} + "/${self.pname}";
sourceRoot = "source/opentelemetry-api";
format = "pyproject"; format = "pyproject";
@ -55,8 +57,9 @@ let
passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; }; passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
meta = with lib; { meta = with lib; {
homepage = "https://opentelemetry.io"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-api";
description = "OpenTelemetry Python API"; description = "OpenTelemetry Python API";
changelog = "https://github.com/open-telemetry/opentelemetry-python/releases/tag/${self.src.rev}";
license = licenses.asl20; license = licenses.asl20;
maintainers = teams.deshaw.members; maintainers = teams.deshaw.members;
}; };

View file

@ -1,26 +1,20 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, hatchling , hatchling
, opentelemetry-api
, opentelemetry-proto , opentelemetry-proto
, opentelemetry-sdk , opentelemetry-sdk
, opentelemetry-test-utils , opentelemetry-test-utils
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-exporter-otlp-proto-common"; pname = "opentelemetry-exporter-otlp-proto-common";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-common";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-HNlkbDyYnr0/lDeY1xt0pRxqk+977ljgPdfJzAxL3AQ=";
sparseCheckout = [ "/exporter/${pname}" ];
} + "/exporter/${pname}";
format = "pyproject"; format = "pyproject";
@ -40,10 +34,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.common" ]; pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.common" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common";
description = "OpenTelemetry Protobuf encoding"; description = "OpenTelemetry Protobuf encoding";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,29 +1,23 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, backoff , backoff
, googleapis-common-protos , googleapis-common-protos
, grpcio , grpcio
, hatchling , hatchling
, opentelemetry-api
, opentelemetry-test-utils , opentelemetry-test-utils
, opentelemetry-exporter-otlp-proto-common , opentelemetry-exporter-otlp-proto-common
, pytest-grpc , pytest-grpc
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-exporter-otlp-proto-grpc"; pname = "opentelemetry-exporter-otlp-proto-grpc";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-grpc";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-feAmPL/G3ABIY5tBODlMJIBzxqg6Bl7imJB2EYtEp2o=";
sparseCheckout = [ "/exporter/${pname}" ];
} + "/exporter/${pname}";
format = "pyproject"; format = "pyproject";
@ -49,10 +43,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ]; pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc";
description = "OpenTelemetry Collector Protobuf over gRPC Exporter"; description = "OpenTelemetry Collector Protobuf over gRPC Exporter";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,10 +1,10 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, backoff , backoff
, googleapis-common-protos , googleapis-common-protos
, hatchling , hatchling
, opentelemetry-api
, opentelemetry-exporter-otlp-proto-common , opentelemetry-exporter-otlp-proto-common
, opentelemetry-test-utils , opentelemetry-test-utils
, requests , requests
@ -12,18 +12,12 @@
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-exporter-otlp-proto-http"; pname = "opentelemetry-exporter-otlp-proto-http";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-http";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-r4jvIhRM9E4CuZyS/XvvYO+F9cPxip8ab57CUfip47Q=";
sparseCheckout = [ "/exporter/${pname}" ];
} + "/exporter/${pname}";
format = "pyproject"; format = "pyproject";
@ -46,10 +40,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.http" ]; pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.http" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http";
description = "OpenTelemetry Collector Protobuf over HTTP Exporter"; description = "OpenTelemetry Collector Protobuf over HTTP Exporter";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,26 +1,20 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, backoff , backoff
, hatchling , hatchling
, opentelemetry-api
, opentelemetry-exporter-otlp-proto-grpc , opentelemetry-exporter-otlp-proto-grpc
, opentelemetry-exporter-otlp-proto-http , opentelemetry-exporter-otlp-proto-http
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-exporter-otlp"; pname = "opentelemetry-exporter-otlp";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/exporter/opentelemetry-exporter-otlp";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-ph9ahT6M8UBvuUJjk6nug68Ou/D7XuuXkfnKHEdD8x8=";
sparseCheckout = [ "/exporter/${pname}" ];
} + "/exporter/${pname}";
format = "pyproject"; format = "pyproject";
@ -39,10 +33,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.exporter.otlp" ]; pythonImportsCheck = [ "opentelemetry.exporter.otlp" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp";
description = "OpenTelemetry Collector Exporters"; description = "OpenTelemetry Collector Exporters";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,7 +1,6 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, hatchling , hatchling
, opentelemetry-api , opentelemetry-api
, opentelemetry-sdk , opentelemetry-sdk
@ -10,18 +9,12 @@
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-exporter-prometheus"; pname = "opentelemetry-exporter-prometheus";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/exporter/opentelemetry-exporter-prometheus";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-vWVLUt3Ett04kqUyoTOBNvRj51/M35X83saBBxeOTZI=";
sparseCheckout = [ "/exporter/${pname}" ];
} + "/exporter/${pname}";
format = "pyproject"; format = "pyproject";
@ -42,10 +35,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.exporter.prometheus" ]; pythonImportsCheck = [ "opentelemetry.exporter.prometheus" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-prometheus"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-prometheus";
description = "Prometheus Metric Exporter for OpenTelemetry"; description = "Prometheus Metric Exporter for OpenTelemetry";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,24 +1,18 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, hatchling , hatchling
, opentelemetry-api
, protobuf , protobuf
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-proto"; pname = "opentelemetry-proto";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/opentelemetry-proto";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-6iB+QlBUqRvIJ9p38NYgP4icW2rYs1P3bNCxI95cOvs=";
sparseCheckout = [ "/${pname}" ];
} + "/${pname}";
format = "pyproject"; format = "pyproject";
@ -36,10 +30,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.proto" ]; pythonImportsCheck = [ "opentelemetry.proto" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-proto"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-proto";
description = "OpenTelemetry Python Proto"; description = "OpenTelemetry Python Proto";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -1,7 +1,6 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, flaky , flaky
, hatchling , hatchling
, opentelemetry-api , opentelemetry-api
@ -14,17 +13,11 @@
let let
self = buildPythonPackage { self = buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-sdk"; pname = "opentelemetry-sdk";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/opentelemetry-sdk";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${self.version}";
hash = "sha256-YMFSmzuvm/VA9Fpe7pbF9mnGQHOQpobWMb1iGRt+d3w=";
sparseCheckout = [ "/${self.pname}" ];
} + "/${self.pname}";
format = "pyproject"; format = "pyproject";
@ -56,11 +49,9 @@ let
# Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils. # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; }; passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://opentelemetry.io"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk";
description = "OpenTelemetry Python API and SDK"; description = "OpenTelemetry Python SDK";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
}; };
in self in self

View file

@ -1,23 +1,17 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, hatchling , hatchling
, opentelemetry-api
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-semantic-conventions"; pname = "opentelemetry-semantic-conventions";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/opentelemetry-semantic-conventions";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-82L/tDoWgu0r+Li3CS3hjVR99DQQmA5yt3y85+37imI=";
sparseCheckout = [ "/${pname}" ];
} + "/${pname}";
format = "pyproject"; format = "pyproject";
@ -31,10 +25,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.semconv" ]; pythonImportsCheck = [ "opentelemetry.semconv" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-semantic-conventions"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-semantic-conventions";
description = "OpenTelemetry Semantic Conventions"; description = "OpenTelemetry Semantic Conventions";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }

View file

@ -2,25 +2,18 @@
, callPackage , callPackage
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchFromGitHub
, asgiref , asgiref
, hatchling , hatchling
, opentelemetry-api , opentelemetry-api
, opentelemetry-sdk , opentelemetry-sdk
}: }:
buildPythonPackage rec { buildPythonPackage {
inherit (opentelemetry-api) version src;
pname = "opentelemetry-test-utils"; pname = "opentelemetry-test-utils";
version = "1.18.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { sourceRoot = "source/tests/opentelemetry-test-utils";
owner = "open-telemetry";
repo = "opentelemetry-python";
rev = "refs/tags/v${version}";
hash = "sha256-WRcKTE3eVqOSQUi5gZ3du+RGw8CrMazXHrctdrjgzHo=";
sparseCheckout = [ "/tests/${pname}" ];
} + "/tests/${pname}";
format = "pyproject"; format = "pyproject";
@ -36,10 +29,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "opentelemetry.test" ]; pythonImportsCheck = [ "opentelemetry.test" ];
meta = with lib; { meta = opentelemetry-api.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/tests/opentelemetry-test-utils"; homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/tests/opentelemetry-test-utils";
description = "Test utilities for OpenTelemetry unit tests"; description = "Test utilities for OpenTelemetry unit tests";
license = licenses.asl20;
maintainers = teams.deshaw.members;
}; };
} }