Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Python 3.15 ships Oct 9 and we cap below it; 3.10 went EOL Oct 1

Aberta
#1,569 0 comentários 0 reações 1 responsável Ver no GitHub

@dimitri-yatsenko já está trabalhando nisso.

Desde 4/10/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

enhancement

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.15 classifier
  • add a py315 pixi feature and a test-py315 environment, alongside the existing py310/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.10 classifier
  • move the CI floor and the pixi environment from py310 to py311
  • 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

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de datajoint/datajoint-python

Todas as issues de datajoint/datajoint-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.