diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a5fe39478..05173db1f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: 3.11 + python-version: 3.12 - run: | pip install tox @@ -41,7 +41,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.12 - run: | python scripts/split-tox-gh-actions/split-tox-gh-actions.py --fail-on-changes @@ -55,7 +55,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.12 - name: Setup build cache uses: actions/cache@v3 id: build_cache @@ -84,7 +84,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: 3.11 + python-version: 3.12 - run: | pip install virtualenv diff --git a/.github/workflows/test-integration-ariadne.yml b/.github/workflows/test-integration-ariadne.yml index eeb7a0208f..38e0d8271b 100644 --- a/.github/workflows/test-integration-ariadne.yml +++ b/.github/workflows/test-integration-ariadne.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8","3.9","3.10","3.11"] + python-version: ["3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-arq.yml b/.github/workflows/test-integration-arq.yml index 9a902ab20c..614e53f390 100644 --- a/.github/workflows/test-integration-arq.yml +++ b/.github/workflows/test-integration-arq.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-asgi.yml b/.github/workflows/test-integration-asgi.yml index 1b9e6916ec..9a29398fc2 100644 --- a/.github/workflows/test-integration-asgi.yml +++ b/.github/workflows/test-integration-asgi.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-asyncpg.yml b/.github/workflows/test-integration-asyncpg.yml index de6ad8c9c0..4b2ed26671 100644 --- a/.github/workflows/test-integration-asyncpg.yml +++ b/.github/workflows/test-integration-asyncpg.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-bottle.yml b/.github/workflows/test-integration-bottle.yml index 41e496a12b..5bbdcaac53 100644 --- a/.github/workflows/test-integration-bottle.yml +++ b/.github/workflows/test-integration-bottle.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-clickhouse_driver.yml b/.github/workflows/test-integration-clickhouse_driver.yml index 49b26e1803..30561ab5a1 100644 --- a/.github/workflows/test-integration-clickhouse_driver.yml +++ b/.github/workflows/test-integration-clickhouse_driver.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8","3.9","3.10","3.11"] + python-version: ["3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-cloud_resource_context.yml b/.github/workflows/test-integration-cloud_resource_context.yml index c59dca3078..f6140d823c 100644 --- a/.github/workflows/test-integration-cloud_resource_context.yml +++ b/.github/workflows/test-integration-cloud_resource_context.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-django.yml b/.github/workflows/test-integration-django.yml index d667464212..819fb70f1a 100644 --- a/.github/workflows/test-integration-django.yml +++ b/.github/workflows/test-integration-django.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-falcon.yml b/.github/workflows/test-integration-falcon.yml index 522956c959..09d8ff8d80 100644 --- a/.github/workflows/test-integration-falcon.yml +++ b/.github/workflows/test-integration-falcon.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-fastapi.yml b/.github/workflows/test-integration-fastapi.yml index 87af0054c7..0a330b1401 100644 --- a/.github/workflows/test-integration-fastapi.yml +++ b/.github/workflows/test-integration-fastapi.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-flask.yml b/.github/workflows/test-integration-flask.yml index 301256dffc..d716df171d 100644 --- a/.github/workflows/test-integration-flask.yml +++ b/.github/workflows/test-integration-flask.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-graphene.yml b/.github/workflows/test-integration-graphene.yml index 69d89958c3..5236731eb0 100644 --- a/.github/workflows/test-integration-graphene.yml +++ b/.github/workflows/test-integration-graphene.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-grpc.yml b/.github/workflows/test-integration-grpc.yml index 8c79fae4b8..0e4f48d423 100644 --- a/.github/workflows/test-integration-grpc.yml +++ b/.github/workflows/test-integration-grpc.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-httpx.yml b/.github/workflows/test-integration-httpx.yml index 8aadb01812..3c67d2370c 100644 --- a/.github/workflows/test-integration-httpx.yml +++ b/.github/workflows/test-integration-httpx.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-huey.yml b/.github/workflows/test-integration-huey.yml index a335b9dc9c..db6c5fcbc4 100644 --- a/.github/workflows/test-integration-huey.yml +++ b/.github/workflows/test-integration-huey.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-loguru.yml b/.github/workflows/test-integration-loguru.yml index f2b6b50317..885b1534f4 100644 --- a/.github/workflows/test-integration-loguru.yml +++ b/.github/workflows/test-integration-loguru.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-opentelemetry.yml b/.github/workflows/test-integration-opentelemetry.yml index 4179d2d22d..5e2722ed49 100644 --- a/.github/workflows/test-integration-opentelemetry.yml +++ b/.github/workflows/test-integration-opentelemetry.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-pure_eval.yml b/.github/workflows/test-integration-pure_eval.yml index c723e02ede..30b5f8cc1b 100644 --- a/.github/workflows/test-integration-pure_eval.yml +++ b/.github/workflows/test-integration-pure_eval.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-pymongo.yml b/.github/workflows/test-integration-pymongo.yml index ee7e21c425..2a3d7697f2 100644 --- a/.github/workflows/test-integration-pymongo.yml +++ b/.github/workflows/test-integration-pymongo.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-pyramid.yml b/.github/workflows/test-integration-pyramid.yml index 6ad34e17d0..7a4b327b3f 100644 --- a/.github/workflows/test-integration-pyramid.yml +++ b/.github/workflows/test-integration-pyramid.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-quart.yml b/.github/workflows/test-integration-quart.yml index 4c6ccb3157..838683cf9c 100644 --- a/.github/workflows/test-integration-quart.yml +++ b/.github/workflows/test-integration-quart.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-redis.yml b/.github/workflows/test-integration-redis.yml index 4af86fde47..54ad9abe2a 100644 --- a/.github/workflows/test-integration-redis.yml +++ b/.github/workflows/test-integration-redis.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-requests.yml b/.github/workflows/test-integration-requests.yml index 2645b13305..bc8e4a990c 100644 --- a/.github/workflows/test-integration-requests.yml +++ b/.github/workflows/test-integration-requests.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8","3.9","3.10","3.11"] + python-version: ["3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-rq.yml b/.github/workflows/test-integration-rq.yml index 6aec4ac632..b0812c36e6 100644 --- a/.github/workflows/test-integration-rq.yml +++ b/.github/workflows/test-integration-rq.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-sqlalchemy.yml b/.github/workflows/test-integration-sqlalchemy.yml index a45ede7a2f..70cbb7ff79 100644 --- a/.github/workflows/test-integration-sqlalchemy.yml +++ b/.github/workflows/test-integration-sqlalchemy.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-starlette.yml b/.github/workflows/test-integration-starlette.yml index e19578b95c..ad3e269075 100644 --- a/.github/workflows/test-integration-starlette.yml +++ b/.github/workflows/test-integration-starlette.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-strawberry.yml b/.github/workflows/test-integration-strawberry.yml index b0e30a8f5b..16b42ec2a2 100644 --- a/.github/workflows/test-integration-strawberry.yml +++ b/.github/workflows/test-integration-strawberry.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8","3.9","3.10","3.11"] + python-version: ["3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-tornado.yml b/.github/workflows/test-integration-tornado.yml index ac4700db4a..c9ccec4f38 100644 --- a/.github/workflows/test-integration-tornado.yml +++ b/.github/workflows/test-integration-tornado.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/.github/workflows/test-integration-trytond.yml b/.github/workflows/test-integration-trytond.yml index 130ed096f7..137cec7ef4 100644 --- a/.github/workflows/test-integration-trytond.yml +++ b/.github/workflows/test-integration-trytond.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/Makefile b/Makefile index 4d93d5341f..32cdbb1fff 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ help: dist: .venv rm -rf dist dist-serverless build - $(VENV_PATH)/bin/pip install wheel + $(VENV_PATH)/bin/pip install wheel setuptools $(VENV_PATH)/bin/python setup.py sdist bdist_wheel .PHONY: dist diff --git a/sentry_sdk/integrations/opentelemetry/span_processor.py b/sentry_sdk/integrations/opentelemetry/span_processor.py index 9dd15bfb3e..661e5e3629 100644 --- a/sentry_sdk/integrations/opentelemetry/span_processor.py +++ b/sentry_sdk/integrations/opentelemetry/span_processor.py @@ -290,7 +290,9 @@ def _update_span_with_otel_data(self, sentry_span, otel_span): url = otel_span.attributes.get(SpanAttributes.HTTP_URL, None) if url: parsed_url = urlparse(url) - url = f"{parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path}" + url = "{}://{}{}".format( + parsed_url.scheme, parsed_url.netloc, parsed_url.path + ) description += " {}".format(url) status_code = otel_span.attributes.get( diff --git a/tests/integrations/asyncpg/test_asyncpg.py b/tests/integrations/asyncpg/test_asyncpg.py index 50d6a6c6e5..e9b2a9d740 100644 --- a/tests/integrations/asyncpg/test_asyncpg.py +++ b/tests/integrations/asyncpg/test_asyncpg.py @@ -31,7 +31,9 @@ from sentry_sdk.integrations.asyncpg import AsyncPGIntegration -PG_CONNECTION_URI = f"postgresql://{PG_USER}:{PG_PASSWORD}@{PG_HOST}/{PG_NAME}" +PG_CONNECTION_URI = "postgresql://{}:{}@{}/{}".format( + PG_USER, PG_PASSWORD, PG_HOST, PG_NAME +) CRUMBS_CONNECT = { "category": "query", "data": { diff --git a/tests/integrations/grpc/test_grpc.py b/tests/integrations/grpc/test_grpc.py index 92883e9256..c6d7a6c6cc 100644 --- a/tests/integrations/grpc/test_grpc.py +++ b/tests/integrations/grpc/test_grpc.py @@ -29,7 +29,7 @@ def test_grpc_server_starts_transaction(sentry_init, capture_events_forksafe): server = _set_up() - with grpc.insecure_channel(f"localhost:{PORT}") as channel: + with grpc.insecure_channel("localhost:{}".format(PORT)) as channel: stub = gRPCTestServiceStub(channel) stub.TestServe(gRPCTestMessage(text="test")) @@ -54,7 +54,7 @@ def test_grpc_server_continues_transaction(sentry_init, capture_events_forksafe) server = _set_up() - with grpc.insecure_channel(f"localhost:{PORT}") as channel: + with grpc.insecure_channel("localhost:{}".format(PORT)) as channel: stub = gRPCTestServiceStub(channel) with start_transaction() as transaction: @@ -100,7 +100,7 @@ def test_grpc_client_starts_span(sentry_init, capture_events_forksafe): server = _set_up() - with grpc.insecure_channel(f"localhost:{PORT}") as channel: + with grpc.insecure_channel("localhost:{}".format(PORT)) as channel: channel = grpc.intercept_channel(channel, *interceptors) stub = gRPCTestServiceStub(channel) @@ -137,7 +137,7 @@ def test_grpc_client_and_servers_interceptors_integration( server = _set_up() - with grpc.insecure_channel(f"localhost:{PORT}") as channel: + with grpc.insecure_channel("localhost:{}".format(PORT)) as channel: channel = grpc.intercept_channel(channel, *interceptors) stub = gRPCTestServiceStub(channel) @@ -163,7 +163,7 @@ def _set_up(): ) add_gRPCTestServiceServicer_to_server(TestService, server) - server.add_insecure_port(f"[::]:{PORT}") + server.add_insecure_port("[::]:{}".format(PORT)) server.start() return server diff --git a/tox.ini b/tox.ini index 2565a2b1b0..d19607563c 100644 --- a/tox.ini +++ b/tox.ini @@ -23,16 +23,16 @@ envlist = {py3.7,py3.8,py3.9,py3.10,py3.11}-aiohttp-v{3.6} # Ariadne - {py3.8,py3.9,py3.10,py3.11}-ariadne + {py3.8,py3.9,py3.10,py3.11,py3.12}-ariadne # Arq - {py3.7,py3.8,py3.9,py3.10,py3.11}-arq + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-arq # Asgi - {py3.7,py3.8,py3.9,py3.10,py3.11}-asgi + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-asgi # asyncpg - {py3.7,py3.8,py3.9,py3.10,py3.11}-asyncpg + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-asyncpg # AWS Lambda # The aws_lambda tests deploy to the real AWS and have their own @@ -47,7 +47,7 @@ envlist = {py2.7,py3.6,py3.7,py3.8}-boto3-v{1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16} # Bottle - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-bottle-v{0.12} + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-bottle-v{0.12} # Celery {py2.7}-celery-v{3} @@ -62,9 +62,10 @@ envlist = # Clickhouse Driver {py3.8,py3.9,py3.10,py3.11}-clickhouse_driver-v{0.2.4,0.2.5,0.2.6} + {py3.12}-clickhouse_driver-v{0.2.6} # Cloud Resource Context - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-cloud_resource_context + {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-cloud_resource_context # Django # - Django 1.x @@ -77,21 +78,21 @@ envlist = {py3.6,py3.7,py3.8,py3.9}-django-v{3.0,3.1} {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-django-v{3.2} # - Django 4.x - {py3.8,py3.9,py3.10,py3.11}-django-v{4.0,4.1,4.2} + {py3.8,py3.9,py3.10,py3.11,py3.12}-django-v{4.0,4.1,4.2} # Falcon {py2.7,py3.5,py3.6,py3.7}-falcon-v{1.4} {py2.7,py3.5,py3.6,py3.7}-falcon-v{2.0} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-falcon-v{3.0} - {py3.7,py3.8,py3.9,py3.10,py3.11}-falcon-v{3.1} + {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-falcon-v{3.0} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-falcon-v{3.1} # FastAPI - {py3.7,py3.8,py3.9,py3.10,py3.11}-fastapi + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-fastapi # Flask {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-flask-v{0.11,0.12,1.0} {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-flask-v{1.1} - {py3.6,py3.8,py3.9,py3.10,py3.11}-flask-v{2.0} + {py3.6,py3.8,py3.9,py3.10,py3.11,py3.12}-flask-v{2.0} # Gevent {py2.7,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-gevent @@ -103,55 +104,57 @@ envlist = {py3.7,py3.8,py3.9,py3.10,py3.11}-gql # Graphene - {py3.7,py3.8,py3.9,py3.10,py3.11}-graphene + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-graphene # Grpc {py3.7,py3.8,py3.9,py3.10}-grpc-v{1.40,1.44,1.48} {py3.7,py3.8,py3.9,py3.10,py3.11}-grpc-v{1.54,1.56,1.58} + {py3.12}-grpc-v{1.59} # HTTPX {py3.6,py3.7,py3.8,py3.9}-httpx-v{0.16,0.17,0.18} {py3.6,py3.7,py3.8,py3.9,py3.10}-httpx-v{0.19,0.20,0.21,0.22} - {py3.7,py3.8,py3.9,py3.10,py3.11}-httpx-v{0.23} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-httpx-v{0.23} # Huey - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-huey-2 + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-huey-2 # Loguru - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-loguru-v{0.5,0.6,0.7} + {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-loguru-v{0.5,0.6,0.7} # OpenTelemetry (OTel) - {py3.7,py3.8,py3.9,py3.10,py3.11}-opentelemetry + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-opentelemetry # pure_eval - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-pure_eval + {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pure_eval # PyMongo (Mongo DB) {py2.7,py3.6}-pymongo-v{3.1} {py2.7,py3.6,py3.7,py3.8,py3.9}-pymongo-v{3.12} {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-pymongo-v{4.0} - {py3.7,py3.8,py3.9,py3.10,py3.11}-pymongo-v{4.1,4.2} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pymongo-v{4.1,4.2} # Pyramid {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-pyramid-v{1.6,1.7,1.8,1.9,1.10} + {py3.12}-pyramid-v{1.10} # Quart {py3.7,py3.8,py3.9,py3.10,py3.11}-quart-v{0.16,0.17,0.18} - {py3.8,py3.9,py3.10,py3.11}-quart-v{0.19} + {py3.8,py3.9,py3.10,py3.11,py3.12}-quart-v{0.19} # Redis - {py2.7,py3.7,py3.8,py3.9,py3.10,py3.11}-redis + {py2.7,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-redis # Redis Cluster {py2.7,py3.7,py3.8,py3.9}-rediscluster-v{1,2.1.0,2} # Requests - {py2.7,py3.8,py3.9,py3.10,py3.11}-requests + {py2.7,py3.8,py3.9,py3.10,py3.11,py3.12}-requests # RQ (Redis Queue) {py2.7,py3.5,py3.6}-rq-v{0.6,0.7,0.8,0.9,0.10,0.11} {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-rq-v{0.12,0.13,1.0,1.1,1.2,1.3} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-rq-v{1.4,1.5} + {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-rq-v{1.4,1.5} # Sanic {py3.5,py3.6,py3.7}-sanic-v{0.8,18} @@ -162,25 +165,25 @@ envlist = {py3.8,py3.9,py3.10,py3.11}-sanic-latest # Starlette - {py3.7,py3.8,py3.9,py3.10,py3.11}-starlette-v{0.20,0.22,0.24,0.26,0.28} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-starlette-v{0.20,0.22,0.24,0.26,0.28} # Starlite {py3.8,py3.9,py3.10,py3.11}-starlite # SQL Alchemy {py2.7,py3.7,py3.8,py3.9,py3.10,py3.11}-sqlalchemy-v{1.2,1.3,1.4} - {py3.7,py3.8,py3.9,py3.10,py3.11}-sqlalchemy-v{2.0} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-sqlalchemy-v{2.0} # Strawberry - {py3.8,py3.9,py3.10,py3.11}-strawberry + {py3.8,py3.9,py3.10,py3.11,py3.12}-strawberry # Tornado {py3.7,py3.8,py3.9}-tornado-v{5} - {py3.7,py3.8,py3.9,py3.10,py3.11}-tornado-v{6} + {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-tornado-v{6} # Trytond {py3.5,py3.6,py3.7,py3.8,py3.9}-trytond-v{4.6,5.0,5.2} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-trytond-v{5.4} + {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-trytond-v{5.4} [testenv] deps = @@ -360,6 +363,7 @@ deps = grpc-v1.54: grpcio-tools>=1.54.0,<1.55.0 grpc-v1.56: grpcio-tools>=1.56.0,<1.57.0 grpc-v1.58: grpcio-tools>=1.58.0,<1.59.0 + grpc-v1.59: grpcio-tools>=1.59.0,<1.60.0 grpc: protobuf grpc: mypy-protobuf grpc: types-protobuf @@ -604,7 +608,7 @@ basepython = # some random Python 3 binary, but then you get guaranteed mismatches with # CI. Other tools such as mypy and black have options that pin the Python # version. - linters: python3.11 + linters: python3.12 commands = {py3.7,py3.8}-boto3: pip install urllib3<2.0.0