Skip to content

Raise the minimum supported Python version to 3.11 - #1111

Draft
lcrmorin wants to merge 1 commit into
feature-engine:mainfrom
lcrmorin:python-minimum-311
Draft

lcrmorin wants to merge 1 commit into
feature-engine:mainfrom
lcrmorin:python-minimum-311

Conversation

@lcrmorin

Copy link
Copy Markdown

Propose Python 3.11 as the minimum supported version for the next release. Python 3.9 reached end of life on 2025-10-31 and Python 3.10 on 2026-10-01, per the Python support schedule.

This is a draft for maintainer agreement on the support floor and release timing. It is a compatibility-breaking change: Python 3.9/3.10 users must upgrade Python to install the next release; previous Feature-engine releases keep their original requirements. Support through Python 3.14 already exists (merged #892). No open overlapping Python-minimum upgrade PR was found.

Changes:

  • Set Requires-Python to >=3.11 and remove the 3.9/3.10 classifiers.
  • Replace the 3.9/3.10 CircleCI and tox jobs with an unpinned 3.11 job. Retain the pinned scikit-learn/pandas checks and Python 3.12–3.14 jobs.
  • Move CircleCI quality/release tooling from Python 3.10 to the existing 3.11 image, and update release-job prerequisites.
  • Align installation/contribution docs and add an unreleased compatibility note. Update the Python references in the legacy .github/workflow/workflow.yml without activating that dormant workflow.

Pandas, NumPy and scikit-learn requirements are unchanged. This proposal is separate from the sparse-input test-helper fix in #1108–#1110; dropping Python 3.9 is not needed to fix those failures.

Validation:

  • Wheel and source distribution build successfully; wheel metadata rejects Python 3.9/3.10 and accepts 3.11–3.14.
  • CircleCI YAML parses and all workflow jobs/release prerequisites resolve; tox lists the intended environments.
  • Full suite: 2117 passed, 82 warnings in 86.66s (0:01:26). Tested on Python 3.11.16 with pandas 3.0.6, scikit-learn 1.9.1 and NumPy 2.4.6.
  • Full remote CI matrix and CircleCI service-side validation remain pending.

Prepared with AI assistance. Maintainer review of the minimum version and release timing is requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant