Skip to content

release: support Python 3.12 through 3.14 - #29

Merged
stefan-jansen merged 2 commits into
mainfrom
release/0.1.1-python-312-314
Aug 9, 2026
Merged

stefan-jansen merged 2 commits into
mainfrom
release/0.1.1-python-312-314

Conversation

@stefan-jansen

Copy link
Copy Markdown
Contributor

Summary

  • declare Python support as 3.12 through 3.14
  • qualify the complete dependency and test surface on Linux, macOS, and Windows
  • remove Python 3.15-only dependency exclusions and runtime compatibility code
  • align installation documentation with package metadata

Verification

  • uv run pytest tests/ -q --tb=short --no-cov
  • uv run ruff check src/ tests/
  • uv run ruff format --check src/ tests/
  • uv run ty check
  • built-wheel install and documented workflow smoke checks on Python 3.12 and 3.14
  • Python 3.15 RC rejects the wheel from Requires-Python metadata

Copilot AI lite review requested due to automatic review settings August 9, 2026 02:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR narrows the supported Python range to 3.12–3.14 and updates CI, packaging metadata, docs, and tests to enforce that policy while removing Python 3.15-specific compatibility code and scaffolding.

Changes:

  • Set requires-python to >=3.12,<3.15 and remove Python 3.15-only dependency markers / compatibility paths.
  • Update CI to qualify only Python 3.12–3.14 across Linux/macOS/Windows and simplify previously conditional steps.
  • Remove now-unneeded test type stubs and Python 3.15 Polars compatibility code/tests; align docs/badges with the new support window.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
uv.lock Updates lock metadata/markers and removes 3.15-only wheel entries to reflect the supported Python range.
tests/type_stubs/matplotlib/pyplot.pyi Removes minimal Matplotlib stubs previously used for type checking without the optional dependency.
tests/type_stubs/matplotlib/figure.pyi Removes minimal Matplotlib stubs previously used for type checking without the optional dependency.
tests/type_stubs/matplotlib/axes.pyi Removes minimal Matplotlib stubs previously used for type checking without the optional dependency.
tests/type_stubs/matplotlib/__init__.pyi Removes Matplotlib stub package marker docstring.
tests/type_stubs/duckdb/__init__.pyi Removes DuckDB stubs previously used for type checking without the optional dependency.
tests/test_release_policy.py Updates release-policy assertions to match the new CI matrix and simplified commands.
tests/test_polars_compat.py Removes tests for the deleted Python 3.15 Polars dispatch compatibility repair.
src/ml4t/engineer/features/fdiff.py Simplifies the statsmodels ImportError message tied to ADF diagnostics.
src/ml4t/engineer/_polars_compat.py Removes Python 3.15-specific Polars Series dispatch compatibility patch.
src/ml4t/engineer/__init__.py Stops importing the removed Polars compatibility module.
README.md Updates the Python support badge to 3.12–3.14.
pyproject.toml Declares Python support as >=3.12,<3.15 and removes 3.15-only dependency markers.
docs/getting-started/installation.md Aligns installation requirements text with the supported Python range.
.github/workflows/ci.yml Removes Python 3.15 from the qualification matrix and simplifies dependency/typecheck/export steps accordingly.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/ml4t/engineer/features/fdiff.py Resolved
@stefan-jansen
stefan-jansen merged commit 6c809c3 into main Aug 9, 2026
28 checks passed
@stefan-jansen
stefan-jansen deleted the release/0.1.1-python-312-314 branch August 11, 2026 15:58
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.

2 participants