Skip to content

Commit 662b424

Browse files
authored
feat: Add Python 3.15 to test matrix (#7326)
### 1. Lazy imports Tried manually testing with a lazy import of `sentry_sdk`, looked ok. #### `PYTHON_LAZY_IMPORTS=all` Guarding the optional `httpcore` import with an additional `AttributeError` now, since `httpcore` doesn't work with `PYTHON_LAZY_IMPORTS=all`. Notified other frameworks/libraries: - [httpcore](encode/httpcore#1106) - [sqlalchemy](sqlalchemy/sqlalchemy#13557) Other libraries/frameworks that are problematic under `PYTHON_LAZY_IMPORTS=all` but already have a tracking issue for 3.15 support: - [fastapi](pydantic/pydantic#13173) **Caveat:** It's not 100% clear to me whether this forcing of `PYTHON_LAZY_IMPORTS=all` is something libraries are supposed to support, see also https://peps.python.org/pep-0810/#global-lazy-imports-control. Probably fine to wait for the ecosystem to stabilize a bit here, rather than patching everything to be ready on day one. ### 2. CI Marked some test suites as not python 3.15 ready yet: - `langgraph`, `cohere`: fail to install on 3.15 - `statsig`: hangs on 3.15 - anything `otlp`/`otel`: hangs on 3.15 - `integration_deactivation`: fails to install on 3.15 ### 3. Misc Ran the common test suite with `PYTHON_LAZY_IMPORTS=all`. Everything looked fine. ## Issues Closes https://linear.app/getsentry/issue/PY-2649/test-with-python-315 Closes https://linear.app/getsentry/issue/PY-2651/declare-support-for-315
1 parent 9d9bfc4 commit 662b424

17 files changed

Lines changed: 2965 additions & 2948 deletions

‎.github/workflows/test-integrations-common.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-dbs.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
services:
2323
postgres:

‎.github/workflows/test-integrations-flags.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.7","3.8","3.10","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.7","3.8","3.10","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-graphql.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-mcp.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.10","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.10","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-misc.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-network.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

‎.github/workflows/test-integrations-tasks.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
services:
2323
redis:

‎.github/workflows/test-integrations-web-1.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
services:
2323
postgres:

‎.github/workflows/test-integrations-web-2.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
20+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t","3.15","3.15t"]
2121
os: [ubuntu-22.04]
2222
env:
2323
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.

0 commit comments

Comments
 (0)