diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dcad487..dd8c371 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,10 +70,11 @@ jobs: py310: "3.10" py311: "3.11" py312: "3.12" + py313: "3.13" strategy: fail-fast: false matrix: - python-version: [py38, py39, py310, py311, py312] + python-version: [py38, py39, py310, py311, py312, py313] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ env[matrix.python-version] }} diff --git a/README.md b/README.md index cc678b8..bc89d22 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ opentelemetry-instrument gunicorn main:app ## Configuration -The distribution supports all the configuration variables from OpenTelemetry Python project version 1.29.0. +The distribution supports all the configuration variables from OpenTelemetry Python project version 1.30.0. ### Default configuration variables diff --git a/dev-requirements.txt b/dev-requirements.txt index 7490425..acb943b 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -6,13 +6,13 @@ # build==1.2.2.post1 # via pip-tools -certifi==2024.12.14 +certifi==2025.1.31 # via requests charset-normalizer==3.4.1 # via requests click==8.1.8 # via pip-tools -deprecated==1.2.17 +deprecated==1.2.18 # via # opentelemetry-api # opentelemetry-exporter-otlp-proto-grpc @@ -36,7 +36,7 @@ iniconfig==2.0.0 # via pytest leb128==1.0.8 # via elastic-opentelemetry (pyproject.toml) -opentelemetry-api==1.29.0 +opentelemetry-api==1.30.0 # via # elastic-opentelemetry (pyproject.toml) # opentelemetry-exporter-otlp-proto-grpc @@ -47,23 +47,23 @@ opentelemetry-api==1.29.0 # opentelemetry-sdk # opentelemetry-semantic-conventions # oteltest -opentelemetry-exporter-otlp==1.29.0 +opentelemetry-exporter-otlp==1.30.0 # via elastic-opentelemetry (pyproject.toml) -opentelemetry-exporter-otlp-proto-common==1.29.0 +opentelemetry-exporter-otlp-proto-common==1.30.0 # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-grpc==1.29.0 +opentelemetry-exporter-otlp-proto-grpc==1.30.0 # via opentelemetry-exporter-otlp -opentelemetry-exporter-otlp-proto-http==1.29.0 +opentelemetry-exporter-otlp-proto-http==1.30.0 # via opentelemetry-exporter-otlp -opentelemetry-instrumentation==0.50b0 +opentelemetry-instrumentation==0.51b0 # via # elastic-opentelemetry (pyproject.toml) # opentelemetry-instrumentation-system-metrics -opentelemetry-instrumentation-system-metrics==0.50b0 +opentelemetry-instrumentation-system-metrics==0.51b0 # via elastic-opentelemetry (pyproject.toml) -opentelemetry-proto==1.29.0 +opentelemetry-proto==1.30.0 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-grpc @@ -73,7 +73,7 @@ opentelemetry-resource-detector-azure==0.1.5 # via elastic-opentelemetry (pyproject.toml) opentelemetry-resourcedetector-gcp==1.8.0a0 # via elastic-opentelemetry (pyproject.toml) -opentelemetry-sdk==1.29.0 +opentelemetry-sdk==1.30.0 # via # elastic-opentelemetry (pyproject.toml) # opentelemetry-exporter-otlp-proto-grpc @@ -83,7 +83,7 @@ opentelemetry-sdk==1.29.0 # opentelemetry-sdk-extension-aws opentelemetry-sdk-extension-aws==2.1.0 # via elastic-opentelemetry (pyproject.toml) -opentelemetry-semantic-conventions==0.50b0 +opentelemetry-semantic-conventions==0.51b0 # via # elastic-opentelemetry (pyproject.toml) # opentelemetry-instrumentation diff --git a/operator/requirements.txt b/operator/requirements.txt index e3b10da..4a3b616 100644 --- a/operator/requirements.txt +++ b/operator/requirements.txt @@ -1,57 +1,58 @@ -opentelemetry-exporter-prometheus==0.50b0 +opentelemetry-exporter-prometheus==0.51b0 opentelemetry-propagator-aws-xray==1.0.2 -opentelemetry-propagator-b3==1.29.0 -opentelemetry-propagator-jaeger==1.29.0 -opentelemetry-propagator-ot-trace==0.50b0 +opentelemetry-propagator-b3==1.30.0 +opentelemetry-propagator-jaeger==1.30.0 +opentelemetry-propagator-ot-trace==0.51b0 -opentelemetry-instrumentation-aio-pika==0.50b0 -opentelemetry-instrumentation-aiohttp-client==0.50b0 -opentelemetry-instrumentation-aiohttp-server==0.50b0 -opentelemetry-instrumentation-aiokafka==0.50b0 -opentelemetry-instrumentation-aiopg==0.50b0 -opentelemetry-instrumentation-asgi==0.50b0 -opentelemetry-instrumentation-asyncio==0.50b0 -opentelemetry-instrumentation-asyncpg==0.50b0 -opentelemetry-instrumentation-boto==0.50b0 -opentelemetry-instrumentation-boto3sqs==0.50b0 -opentelemetry-instrumentation-botocore==0.50b0 -opentelemetry-instrumentation-cassandra==0.50b0 -opentelemetry-instrumentation-celery==0.50b0 -opentelemetry-instrumentation-click==0.50b0 -opentelemetry-instrumentation-confluent-kafka==0.50b0 -opentelemetry-instrumentation-dbapi==0.50b0 -opentelemetry-instrumentation-django==0.50b0 -opentelemetry-instrumentation-elasticsearch==0.50b0 -opentelemetry-instrumentation-falcon==0.50b0 -opentelemetry-instrumentation-fastapi==0.50b0 -opentelemetry-instrumentation-flask==0.50b0 -opentelemetry-instrumentation-grpc==0.50b0 -opentelemetry-instrumentation-httpx==0.50b0 -opentelemetry-instrumentation-jinja2==0.50b0 -opentelemetry-instrumentation-kafka-python==0.50b0 -opentelemetry-instrumentation-logging==0.50b0 -opentelemetry-instrumentation-mysql==0.50b0 -opentelemetry-instrumentation-mysqlclient==0.50b0 -opentelemetry-instrumentation-pika==0.50b0 -opentelemetry-instrumentation-psycopg==0.50b0 -opentelemetry-instrumentation-psycopg2==0.50b0 -opentelemetry-instrumentation-pymemcache==0.50b0 -opentelemetry-instrumentation-pymongo==0.50b0 -opentelemetry-instrumentation-pymysql==0.50b0 -opentelemetry-instrumentation-pyramid==0.50b0 -opentelemetry-instrumentation-redis==0.50b0 -opentelemetry-instrumentation-remoulade==0.50b0 -opentelemetry-instrumentation-requests==0.50b0 -opentelemetry-instrumentation-sqlalchemy==0.50b0 -opentelemetry-instrumentation-sqlite3==0.50b0 -opentelemetry-instrumentation-starlette==0.50b0 -opentelemetry-instrumentation-system-metrics==0.50b0 -opentelemetry-instrumentation-threading==0.50b0 -opentelemetry-instrumentation-tornado==0.50b0 -opentelemetry-instrumentation-tortoiseorm==0.50b0 -opentelemetry-instrumentation-urllib==0.50b0 -opentelemetry-instrumentation-urllib3==0.50b0 -opentelemetry-instrumentation-wsgi==0.50b0 +opentelemetry-instrumentation-aio-pika==0.51b0 +opentelemetry-instrumentation-aiohttp-client==0.51b0 +opentelemetry-instrumentation-aiohttp-server==0.51b0 +opentelemetry-instrumentation-aiokafka==0.51b0 +opentelemetry-instrumentation-aiopg==0.51b0 +opentelemetry-instrumentation-asgi==0.51b0 +opentelemetry-instrumentation-asyncio==0.51b0 +opentelemetry-instrumentation-asyncpg==0.51b0 +opentelemetry-instrumentation-boto==0.51b0 +opentelemetry-instrumentation-boto3sqs==0.51b0 +opentelemetry-instrumentation-botocore==0.51b0 +opentelemetry-instrumentation-cassandra==0.51b0 +opentelemetry-instrumentation-celery==0.51b0 +opentelemetry-instrumentation-click==0.51b0 +opentelemetry-instrumentation-confluent-kafka==0.51b0 +opentelemetry-instrumentation-dbapi==0.51b0 +opentelemetry-instrumentation-django==0.51b0 +opentelemetry-instrumentation-elasticsearch==0.51b0 +opentelemetry-instrumentation-falcon==0.51b0 +opentelemetry-instrumentation-fastapi==0.51b0 +opentelemetry-instrumentation-flask==0.51b0 +opentelemetry-instrumentation-grpc==0.51b0 +opentelemetry-instrumentation-httpx==0.51b0 +opentelemetry-instrumentation-jinja2==0.51b0 +opentelemetry-instrumentation-kafka-python==0.51b0 +opentelemetry-instrumentation-logging==0.51b0 +opentelemetry-instrumentation-mysql==0.51b0 +opentelemetry-instrumentation-mysqlclient==0.51b0 +opentelemetry-instrumentation-pika==0.51b0 +opentelemetry-instrumentation-psycopg==0.51b0 +opentelemetry-instrumentation-psycopg2==0.51b0 +opentelemetry-instrumentation-pymemcache==0.51b0 +opentelemetry-instrumentation-pymongo==0.51b0 +opentelemetry-instrumentation-pymysql==0.51b0 +opentelemetry-instrumentation-pymssql==0.51b0 +opentelemetry-instrumentation-pyramid==0.51b0 +opentelemetry-instrumentation-redis==0.51b0 +opentelemetry-instrumentation-remoulade==0.51b0 +opentelemetry-instrumentation-requests==0.51b0 +opentelemetry-instrumentation-sqlalchemy==0.51b0 +opentelemetry-instrumentation-sqlite3==0.51b0 +opentelemetry-instrumentation-starlette==0.51b0 +opentelemetry-instrumentation-system-metrics==0.51b0 +opentelemetry-instrumentation-threading==0.51b0 +opentelemetry-instrumentation-tornado==0.51b0 +opentelemetry-instrumentation-tortoiseorm==0.51b0 +opentelemetry-instrumentation-urllib==0.51b0 +opentelemetry-instrumentation-urllib3==0.51b0 +opentelemetry-instrumentation-wsgi==0.51b0 elastic-opentelemetry-instrumentation-openai==0.6.0 diff --git a/pyproject.toml b/pyproject.toml index 1d0bcbb..25a7559 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,19 +23,20 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ - "opentelemetry-api == 1.29.0", - "opentelemetry-exporter-otlp == 1.29.0", - "opentelemetry-instrumentation == 0.50b0", - "opentelemetry-instrumentation-system-metrics == 0.50b0", + "opentelemetry-api == 1.30.0", + "opentelemetry-exporter-otlp == 1.30.0", + "opentelemetry-instrumentation == 0.51b0", + "opentelemetry-instrumentation-system-metrics == 0.51b0", "opentelemetry-resourcedetector-gcp ~= 1.8.0a0", "opentelemetry-resource-detector-azure ~= 0.1.5", - "opentelemetry-sdk == 1.29.0", + "opentelemetry-sdk == 1.30.0", "opentelemetry-sdk-extension-aws ~= 2.1.0", - "opentelemetry-semantic-conventions == 0.50b0", + "opentelemetry-semantic-conventions == 0.51b0", "packaging", ] diff --git a/src/elasticotel/instrumentation/bootstrap.py b/src/elasticotel/instrumentation/bootstrap.py index 66f19b8..1036a09 100644 --- a/src/elasticotel/instrumentation/bootstrap.py +++ b/src/elasticotel/instrumentation/bootstrap.py @@ -25,7 +25,7 @@ # the instrumentations available in opentelemetry-bootstrap we want to skip -_EXCLUDED_INSTRUMENTATIONS = {"opentelemetry-instrumentation-openai-v2"} +_EXCLUDED_INSTRUMENTATIONS = {"opentelemetry-instrumentation-openai-v2", "opentelemetry-instrumentation-vertexai"} # update with: # $ python3.12 scripts/build_edot_bootstrap_instrumentations.py | ruff format - diff --git a/tests/instrumentation/test_bootstrap.py b/tests/instrumentation/test_bootstrap.py index 47a8538..31deb6d 100644 --- a/tests/instrumentation/test_bootstrap.py +++ b/tests/instrumentation/test_bootstrap.py @@ -32,3 +32,4 @@ def test_overriden_instrumentations(monkeypatch, capfd): captured = capfd.readouterr() assert "opentelemetry-instrumentation-openai-v2" not in captured.out assert "elastic-opentelemetry-instrumentation-openai" in captured.out + assert "opentelemetry-instrumentation-vertexai" not in captured.out