+
Skip to content

Conversation

arkid15r
Copy link
Collaborator

@arkid15r arkid15r commented Oct 9, 2025

Proposed change

Switch to Python 3.14

Type of change

  • New country/market holidays support (thank you!)
  • Supported country/market holidays update (calendar discrepancy fix, localization)
  • Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • Dependency update (version deprecation/pin/upgrade)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (a code change causing existing functionality to break)
  • New feature (new holidays functionality in general)

Checklist

Copy link
Contributor

coderabbitai bot commented Oct 9, 2025

Summary by CodeRabbit

  • New Features

    • Official support for Python 3.14.
  • Documentation

    • Read the Docs now builds with the latest Python and uses an explicit MkDocs configuration.
  • Chores

    • CI pipelines migrated to Python 3.14 across all jobs.
    • Project metadata updated to advertise Python 3.14 compatibility.
    • Test configuration aligned with Python 3.14.
    • Development tooling updated, including pre-commit hooks and docs test environment.

Walkthrough

Bumps Python version references from 3.13 to 3.14 across CI workflows, tox, tests, and docs configs; adds Python 3.14 classifier; updates a pre-commit hook revision; tweaks Read the Docs to use latest Python and adds mkdocs block.

Changes

Cohort / File(s) Summary of changes
CI workflows (Python 3.14 migration)
.github/workflows/ci-cd.yml, .github/workflows/pre-commit-autoupdate.yml, .github/workflows/update-snapshots.yml
Update setup-python steps to use Python 3.14; no other workflow logic changes.
Pre-commit config
.pre-commit-config.yaml
Bump tox-dev/pyproject-fmt from v2.7.0 to v2.8.0.
Docs build config
.readthedocs.yaml
Switch Python tool from 3.13 to latest; add mkdocs block (mkdocs.yml); move version: 2 to bottom.
Packaging metadata
pyproject.toml
Add classifier: Python :: 3.14.
Tests
tests/common.py
Update PYTHON_LATEST_SUPPORTED_VERSION to "3.14".
Tox
tox.ini
Update docs env interpreter from python3.13 to python3.14.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

ci, test

Suggested reviewers

  • KJhellico
  • PPsyrius

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title succinctly describes the primary change of the pull request, namely switching the project to Python 3.14, and does so in a clear and concise way without unnecessary detail or noise.
Description Check ✅ Passed The description directly states the change to Python 3.14 and includes relevant context and checklist information, making it clearly related to the contents of the pull request.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Ruff (0.13.3)
tests/common.py

�[1;31mruff failed�[0m
�[1mCause:�[0m Failed to load configuration /ruff.toml
�[1mCause:�[0m Failed to parse /ruff.toml
�[1mCause:�[0m TOML parse error at line 26, column 3
|
26 | "RSE100", # Use of assert detected
| ^^^^^^^^
Unknown rule selector: RSE100


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

sonarqubecloud bot commented Oct 9, 2025

Copy link

codecov bot commented Oct 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (46ff2f2) to head (8e745ce).
⚠️ Report is 3 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #2997   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          305       305           
  Lines        17996     17996           
  Branches      2321      2321           
=========================================
  Hits         17996     17996           

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

@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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
.github/workflows/update-snapshots.yml (1)

21-30: Allow pre-release 3.14 on this runner too.

This job will also choke until 3.14 GA because setup-python won’t serve it yet. Mirror the fix: enable prereleases before pinning to 3.14.

       - name: Set up Python
         uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c
         with:
           cache: pip
           cache-dependency-path: |
             requirements/build.txt
             requirements/runtime.txt
           check-latest: true
-          python-version: '3.14'
+          allow-prereleases: true
+          python-version: '3.14'
.github/workflows/ci-cd.yml (1)

40-45: Enable prerelease installs wherever we pin 3.14.

Every setup-python step that hard-pins '3.14' (pre-commit, build, test-build, test-docs) needs allow-prereleases: true; otherwise the action errors until the final 3.14 image ships. Please add it across those steps.

         with:
           check-latest: true
-          python-version: '3.14'
+          allow-prereleases: true
+          python-version: '3.14'

Repeat the same tweak for the build, test-build, and test-docs jobs.

Also applies to: 126-134, 181-190, 216-222

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 46ff2f2 and 8e745ce.

📒 Files selected for processing (8)
  • .github/workflows/ci-cd.yml (4 hunks)
  • .github/workflows/pre-commit-autoupdate.yml (1 hunks)
  • .github/workflows/update-snapshots.yml (1 hunks)
  • .pre-commit-config.yaml (1 hunks)
  • .readthedocs.yaml (1 hunks)
  • pyproject.toml (1 hunks)
  • tests/common.py (1 hunks)
  • tox.ini (1 hunks)
⏰ Context from checks skipped due to timeout of 300000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test Python 3.14 on windows-latest
  • GitHub Check: Test Python 3.13 on windows-latest
🔇 Additional comments (1)
.readthedocs.yaml (1)

4-11: Double-check python: latest compatibility.

Read the Docs’ config schema usually expects an explicit version (for example "3.12"). If "latest" isn’t accepted, the build will fail when this lands. Please confirm with RTD and pin to a supported value if needed.

@arkid15r arkid15r marked this pull request as ready for review October 9, 2025 01:54
Copy link
Collaborator

@PPsyrius PPsyrius left a comment

Choose a reason for hiding this comment

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

LGTM 🛠️

Copy link
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

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

LGTM.

@arkid15r arkid15r added this pull request to the merge queue Oct 9, 2025
Merged via the queue into vacanza:dev with commit 35ae485 Oct 9, 2025
36 checks passed
@arkid15r arkid15r deleted the ark/bump-3.14 branch October 9, 2025 19:49
@coderabbitai coderabbitai bot mentioned this pull request Oct 10, 2025
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载