Python 3.15 ships Oct 9 and we cap below it; 3.10 went EOL Oct 1
@dimitri-yatsenko arbeitet bereits daran.
Seit 04.10.2026.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Two Python-version deadlines have arrived, one of them this week. They want different releases.
Python 3.15 lands Friday, 2026-10-09 — and we cap below it
PEP 790 puts 3.15.0 final on 2026-10-09; betas 1 through 4 shipped between May and July. We declare:
requires-python = ">=3.10,<3.15"
From the 9th, pip install datajoint on a fresh 3.15 fails to resolve. Not "installs and misbehaves" — refuses. Anyone whose base image tracks latest, or who upgrades early, hits a hard stop with no workaround but pinning Python back. The conda-forge recipe carries the same bound (python >={{ python_min }},<3.15), so that channel blocks too.
This is the time-sensitive half and it is small.
Python 3.10 reached EOL on 2026-10-01
It is out of support as of three days ago — no further security fixes. We still declare >=3.10, ship the 3.10 classifier, and test 3.10 as the floor of the matrix. 2.3.4 shipped supporting it.
Not urgent, but no longer a default — it is now a choice to keep carrying it.
| cycle | released | EOL |
|---|---|---|
| 3.10 | 2021-10-04 | 2026-10-01 — EOL |
| 3.11 | 2022-10-24 | 2027-10-31 |
| 3.12 | 2023-10-02 | 2028-10-31 |
| 3.13 | 2024-10-07 | 2029-10-31 |
| 3.14 | 2025-10-07 | 2030-10-31 |
| 3.15 | 2026-10-09 | ~2031-10 |
Proposal: raise the cap in 2.3.5, drop 3.10 in 2.4
2.3.5 — raise the ceiling. Additive, unblocks installs, breaks nothing:
requires-python = ">=3.10,<3.16"- add the
Programming Language :: Python :: 3.15classifier - add a
py315pixi feature and atest-py315environment, alongside the existingpy310/py314 - add 3.15 to the CI matrices, including the Windows job
- bump the conda-forge recipe bound to match
Test against an rc before the 9th rather than assuming. The cap is a claim that we work on 3.15, and nothing in the dependency set has been exercised there — numpy, pandas, pymysql, pydot, deepdiff and pydantic-settings all need wheels or a working build. If something is not ready, better to learn it now and either wait or pin that one dependency.
2.4 — drop 3.10. Breaking, so it belongs with the other breaking change already scheduled there (#1557):
requires-python = ">=3.11,<3.16"- remove the
3.10classifier - move the CI floor and the pixi environment from
py310topy311 target-version = "py311"for ruff (pyproject.toml:135)
Every place a version is pinned
| file | line | what |
|---|---|---|
pyproject.toml |
22 | requires-python = ">=3.10,<3.15" |
pyproject.toml |
60-64 | classifiers, 3.10 through 3.14 |
pyproject.toml |
135 | target-version = "py310" (ruff) |
pyproject.toml |
267-271 | pixi features py310, py314 |
pyproject.toml |
279-280 | pixi environments test-py310, test-py314 |
.github/workflows/test.yaml |
83 | Windows matrix ["3.10", "3.14"] |
.github/workflows/test.yaml |
34, 82 | comments restating the range |
| conda-forge feedstock | recipe/meta.yaml |
python_min, and python >={{ python_min }},<3.15 |
Open question
Whether anyone we support is still pinned to 3.10 — that decides how gently 2.4 has to handle the drop, and whether it needs a deprecation notice in 2.3.5 first.
- Vorherrschende Sprache
- Python
- Sterne
- 197
- Forks
- 98
- Ø Merge
- 23 Std. 9 Min.
- Gemergte PRs (30 T.)
- 6
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus datajoint/datajoint-python
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
datajoint/datajoint-python#1539 · 3 Kommentare ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 75/100
datajoint/datajoint-python#1564 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
datajoint/datajoint-python#1563 ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
datajoint/datajoint-python#1562 · 2 Kommentare ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 75/100
datajoint/datajoint-python#1561 · 1 Kommentar ·
Alle Issues in datajoint/datajoint-python
Ähnliche Issues
-
needs-human needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
gke-labs/kube-agents#2400 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Device Details tables: FS/SF columns contradict each other (nfet_01v8 Vt row, pfet_01v8 Idsat row)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
google/skywater-pdk#450 ·
-
Drained trajectory arrays are overwritten when the sequence buffer is reusedEvtl. vergeben @sylvesterkaczmarek hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
google-deepmind/bsuite#56 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
LearningCircuit/local-deep-research#7206 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
chingu-voyages/V62-tier3-team-33#285 ·
Maintainer antworten meist innerhalb von 1 Tag