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 摘要。