Files
Emídio Neto 4a21b3974b resource-dector-container: package rename to opentelemetry-resource-detector-containerid (#3536)
* resource-dector-container: package rename

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix ruff

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* change entrypoint

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix test

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix for entrypoint name

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* add changelog

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

---------

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>
2025-06-04 10:41:38 +02:00

1056 lines
55 KiB
INI

[tox]
requires =
tox-uv>=1
isolated_build = True
skipsdist = True
skip_missing_interpreters = True
envlist =
; Environments are organized by individual package, allowing
; for specifying supported Python versions per package.
; instrumentation-openai
py3{9,10,11,12,13}-test-instrumentation-openai-v2-{oldest,latest}
pypy3-test-instrumentation-openai-v2-{oldest,latest}
lint-instrumentation-openai-v2
; instrumentation-vertexai
py3{9,10,11,12,13}-test-instrumentation-vertexai-{oldest,latest}
# Disabling pypy3 as shapely does not have wheels and fails to compile
# pypy3-test-instrumentation-vertexai-{oldest,latest}
lint-instrumentation-vertexai
; instrumentation-google-genai
py3{9,10,11,12,13}-test-instrumentation-google-genai-{oldest,latest}
# Disabling pypy3 as shapely does not have wheels and fails to compile
# pypy3-test-instrumentation-google-genai-{0,1}
lint-instrumentation-google-genai
; opentelemetry-resource-detector-containerid
py3{9,10,11,12,13}-test-resource-detector-containerid
pypy3-test-resource-detector-containerid
lint-resource-detector-containerid
; opentelemetry-resource-detector-azure
py3{9,10,11,12,13}-test-resource-detector-azure-{0,1}
pypy3-test-resource-detector-azure-{0,1}
lint-resource-detector-azure
; opentelemetry-sdk-extension-aws
py3{9,10,11,12,13}-test-sdk-extension-aws-{0,1}
pypy3-test-sdk-extension-aws-{0,1}
lint-sdk-extension-aws
benchmark-sdk-extension-aws
; opentelemetry-distro
py3{9,10,11,12,13}-test-distro
pypy3-test-distro
lint-distro
; opentelemetry-instrumentation
py3{9,10,11,12,13}-test-opentelemetry-instrumentation
pypy3-test-opentelemetry-instrumentation
lint-opentelemetry-instrumentation
; opentelemetry-instrumentation-aiohttp-client
py3{9,10,11,12,13}-test-instrumentation-aiohttp-client
pypy3-test-instrumentation-aiohttp-client
lint-instrumentation-aiohttp-client
; opentelemetry-instrumentation-aiohttp-server
py3{9,10,11,12,13}-test-instrumentation-aiohttp-server
pypy3-test-instrumentation-aiohttp-server
lint-instrumentation-aiohttp-server
; opentelemetry-instrumentation-aiopg
py3{9,10,11,12,13}-test-instrumentation-aiopg
; instrumentation-aiopg intentionally excluded from pypy3
lint-instrumentation-aiopg
; opentelemetry-instrumentation-aws-lambda
py3{9,10,11,12,13}-test-instrumentation-aws-lambda
pypy3-test-instrumentation-aws-lambda
lint-instrumentation-aws-lambda
; opentelemetry-instrumentation-botocore
py3{9,10,11,12,13}-test-instrumentation-botocore-{0,1}
; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736
; pypy3-test-instrumentation-botocore
lint-instrumentation-botocore
; opentelemetry-instrumentation-boto3sqs
py3{9,10,11,12,13}-test-instrumentation-boto3sqs
pypy3-test-instrumentation-boto3sqs
lint-instrumentation-boto3sqs
; opentelemetry-instrumentation-django
; Only officially supported Python versions are tested for each Django
; major release. Updated list can be found at:
; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: django~=2.0
; 1: django~=3.0
; 2: django>=4.0b1,<5.0 backports.zoneinfo==0.2.1
; 3: django>=4.0b1,<5.0
py3{9}-test-instrumentation-django-{0,1,2}
py3{10,11,12}-test-instrumentation-django-{1,3}
py313-test-instrumentation-django-3
pypy3-test-instrumentation-django-{0,1}
lint-instrumentation-django
; opentelemetry-instrumentation-dbapi
py3{9,10,11,12,13}-test-instrumentation-dbapi
pypy3-test-instrumentation-dbapi
lint-instrumentation-dbapi
; opentelemetry-instrumentation-boto
py3{9,10,11}-test-instrumentation-boto
; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736
; pypy3-test-instrumentation-boto
lint-instrumentation-boto
; opentelemetry-instrumentation-asyncclick
py3{9,10,11,12,13}-test-instrumentation-asyncclick
pypy3-test-instrumentation-asyncclick
lint-instrumentation-asyncclick
; opentelemetry-instrumentation-click
py3{9,10,11,12,13}-test-instrumentation-click
pypy3-test-instrumentation-click
lint-instrumentation-click
; opentelemetry-instrumentation-elasticsearch
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: elasticsearch-dsl==6.4.0 elasticsearch==6.8.2
; 1: elasticsearch-dsl==7.4.1 elasticsearch==7.17.9
; 2: elasticsearch-dsl==8.13.1 elasticsearch==8.13.1
py3{9,10,11,12,13}-test-instrumentation-elasticsearch-{0,1,2}
pypy3-test-instrumentation-elasticsearch-{0,1,2}
lint-instrumentation-elasticsearch
; opentelemetry-instrumentation-falcon
; py310 does not work with falcon 1
; py3{9} will be dropped for falcon 4
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: falcon ==1.4.1
; 1: falcon >=2.0.0,<3.0.0
; 2: falcon >=3.0.0,<3.1.2
; 3: falcon >=3.1.2,<4.0.0
; 4: falcon >=4.0.0,<5.0.0
py3{9}-test-instrumentation-falcon-{0,1,2,3}
py3{10,11,12}-test-instrumentation-falcon-{1,2,3,4}
py313-test-instrumentation-falcon-4
pypy3-test-instrumentation-falcon-{0,1,2,3,4}
lint-instrumentation-falcon
; opentelemetry-instrumentation-fastapi
py3{9,10,11,12,13}-test-instrumentation-fastapi
pypy3-test-instrumentation-fastapi
lint-instrumentation-fastapi
; opentelemetry-instrumentation-flask
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: Flask ==2.1.3 Werkzeug <3.0.0
; 1: Flask ==2.2.0 Werkzeug <3.0.0
; 2: Flask >=3.0.0 Werkzeug >=3.0.0
py3{9,10,11,12,13}-test-instrumentation-flask-{0,1,2}
pypy3-test-instrumentation-flask-{0,1}
lint-instrumentation-flask
; opentelemetry-instrumentation-urllib
py3{9,10,11,12,13}-test-instrumentation-urllib
pypy3-test-instrumentation-urllib
lint-instrumentation-urllib
; opentelemetry-instrumentation-urllib3
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: urllib3 >=1.0.0,<2.0.0
; 1: urllib3 >=2.0.0,<3.0.0
py3{9,10,11,12,13}-test-instrumentation-urllib3-{0,1}
pypy3-test-instrumentation-urllib3-{0,1}
lint-instrumentation-urllib3
; opentelemetry-instrumentation-requests
py3{9,10,11,12,13}-test-instrumentation-requests
;pypy3-test-instrumentation-requests
lint-instrumentation-requests
; opentelemetry-instrumentation-starlette
py3{9,10,11,12,13}-test-instrumentation-starlette-{oldest,latest}
pypy3-test-instrumentation-starlette-{oldest,latest}
lint-instrumentation-starlette
; opentelemetry-instrumentation-jinja2
py3{9,10,11,12,13}-test-instrumentation-jinja2
pypy3-test-instrumentation-jinja2
lint-instrumentation-jinja2
; opentelemetry-instrumentation-logging
py3{9,10,11,12,13}-test-instrumentation-logging
pypy3-test-instrumentation-logging
lint-instrumentation-logging
; opentelemetry-exporter-richconsole
py3{9,10,11,12,13}-test-exporter-richconsole
pypy3-test-exporter-richconsole
lint-exporter-richconsole
; opentelemetry-exporter-prometheus-remote-write
py3{9,10,11,12,13}-test-exporter-prometheus-remote-write
# excluded from pypy3 due to missing wheel
pypy310-test-exporter-prometheus-remote-write
lint-exporter-prometheus-remote-write
; opentelemetry-instrumentation-mysql
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: mysql-connector-python >=8.0.0,<9.0.0
; 1: mysql-connector-python ~=9.0.0
py3{9,10,11,12,13}-test-instrumentation-mysql-{0,1}
pypy3-test-instrumentation-mysql-{0,1}
lint-instrumentation-mysql
; opentelemetry-instrumentation-mysqlclient
py3{9,10,11,12,13}-test-instrumentation-mysqlclient
pypy3-test-instrumentation-mysqlclient
; prerequisite: follow the instructions here
; https://github.com/PyMySQL/mysqlclient#install
; for your OS to install the required dependencies
lint-instrumentation-mysqlclient
; opentelemetry-instrumentation-psycopg2
py3{9,10,11,12,13}-test-instrumentation-psycopg2
py3{9,10,11,12,13}-test-instrumentation-psycopg2-binary
; ext-psycopg2 intentionally excluded from pypy3
lint-instrumentation-psycopg2
; opentelemetry-instrumentation-psycopg
py3{9,10,11,12,13}-test-instrumentation-psycopg
pypy3-test-instrumentation-psycopg
lint-instrumentation-psycopg
; opentelemetry-instrumentation-pymemcache
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: pymemcache ==1.3.5
; 1: pymemcache >2.0.0,<3.0.0
; 2: pymemcache >3.0.0,<3.4.2
; 3: pymemcache ==3.4.2
; 4: pymemcache ==4.0.0
py3{9,10,11,12,13}-test-instrumentation-pymemcache-{0,1,2,3,4}
pypy3-test-instrumentation-pymemcache-{0,1,2,3,4}
lint-instrumentation-pymemcache
; opentelemetry-instrumentation-pymongo
py3{9,10,11,12,13}-test-instrumentation-pymongo
pypy3-test-instrumentation-pymongo
lint-instrumentation-pymongo
; opentelemetry-instrumentation-pymysql
py3{9,10,11,12,13}-test-instrumentation-pymysql
pypy3-test-instrumentation-pymysql
lint-instrumentation-pymysql
; opentelemetry-instrumentation-pymssql
py3{9,10,11,12,13}-test-instrumentation-pymssql
; pymssql has no support for pypy: see https://github.com/pymssql/pymssql/pull/517
; pypy3-test-instrumentation-pymssql
lint-instrumentation-pymssql
; opentelemetry-instrumentation-pyramid
; TODO: add py313 when supported by pyramid
py3{9,10,11,12}-test-instrumentation-pyramid
pypy3-test-instrumentation-pyramid
lint-instrumentation-pyramid
; opentelemetry-instrumentation-asgi
py3{9,10,11,12,13}-test-instrumentation-asgi
pypy3-test-instrumentation-asgi
lint-instrumentation-asgi
; opentelemetry-instrumentation-asyncpg
py3{9,10,11,12,13}-test-instrumentation-asyncpg
; ext-asyncpg intentionally excluded from pypy3
lint-instrumentation-asyncpg
; opentelemetry-instrumentation-sqlite3
py3{9,10,11,12,13}-test-instrumentation-sqlite3
pypy3-test-instrumentation-sqlite3
lint-instrumentation-sqlite3
; opentelemetry-instrumentation-wsgi
py3{9,10,11,12,13}-test-instrumentation-wsgi
pypy3-test-instrumentation-wsgi
lint-instrumentation-wsgi
; opentelemetry-instrumentation-grpc
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: grpcio==1.62.0
; 1: grpcio==1.66.2
py3{9,10,11,12}-test-instrumentation-grpc-{0,1}
py313-test-instrumentation-grpc-1
lint-instrumentation-grpc
; opentelemetry-instrumentation-sqlalchemy
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: sqlalchemy>=1.1,<1.2
; 1: sqlalchemy~=1.4 aiosqlite
; 2: sqlalchemy~=2.0.0
py3{9,10,11,12,13}-test-instrumentation-sqlalchemy-{1,2}
pypy3-test-instrumentation-sqlalchemy-{0,1,2}
lint-instrumentation-sqlalchemy
; opentelemetry-instrumentation-redis
py3{9,10,11,12,13}-test-instrumentation-redis
pypy3-test-instrumentation-redis
lint-instrumentation-redis
; opentelemetry-instrumentation-remoulade
py3{9,10,11,12,13}-test-instrumentation-remoulade
; instrumentation-remoulade intentionally excluded from pypy3
lint-instrumentation-remoulade
; opentelemetry-instrumentation-celery
py3{9,10,11,12,13}-test-instrumentation-celery
pypy3-test-instrumentation-celery
lint-instrumentation-celery
; opentelemetry-instrumentation-system-metrics
py3{9,10,11,12,13}-test-instrumentation-system-metrics
pypy3-test-instrumentation-system-metrics
lint-instrumentation-system-metrics
; opentelemetry-instrumentation-threading
py3{9,10,11,12,13}-test-instrumentation-threading
pypy3-test-instrumentation-threading
lint-instrumentation-threading
; opentelemetry-instrumentation-tornado
py3{9,10,11,12,13}-test-instrumentation-tornado
pypy3-test-instrumentation-tornado
lint-instrumentation-tornado
; opentelemetry-instrumentation-tortoiseorm
py3{9,10,11,12,13}-test-instrumentation-tortoiseorm
pypy3-test-instrumentation-tortoiseorm
lint-instrumentation-tortoiseorm
; opentelemetry-instrumentation-httpx
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: httpx>=0.18.0,<0.19.0 respx~=0.17.0
; 1: httpx>=0.19.0 respx~=0.20.1
py3{9,10,11,12}-test-instrumentation-httpx-{0,1}
py313-test-instrumentation-httpx-1
pypy3-test-instrumentation-httpx-{0,1}
lint-instrumentation-httpx
; opentelemetry-util-http
py3{9,10,11,12,13}-test-util-http
pypy3-test-util-http
lint-util-http
; opentelemetry-propagator-aws-xray
py3{9,10,11,12,13}-test-propagator-aws-xray-{0,1}
pypy3-test-propagator-aws-xray-{0,1}
lint-propagator-aws-xray
benchmark-propagator-aws-xray
; opentelemetry-propagator-ot-trace
py3{9,10,11,12,13}-test-propagator-ot-trace
pypy3-test-propagator-ot-trace
lint-propagator-ot-trace
; opentelemetry-instrumentation-sio-pika
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: pika>=0.12.0,<1.0.0
; 1: pika>=1.0.0
py3{9,10,11,12,13}-test-instrumentation-sio-pika-{0,1}
pypy3-test-instrumentation-sio-pika-{0,1}
lint-instrumentation-sio-pika
; opentelemetry-instrumentation-aio-pika
; The numbers at the end of the environment names
; below mean these dependencies are being used:
; 0: aio_pika==7.2.0
; 1: aio_pika==8.3.0
; 2: aio_pika==9.0.5
; 3: aio_pika==9.4.1
py3{9,10,11,12,13}-test-instrumentation-aio-pika-{0,1,2,3}
pypy3-test-instrumentation-aio-pika-{0,1,2,3}
lint-instrumentation-aio-pika
; opentelemetry-instrumentation-aiokafka
py3{9,10,11,12,13}-test-instrumentation-aiokafka
pypy3-test-instrumentation-aiokafka
lint-instrumentation-aiokafka
; opentelemetry-instrumentation-kafka-python
py3{9,10,11}-test-instrumentation-kafka-python
py3{9,10,11,12,13}-test-instrumentation-kafka-pythonng
pypy3-test-instrumentation-kafka-python
pypy3-test-instrumentation-kafka-pythonng
lint-instrumentation-kafka-python
; opentelemetry-instrumentation-confluent-kafka
py3{9,10,11,12,13}-test-instrumentation-confluent-kafka
lint-instrumentation-confluent-kafka
; opentelemetry-instrumentation-asyncio
py3{9,10,11,12,13}-test-instrumentation-asyncio
lint-instrumentation-asyncio
; opentelemetry-instrumentation-cassandra
py3{9,10,11,12,13}-test-instrumentation-cassandra
pypy3-test-instrumentation-cassandra
lint-instrumentation-cassandra
; opentelemetry-processor-baggage
py3{9,10,11,12,13}-test-processor-baggage
pypy3-test-processor-baggage
; requires snappy headers to be available on the system
lint-processor-baggage
spellcheck
docker-tests
docs
generate
generate-workflows
shellcheck
ruff
typecheck
[testenv]
test_deps =
opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk
opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils
deps =
lint: -r dev-requirements.txt
coverage: pytest
coverage: pytest-cov
opentelemetry-instrumentation: {[testenv]test_deps}
opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt
distro: {[testenv]test_deps}
distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt
# packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API
# and SDK supported to test we are honoring it
openai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt
# and the latest version of OTel API and SDK
openai-latest: {[testenv]test_deps}
openai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.latest.txt
lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt
vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt
vertexai-latest: {[testenv]test_deps}
vertexai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.latest.txt
lint-instrumentation-vertexai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt
google-genai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt
google-genai-latest: {[testenv]test_deps}
google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt
lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt
asgi: {[testenv]test_deps}
asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt
celery: {[testenv]test_deps}
py3{9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt
py3{10,11,12,13}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt
asyncclick: {[testenv]test_deps}
asyncclick: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/test-requirements.txt
click: {[testenv]test_deps}
click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt
sio-pika: {[testenv]test_deps}
sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt
sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt
lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt
aio-pika: {[testenv]test_deps}
aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt
aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt
aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt
aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt
aiokafka: {[testenv]test_deps}
aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt
kafka-python: {[testenv]test_deps}
kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt
kafka-pythonng: {[testenv]test_deps}
kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt
confluent-kafka: {[testenv]test_deps}
confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt
grpc: {[testenv]test_deps}
grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt
grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt
lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt
wsgi: {[testenv]test_deps}
wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt
asyncpg: {[testenv]test_deps}
asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt
aws-lambda: {[testenv]test_deps}
aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt
boto: {[testenv]test_deps}
boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt
boto3sqs: {[testenv]test_deps}
boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt
falcon: {[testenv]test_deps}
falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt
falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt
falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt
falcon-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-3.txt
falcon-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt
lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt
flask: {[testenv]test_deps}
flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt
flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt
flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt
lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt
urllib: {[testenv]test_deps}
urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt
urllib3: {[testenv]test_deps}
urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt
urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt
lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt
botocore: {[testenv]test_deps}
botocore-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-0.txt
botocore-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt
lint-instrumentation-botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt
cassandra: {[testenv]test_deps}
cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt
dbapi: {[testenv]test_deps}
dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt
django: {[testenv]test_deps}
py3{9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt
py3{9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
py3{9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt
py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
py3{10,11,12,13}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt
pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt
pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt
lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt
fastapi: {[testenv]test_deps}
fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt
mysql: {[testenv]test_deps}
mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt
mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt
lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt
mysqlclient: {[testenv]test_deps}
mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt
pymemcache: {[testenv]test_deps}
pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt
pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt
pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt
pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt
pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt
lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt
pymongo: {[testenv]test_deps}
pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt
psycopg: {[testenv]test_deps}
py3{9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt
py3{10,11,12,13}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt
psycopg2: {[testenv]test_deps}
psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt
psycopg2-binary: {[testenv]test_deps}
psycopg2-binary: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements-binary.txt
pymysql: {[testenv]test_deps}
pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt
pymssql: {[testenv]test_deps}
pymssql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/test-requirements.txt
pyramid: {[testenv]test_deps}
pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt
sqlite3: {[testenv]test_deps}
sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt
redis: {[testenv]test_deps}
redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt
remoulade: {[testenv]test_deps}
remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt
requests: {[testenv]test_deps}
requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt
starlette: {[testenv]test_deps}
starlette-{oldest,lint}: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.oldest.txt
starlette-latest: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.latest.txt
system-metrics: {[testenv]test_deps}
system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt
threading: {[testenv]test_deps}
threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt
tornado: {[testenv]test_deps}
tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt
tortoiseorm: {[testenv]test_deps}
tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt
jinja2: {[testenv]test_deps}
jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt
logging: {[testenv]test_deps}
logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt
aiohttp-client: {[testenv]test_deps}
aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt
aiohttp-server: {[testenv]test_deps}
aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt
aiopg: {[testenv]test_deps}
aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt
richconsole: {[testenv]test_deps}
richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt
prometheus: {[testenv]test_deps}
prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt
sqlalchemy: {[testenv]test_deps}
sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt
sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt
sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt
lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt
elasticsearch: {[testenv]test_deps}
elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt
elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt
elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
asyncio: {[testenv]test_deps}
asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt
httpx: {[testenv]test_deps}
httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt
httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt
lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt
# packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API
# and SDK supported to test we are honoring it
sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt
# and the latest version of OTel API and SDK
sdk-extension-aws-1: {[testenv]test_deps}
sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt
lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt
benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt
resource-detector-containerid: {[testenv]test_deps}
resource-detector-containerid: -r {toxinidir}/resource/opentelemetry-resource-detector-containerid/test-requirements.txt
# packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API
# and SDK supported to test we are honoring it
resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt
# and the latest version of OTel API and SDK
resource-detector-azure-1: {[testenv]test_deps}
resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt
lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt
propagator-ot-trace: {[testenv]test_deps}
propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt
# packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API
# and SDK supported to test we are honoring it
propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt
# and the latest version of OTel API and SDK
propagator-aws-xray-1: {[testenv]test_deps}
propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt
lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt
benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt
processor-baggage: {[testenv]test_deps}
processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt
util-http: {[testenv]test_deps}
util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt
util-http: {toxinidir}/util/opentelemetry-util-http
; FIXME: add coverage testing
allowlist_externals =
sh
setenv =
; override CORE_REPO_SHA via env variable when testing other branches/commits than main
; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e <env to test>
CORE_REPO_SHA={env:CORE_REPO_SHA:main}
CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA}
UV_CONFIG_FILE={toxinidir}/tox-uv.toml
commands_pre =
; In order to get a health coverage report,
; we have to install packages in editable mode.
coverage: python {toxinidir}/scripts/eachdist.py install --editable
commands =
test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs}
lint-distro: pylint {toxinidir}/opentelemetry-distro
test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs}
lint-opentelemetry-instrumentation: pylint {toxinidir}/opentelemetry-instrumentation
test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs}
lint-instrumentation-aiohttp-client: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-client"
test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs}
lint-instrumentation-aiohttp-server: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-server"
test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs}
lint-instrumentation-aiopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiopg"
test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs}
lint-instrumentation-asgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asgi"
test-instrumentation-asyncclick: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/tests {posargs}
lint-instrumentation-asyncclick: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncclick"
test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs}
lint-instrumentation-asyncpg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncpg"
test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs}
lint-instrumentation-aws-lambda: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aws-lambda"
test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs}
lint-instrumentation-boto: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto"
test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs}
lint-instrumentation-botocore: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-botocore"
test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs}
lint-instrumentation-boto3sqs: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto3sqs"
test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs}
lint-instrumentation-cassandra: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-cassandra"
test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs}
lint-instrumentation-celery: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-celery"
test-instrumentation-click: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-click/tests {posargs}
lint-instrumentation-click: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-click"
test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs}
lint-instrumentation-dbapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-dbapi"
test-instrumentation-django: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs}
lint-instrumentation-django: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-django"
test-instrumentation-elasticsearch: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs}
lint-instrumentation-elasticsearch: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-elasticsearch"
test-instrumentation-falcon: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs}
lint-instrumentation-falcon: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-falcon"
test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs}
lint-instrumentation-fastapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-fastapi"
test-instrumentation-flask: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs}
lint-instrumentation-flask: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-flask"
test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs}
lint-instrumentation-urllib: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib"
test-instrumentation-urllib3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs}
lint-instrumentation-urllib3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib3"
test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs}
lint-instrumentation-grpc: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-grpc"
test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs}
lint-instrumentation-jinja2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-jinja2"
test-instrumentation-aiokafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/tests {posargs}
lint-instrumentation-aiokafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiokafka"
test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs}
lint-instrumentation-kafka-python: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-kafka-python"
; Test only for kafka-pythonng instrumentation as the only difference between kafka-python and kafka-pythonng is the version of kafka-python
test-instrumentation-kafka-pythonng: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs}
test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs}
lint-instrumentation-confluent-kafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-confluent-kafka"
test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs}
lint-instrumentation-logging: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-logging"
test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs}
lint-instrumentation-mysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysql"
test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs}
lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient"
test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs}
lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2"
test-instrumentation-vertexai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests --vcr-record=none {posargs}
lint-instrumentation-vertexai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-vertexai"
test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs}
lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai"
test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs}
lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika"
test-instrumentation-aio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs}
lint-instrumentation-aio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aio-pika"
test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs}
lint-instrumentation-psycopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg"
test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs}
lint-instrumentation-psycopg2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg2"
; Test only for psycopg2-binary instrumentation as the only difference between psycopg2 and psycopg2-binary is the install method
test-instrumentation-psycopg2-binary: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs}
test-instrumentation-pymemcache: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs}
lint-instrumentation-pymemcache: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymemcache"
test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs}
lint-instrumentation-pymongo: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymongo"
test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs}
lint-instrumentation-pymysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymysql"
test-instrumentation-pymssql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/tests {posargs}
lint-instrumentation-pymssql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymssql"
test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs}
lint-instrumentation-pyramid: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pyramid"
test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs}
lint-instrumentation-redis: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-redis"
test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs}
lint-instrumentation-remoulade: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-remoulade"
test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs}
lint-instrumentation-requests: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-requests"
test-instrumentation-sqlalchemy: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs}
lint-instrumentation-sqlalchemy: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlalchemy"
test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs}
lint-instrumentation-sqlite3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlite3"
test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs}
lint-instrumentation-starlette: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-starlette"
test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs}
lint-instrumentation-system-metrics: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-system-metrics"
test-instrumentation-threading: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/tests {posargs}
lint-instrumentation-threading: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-threading"
test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs}
lint-instrumentation-tornado: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tornado"
test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs}
lint-instrumentation-tortoiseorm: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tortoiseorm"
test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs}
lint-instrumentation-wsgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-wsgi"
test-instrumentation-httpx: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs}
lint-instrumentation-httpx: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-httpx"
test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs}
lint-instrumentation-asyncio: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncio"
test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs}
lint-util-http: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-http"
test-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs}
lint-sdk-extension-aws: sh -c "cd sdk-extension && pylint --rcfile ../.pylintrc opentelemetry-sdk-extension-aws"
benchmark-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmarks {posargs} --benchmark-json=sdk-extension-aws-benchmark.json
test-resource-detector-containerid: pytest {toxinidir}/resource/opentelemetry-resource-detector-containerid/tests {posargs}
lint-resource-detector-containerid: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-containerid"
test-resource-detector-azure: pytest {toxinidir}/resource/opentelemetry-resource-detector-azure/tests {posargs}
lint-resource-detector-azure: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-azure"
test-processor-baggage: pytest {toxinidir}/processor/opentelemetry-processor-baggage/tests {posargs}
lint-processor-baggage: sh -c "cd processor && pylint --rcfile ../.pylintrc opentelemetry-processor-baggage"
test-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs}
lint-propagator-aws-xray: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-aws-xray"
benchmark-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmarks {posargs} --benchmark-json=propagator-aws-xray-benchmark.json
test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs}
lint-propagator-ot-trace: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-ot-trace"
test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs}
lint-exporter-richconsole: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-richconsole"
test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs}
lint-exporter-prometheus-remote-write: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-prometheus-remote-write"
coverage: {toxinidir}/scripts/coverage.sh
[testenv:docs]
deps =
-c {toxinidir}/dev-requirements.txt
-r {toxinidir}/docs-requirements.txt
pytest
{[testenv]test_deps}
{toxinidir}/opentelemetry-instrumentation
{toxinidir}/util/opentelemetry-util-http
changedir = docs
commands =
sphinx-build -E -a -W -b html -T . _build/html
[testenv:spellcheck]
basepython: python3
recreate = True
deps =
codespell==2.2.6
commands =
codespell
[testenv:docker-tests]
basepython: python3
deps =
{[testenv]test_deps}
-r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt
-e {toxinidir}/opentelemetry-instrumentation
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade
opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus
changedir =
tests/opentelemetry-docker-tests/tests
commands_pre =
sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc"
python -c "import pyodbc; print(pyodbc.drivers())"
docker-compose up -d
python check_availability.py
commands =
pytest {posargs}
commands_post =
docker-compose down -v
[testenv:generate]
deps =
-r {toxinidir}/gen-requirements.txt
allowlist_externals =
{toxinidir}/scripts/generate_instrumentation_bootstrap.py
{toxinidir}/scripts/generate_instrumentation_readme.py
{toxinidir}/scripts/generate_instrumentation_metapackage.py
commands =
{toxinidir}/scripts/generate_instrumentation_bootstrap.py
{toxinidir}/scripts/generate_instrumentation_readme.py
{toxinidir}/scripts/generate_instrumentation_metapackage.py
[testenv:generate-workflows]
recreate = True
deps =
{toxinidir}/.github/workflows/generate_workflows_lib
commands =
python {toxinidir}/.github/workflows/generate_workflows.py
[testenv:shellcheck]
commands_pre =
sh -c "sudo apt update -y && sudo apt install --assume-yes shellcheck"
commands =
sh -c "find {toxinidir} -name \*.sh | xargs shellcheck --severity=warning"
[testenv:ruff]
basepython: python3
deps =
-c {toxinidir}/dev-requirements.txt
pre-commit
commands =
pre-commit run --color=always --all-files {posargs}
[testenv:typecheck]
deps =
-c {toxinidir}/dev-requirements.txt
pyright
{[testenv]test_deps}
{toxinidir}/opentelemetry-instrumentation
{toxinidir}/util/opentelemetry-util-http
{toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments]
{toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments]
{toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments]
{toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments]
commands =
pyright