Skip to content

Conversation

@techouse
Copy link
Owner

This pull request adds support for Python 3.14 across the project’s tooling, test matrix, and documentation. The changes ensure that Python 3.14 is now included in CI tests, Docker builds, documentation, and package metadata, helping us stay current with the latest Python release and maintain compatibility.

Python 3.14 support additions:

  • Added Python 3.14 to the test matrix in .github/workflows/test.yml for all supported MariaDB and MySQL versions, both legacy and current, including experimental and non-experimental configurations. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
  • Updated the Dockerfile base image to use python:3.14-alpine instead of python:3.13-alpine.
  • Added Python 3.14 to the supported versions in the documentation (CONTRIBUTING.md).
  • Included Python 3.14 in the package metadata classifiers in pyproject.toml.
  • Updated tox.ini to add Python 3.14 to the environment list and interpreter mapping. [1] [2]

@techouse techouse self-assigned this Oct 26, 2025
@techouse techouse added enhancement New feature or request python Pull requests that update Python code labels Oct 26, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 26, 2025

Walkthrough

This pull request adds support for Python 3.14 across the project's configuration files and CI/CD pipelines. The changes include updating the test workflow matrix, Dockerfile base image, tox configuration, project classifiers, and documentation to include Python 3.14 as a supported version.

Changes

Cohort / File(s) Summary
CI/CD and testing
.github/workflows/test.yml, tox.ini
Adds Python 3.14 to GitHub Actions test matrix for all database variants and tox environment list with corresponding version mapping
Docker configuration
Dockerfile
Updates base image from python:3.13-alpine to python:3.14-alpine
Project metadata
pyproject.toml
Adds Programming Language :: Python :: 3.14 classifier to project metadata
Documentation
CONTRIBUTING.md
Updates supported versions list to include Python 3.14

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

These are homogeneous configuration changes following established patterns across multiple files with no complex logic or functional modifications.

Possibly related PRs

Suggested labels

dependencies

Poem

🐰 Python 3.14 hops into the fold,
Configuration files dance, both new and old,
The matrices expand with speed and grace,
A modern upgrade quickens the pace,
Version support leaps forward with cheer! 🐇

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description provides a good narrative summary of the changes and links to specific diff sections, but it significantly deviates from the required template structure. The description covers only the initial "Description" section (albeit without the "Fixes #" issue reference), whilst entirely omitting the "Type of change", "How Has This Been Tested?", and "Checklist" sections that are defined in the repository template. Of the four major sections required by the template, only partial content from one section is addressed, falling short of the threshold for being considered "mostly complete". Update the pull request description to follow the template structure by including all required sections: add a "Fixes #" reference if applicable, select the appropriate "Type of change" checkbox (likely "New feature" for Python 3.14 support), describe testing approach in the "How Has This Been Tested?" section, and verify the checklist items before merging.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "add Python 3.14 support" accurately and specifically summarises the main change in the changeset. The descriptive text clearly conveys that the PR adds Python 3.14 support across the project's tooling, test matrix, Docker configuration, and documentation. Whilst the emoji (:sparkles:) is included as a prefix, which guidelines suggest avoiding as visual noise, the core title text is directly related to the changeset and not misleading or off-topic. The title effectively communicates the primary change to a teammate reviewing the pull request history.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/add-python-3.14

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Oct 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.11%. Comparing base (3c3c0b3) to head (880fdd8).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #114   +/-   ##
=======================================
  Coverage   99.11%   99.11%           
=======================================
  Files           8        8           
  Lines         908      908           
=======================================
  Hits          900      900           
  Misses          8        8           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
pyproject.toml (1)

117-117: Update Black target-version to include Python 3.14.

The Black configuration should be synchronised with the newly-added Python 3.14 support to ensure formatting rules account for any version-specific syntax changes.

Apply this diff to include py314:

-target-version = ["py39", "py310", "py311", "py312", "py313"]
+target-version = ["py39", "py310", "py311", "py312", "py313", "py314"]
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3c3c0b3 and 880fdd8.

📒 Files selected for processing (5)
  • .github/workflows/test.yml (11 hunks)
  • CONTRIBUTING.md (1 hunks)
  • Dockerfile (1 hunks)
  • pyproject.toml (1 hunks)
  • tox.ini (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Test (python3.9, mariadb:5.5, 1, true, 3.9)
  • GitHub Check: Test (python3.10, mariadb:5.5, 1, true, 3.10)
  • GitHub Check: Test (python3.11, mariadb:5.5, 1, true, 3.11)
  • GitHub Check: Test (python3.12, mariadb:5.5, 1, true, 3.12)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (5)
CONTRIBUTING.md (1)

16-16: Documentation update is accurate.

The version list correctly reflects Python 3.14 support being added across the project.

tox.ini (1)

9-9: Python 3.14 additions to tox configuration are correct.

Both the envlist (line 9) and gh-actions mapping (line 22) follow the established pattern and are correctly positioned.

Also applies to: 22-22

pyproject.toml (1)

38-38: Classifier addition is correctly positioned.

The new Python 3.14 classifier is properly placed in the version sequence.

Dockerfile (1)

1-1: Dockerfile base image update is appropriate.

The version bump from Python 3.13 to 3.14 is straightforward, with no changes required to subsequent build steps.

.github/workflows/test.yml (1)

74-78: Test matrix additions are comprehensive and correctly structured.

All 11 Python 3.14 entries (one per database variant) are:

  • Properly positioned after their 3.13 counterparts
  • Structurally consistent with existing matrix entries
  • Configured with appropriate legacy_db and experimental flags per database version

Also applies to: 110-114, 146-150, 182-186, 218-222, 254-258, 290-294, 326-330, 362-366, 398-402, 434-438

@techouse techouse merged commit bcf3056 into master Oct 26, 2025
74 checks passed
@techouse techouse deleted the feat/add-python-3.14 branch October 26, 2025 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants