Skip to content

Decide the Python floor: justify >=3.14.4 or relax it #283

Description

@eaitbrahim

pyproject.toml sets requires-python = ">=3.14.4" and .python-version pins 3.14.4. Python 3.14 is very new: many contributors will not have it, several distributions do not package it yet, and some CI images lag. This is a real barrier that will silently cost contributors — they will try, fail to build, and leave without opening an issue.

Decide, with evidence

  • Establish what actually requires 3.14 — a specific language or stdlib feature, or nothing in particular. Check for match ergonomics, Decimal behaviour, typing syntax, free-threading assumptions
  • If a real dependency exists: keep the floor and say so prominently in README and CONTRIBUTING.md, with the one-line reason and a uv python install instruction
  • If nothing requires it: relax to the lowest version the test suite passes on, and add that version to CI so it stays true

Acceptance

  • Decision recorded with its reason, not just changed
  • If the floor stays, a contributor hitting it gets a clear message rather than a confusing resolver error

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestopen-sourceWork toward making keel genuinely open source

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions