Repository navigation
Replies: 3 comments
|
Pinging heavy / long-time contributors for awareness (no action required unless you have a stake in 3.9/3.10): @mzwiessele @jameshensman @alansaul @MartinBubel @ekalosak @zhenwendai @nfusi @mikecroucher @bobturneruk @letterdaniel @AlexGrig @lionfish0 @ric70x7 Especially relevant if you still see GPy used on Python 3.9 or 3.10 in teaching or production — please comment on the options above. Reminder: proposal is to keep |
|
We are doing the sequence this discussion recommended, with Dependabot/Pillow 13 pulling the 3.11 floor immediately after this cut rather than one extra minor later. 1.15.0 (#1235) still declares Lockfile hygiene without the floor: #1233 takes Pillow 13 on 3.11+, nbconvert 7.17.2, and certifi 2026.10.23. Unpatched 3.9-only pins stay until the floor moves. After 1.15.0 is on PyPI: draft #1234 raises the floor to |
|
Update 2026-10-24. GPy 1.15.0 is the GitHub Release this thread called for.
PyPI lists 1.15.0. Use Floor follow-up (draft, do not merge until 1.15.0 is on PyPI): #1242 This discussion stays open until #1242 lands. Then we can add the one-line “last supporting version” note (#914) and close. |
Uh oh!
There was an error while loading. Please reload this page.
Context
GPy currently declares
python = ">=3.9,<4"(pyproject.toml, CIP-0003), while CI and wheel builds only exercise 3.11–3.14. So 3.9/3.10 are in the metadata floor but are not in the test or packaging matrix.This discussion is about when and how far to raise that floor — not about doing it immediately.
Timing constraint (proposed)
Do not raise the floor in the next release. Ship the current maintenance work (Poetry/NumPy 2, CIP-0005 lint, Codecov, bugfixes) so 3.9 (and 3.10) users still benefit from those changes on a release that still declares
>=3.9.Propose any floor change for a following release (e.g. next minor after that), announced in the release notes of the upcoming one.
Ecosystem calendars
So: declaring
>=3.9is already ahead of what we test and ship as wheels, and behind SPEC 0 / CPython EOL for 3.9.Related history to fold in
Precedent discussions / policy:
>=3.9; CI documented as 3.11–3.14UP038(X | Yunions /isinstancePEP 604) deferred until floor ≥ 3.10 (or higher)Dependency / install pressure (why modern floors matter):
Stale install issues on already-unsupported Pythons (candidates to close with a pointer once a new floor is decided):
Options
>=3.9for now (status quo metadata; next release still installs on 3.9)>=3.10(drop 3.9 only; unlocksUP038-style cleanups that need 3.10+)>=3.11(match CI/wheels; drop 3.9 and 3.10 together)Pros of raising the floor (3.9 and/or 3.10)
>=3.11).UP038once floor ≥ 3.10; further modern typing/syntax becomes easier at 3.11+.GPy==1.13.2cannot be installed with newerSciPy/NumPystacks due to strict upper bounds #1119-style resolver pain).Cons / risks
Recommendation to debate
>=3.9so currentdevelfixes reach 3.9 users.>=3.11(or at least>=3.10) on the following minor/major.>=3.11over>=3.10unless someone has a concrete 3.10-only user base: it matches CI/wheels today and avoids a two-step migration.pyproject.toml, README, CIP-0003, classifiers; enable CIP-0005UP038if floor ≥ 3.10; close obsolete ancient-Python install issues with a pointer here.Questions
Comments welcome — especially from anyone still on 3.9/3.10 in production or teaching.
All reactions