Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#1,569 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@dimitri-yatsenko 已经在做这个了。

开始于 2026年10月4日。

评估

这个 Issue 还没有评估数据。

描述

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.

主要语言
Python
星标
197
派生
98
平均合并
23 小时 9 分钟
30 天内合并 PR
6

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

datajoint/datajoint-python 的其他 Issue

查看 datajoint/datajoint-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。