Python 3.15 ships Oct 9 and we cap below it; 3.10 went EOL Oct 1
@dimitri-yatsenko já está trabalhando nisso.
Desde 4/10/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 197
- Forks
- 98
- Merge médio
- 23h 9min
- PRs com merge (30d)
- 6
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de datajoint/datajoint-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
datajoint/datajoint-python#1539 · 3 comentários ·
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 75/100
datajoint/datajoint-python#1564 ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
datajoint/datajoint-python#1563 ·
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
datajoint/datajoint-python#1562 · 2 comentários ·
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 75/100
datajoint/datajoint-python#1561 · 1 comentário ·
Todas as issues de datajoint/datajoint-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
FuRongJun-1999/dsh-memory#65 ·
Mantenedores costumam responder em até 1 dia
-
ci needs-ac
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Ikalus1988/MisakaNet#2930 ·
Mantenedores costumam responder em até 1 dia
-
`FakeBackendV2.run` fails with `NoiseError` on circuits with delays on qubits where T2 > 2·T1Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Qiskit/qiskit-aer#2466 ·
-
area/cli
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100