Skip to content

Conversation

@techouse
Copy link
Owner

This pull request adds support for Python 3.14 throughout the project. The changes ensure that the tool can be built, tested, and run with Python 3.14, updating documentation, configuration files, and CI workflows accordingly.

Python 3.14 support

  • Updated the Dockerfile to use python:3.14-alpine as the base image, enabling builds and deployments with Python 3.14.
  • Added Python 3.14 to the envlist and python mappings in tox.ini, allowing local and CI testing with Python 3.14. [1] [2]
  • Included Python 3.14 in the classifiers section of pyproject.toml to advertise support for Python 3.14 in package metadata.

Continuous Integration (CI) updates

  • Added Python 3.14 test jobs for all supported database versions in .github/workflows/test.yml, both experimental and non-experimental, ensuring full CI coverage for the new Python version. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Documentation

  • Updated CONTRIBUTING.md to list Python 3.14 as a supported version, keeping documentation accurate for contributors.

@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

Adds Python 3.14 across CI, packaging metadata, tox, documentation, and the Docker base image; expands GitHub Actions test matrix to include python3.14 variants for all existing database configurations.

Changes

Cohort / File(s) Summary
CI matrix
.github/workflows/test.yml
Adds toxenv: "python3.14" / py: "3.14" entries across all matrix groups and database variants, mirroring existing Python versions.
Tox / GH-Actions mapping
tox.ini
Adds python3.14 to the envlist and maps 3.14: python3.14 under the [gh-actions] section.
Package metadata & formatting
pyproject.toml
Adds Programming Language :: Python :: 3.14 classifier and includes py314 in Black target-version.
Docs
CONTRIBUTING.md
Updates supported Python versions text to include 3.14.
Container image
Dockerfile
Bumps base image from python:3.13-alpine to python:3.14-alpine.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Focus review on consistency of the extended matrix entries in .github/workflows/test.yml across all DB groups.
  • Verify Dockerfile base image bump has no implicit Alpine/Python-ABI implications.
  • Confirm pyproject/classifier and Black target updates align with packaging and CI tooling.

Possibly related PRs

Suggested labels

dependencies

Poem

🐰 A new Python hops into sight,

Three-fourteen dances, nimble and bright.
CI and containers all line up in tune,
Tests will run under the harvest moon.
Hooray — I nibble carrots and hum a tune! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description provides detailed, well-structured content explaining what was changed and why, with specific references to affected files and their modifications. However, it significantly deviates from the required template structure by omitting several major sections: the "Type of change" section (no indication of whether this is a new feature, bug fix, or breaking change), the "How Has This Been Tested?" section (no description of testing performed or reproduction steps), and the "Checklist" section (no confirmation of code review, style adherence, or testing completion). These are not minor or non-critical omissions—they are core sections of the provided template that support code review workflow. Update the pull request description to include the missing template sections. Specifically, mark the appropriate checkbox under "Type of change" (this appears to be a "New feature"), describe how the changes were tested in the "How Has This Been Tested?" section, and complete the checklist items to confirm that code review, style guidelines, and testing requirements have been satisfied. The existing narrative content is valuable and should be retained alongside these template additions.
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 :sparkles: add Python 3.14 support is concise, clear, and directly summarises the primary change across the entire changeset. The raw summary confirms that all modified files—including .github/workflows/test.yml, Dockerfile, tox.ini, pyproject.toml, and CONTRIBUTING.md—are uniformly focused on adding Python 3.14 support. The title is specific enough that a teammate scanning the repository history would immediately understand the main objective of the change.
✨ 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

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 564e4d1 and 2895b83.

📒 Files selected for processing (1)
  • pyproject.toml (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). (9)
  • GitHub Check: Test (python3.10, mariadb:10.0, 1, true, 3.10)
  • GitHub Check: Test (python3.9, mariadb:10.0, 1, true, 3.9)
  • GitHub Check: Test (python3.14, mariadb:5.5, 1, true, 3.14)
  • GitHub Check: Test (python3.10, mariadb:5.5, 1, true, 3.10)
  • GitHub Check: Test (python3.13, mariadb:5.5, 1, true, 3.13)
  • GitHub Check: Test (python3.9, mariadb:5.5, 1, true, 3.9)
  • GitHub Check: Test (python3.12, mariadb:5.5, 1, true, 3.12)
  • GitHub Check: Test (python3.11, mariadb:5.5, 1, true, 3.11)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (2)
pyproject.toml (2)

38-38: Python 3.14 classifier correctly added.

The classifier is properly positioned in sequence after Python 3.13 and follows the established naming convention.


118-118: Black target-version updated appropriately.

The addition of "py314" to the Black configuration is consistent with the Python 3.14 classifier addition and aligns with the project's supported versions.


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.

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)

118-118: Update black's target-version to include Python 3.14.

The project now advertises Python 3.14 support (line 38) but Black's target-version (line 118) omits "py314". This inconsistency may result in suboptimal formatting decisions for Python 3.14.

Update the target-version list:

-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 467b518 and 564e4d1.

📒 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)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-23T18:16:08.709Z
Learnt from: CR
PR: techouse/sqlite3-to-mysql#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-23T18:16:08.709Z
Learning: Use tox -e linters before merging (runs black, isort, flake8, pylint, bandit, mypy) and tox -e python3.12 for a test subset

Applied to files:

  • tox.ini
🔇 Additional comments (5)
Dockerfile (1)

1-1: LGTM – straightforward base image update.

The Dockerfile upgrade to python:3.14-alpine aligns correctly with the PR's Python 3.14 support objective. No functional changes beyond the version bump.

CONTRIBUTING.md (1)

16-16: LGTM – documentation updated correctly.

The supported Python versions list now accurately reflects Python 3.14 support alongside existing versions. Documentation is clear and consistent with the rest of the PR changes.

pyproject.toml (1)

38-38: LGTM – classifier added correctly.

The Python 3.14 classifier is appropriately added to advertise package support.

tox.ini (1)

9-9: LGTM – tox configuration updated correctly.

Both envlist (line 9) and gh-actions Python mapping (line 22) correctly add python3.14 support, following the established pattern and ensuring local and CI testing can target the new Python version.

Also applies to: 22-22

.github/workflows/test.yml (1)

77-81: LGTM – CI test matrix comprehensive and consistent.

Python 3.14 matrix entries have been added across all 11 database configurations (MariaDB 5.5, 10.0, 10.6, 10.11, 11.4, 11.8 and MySQL 5.5, 5.6, 5.7, 8.0, 8.4) with correct flags preserved for each (experimental, legacy_db). Coverage is complete and follows the established pattern used for Python 3.9–3.13.

Also applies to: 113-117, 149-153, 185-189, 221-225, 257-261, 293-297, 329-333, 365-369, 400-404, 436-440

@codecov
Copy link

codecov bot commented Oct 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.32%. Comparing base (467b518) to head (2895b83).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #150   +/-   ##
=======================================
  Coverage   98.32%   98.32%           
=======================================
  Files           8        8           
  Lines        1016     1016           
=======================================
  Hits          999      999           
  Misses         17       17           

☔ 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.

@techouse techouse merged commit 8aa8477 into master Oct 27, 2025
74 checks passed
@techouse techouse deleted the feat/add-python-3.14 branch October 27, 2025 06:05
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