Skip to content

Conversation

@clatapie
Copy link
Contributor

@clatapie clatapie commented Dec 9, 2024

Description

Active support for Python 3.13
Closes #3600

Checklist

Summary by Sourcery

Add active support for Python 3.13 across the project's workflows, configuration, and dependencies

New Features:

  • Added support for Python 3.13 in project configuration and test matrices

CI:

  • Updated CI workflows to test against Python 3.13
  • Modified test matrix to include Python 3.13 in various testing scenarios

Chores:

  • Updated Python version constraints in pyproject.toml
  • Updated VTK dependency to version 9.4.2
  • Modified GitHub workflows to include Python 3.13 testing

@clatapie clatapie self-assigned this Dec 9, 2024
@clatapie clatapie requested a review from a team as a code owner December 9, 2024 10:16
@clatapie clatapie requested review from germa89 and pyansys-ci-bot and removed request for a team December 9, 2024 10:16
@ansys-reviewer-bot
Copy link
Contributor

Thanks for opening a Pull Request. If you want to perform a review write a comment saying:

@ansys-reviewer-bot review

@github-actions github-actions bot added CI/CD Related with CICD, Github Actions, etc documentation Documentation related (improving, adding, etc) dependencies maintenance General maintenance of the repo (libraries, cicd, etc) enhancement Improve any current implemented feature labels Dec 9, 2024
@codecov
Copy link

codecov bot commented Dec 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.29%. Comparing base (9209421) to head (05c6046).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3605      +/-   ##
==========================================
- Coverage   88.30%   88.29%   -0.02%     
==========================================
  Files         187      187              
  Lines       14819    14819              
==========================================
- Hits        13086    13084       -2     
- Misses       1733     1735       +2     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@clatapie clatapie requested a review from RobPasMue December 9, 2024 15:30
Copy link
Collaborator

@germa89 germa89 left a comment

Choose a reason for hiding this comment

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

LGTM when @RobPasMue suggestions have beem implemented.

@RobPasMue
Copy link
Member

@clatapie

image

Only VTK 9.4.0 is compatible with 3.13

@clatapie
Copy link
Contributor Author

Thanks @RobPasMue. I updated all the vtk versions, including the ones within .devcontainer.

@RobPasMue
Copy link
Member

Seems to me like you are hitting some PyVista 3.13 incompatibilities.

@germa89
Copy link
Collaborator

germa89 commented Dec 11, 2024

Seems to me like you are hitting some PyVista 3.13 incompatibilities.

Yep. This is on hold until ansys/ansys-tools-visualization-interface#208 is fixed.

@germa89 germa89 added the DO NOT MERGE Not ready to be merged yet label Dec 11, 2024
@germa89 germa89 marked this pull request as draft December 11, 2024 10:36
@germa89
Copy link
Collaborator

germa89 commented Dec 11, 2024

We are going to need a patch release in ATVI (ansys-tools-visualization-interface).

@RobPasMue
Copy link
Member

What's the status here @clatapie @germa89 ?

@germa89 germa89 marked this pull request as ready for review May 6, 2025 16:19
@germa89
Copy link
Collaborator

germa89 commented May 6, 2025

@RobPasMue @MaxJPRey @clatapie .... well.. that was unexpected.

@germa89 germa89 requested a review from RobPasMue May 6, 2025 16:21
@germa89 germa89 self-assigned this May 6, 2025
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented May 6, 2025

Reviewer's Guide

This pull request implements active support for Python 3.13 by modifying CI workflows to include 3.13 in test matrices and configurations, updating project files (pyproject.toml, tox.ini) to reflect Python 3.13 compatibility and version ranges, and upgrading the VTK dependency. Issue templates and the changelog were also updated to include Python 3.13.

File-Level Changes

Change Details Files
Enhanced CI/CD pipelines for Python 3.13 testing.
  • Integrated Python 3.13 into CI test matrices and workflow configurations.
  • Parameterized Python version inputs for reusable workflows.
  • Updated package installation in local tests to use pip install ..
  • Added gcc installation for specific MAPDL versions in the local test workflow.
.github/workflows/test-local.yml
.github/workflows/ci.yml
.github/workflows/test-remote.yml
Aligned project configuration with Python 3.13 support.
  • Updated requires-python in pyproject.toml to support Python 3.13 (up to <3.14).
  • Added Python 3.13 classifier in pyproject.toml.
  • Integrated py313 environment in tox.ini.
pyproject.toml
tox.ini
Managed project dependencies, primarily VTK.
  • Upgraded VTK dependency to version 9.4.2 in project and example files.
  • Removed VTK from devcontainer-specific requirements files, likely relying on pyproject.toml extras.
pyproject.toml
doc/source/examples/extended_examples/gui/requirements.txt
.devcontainer/codespaces-dev/requirements.txt
.devcontainer/codespaces-docs/requirements.txt
Updated development and tracking resources for Python 3.13.
  • Incorporated Python 3.13 as an option in issue templates.
  • Added a changelog entry documenting Python 3.13 support.
.github/ISSUE_TEMPLATE/bug.yml
.github/ISSUE_TEMPLATE/examples.yml
doc/changelog.d/3605.added.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @clatapie - I've reviewed your changes - here's some feedback:

  • Consider using a workflow input or a global variable for the Python version in ci.yml jobs (e.g., check-vulnerabilities, build-library) instead of hardcoding '3.13' directly.
  • The vtk dependency is updated in pyproject.toml but removed from devcontainer requirement files; please clarify if this discrepancy is intended.
  • The test-local workflow now installs the package via python -m pip install . instead of building/installing a wheel; confirm this change in installation strategy.
Here's what I looked at during the review
  • 🟡 General issues: 1 issue found
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Member

@RobPasMue RobPasMue left a comment

Choose a reason for hiding this comment

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

LGTM!

@germa89
Copy link
Collaborator

germa89 commented May 6, 2025

@pyansys-ci-bot LGTM.

@germa89 germa89 enabled auto-merge (squash) May 6, 2025 16:38
Copy link
Contributor

@pyansys-ci-bot pyansys-ci-bot left a comment

Choose a reason for hiding this comment

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

✅ Approving this PR because germa89 said so in here 😬

LGTM

@germa89
Copy link
Collaborator

germa89 commented May 6, 2025

@RobPasMue building the wheels also works (It should anyways). So I am merging now.

@germa89 germa89 merged commit 1ec7e5c into main May 6, 2025
50 checks passed
@germa89 germa89 deleted the chore/supporting_python3.13 branch May 6, 2025 17:40
@MaxJPRey
Copy link
Contributor

MaxJPRey commented May 6, 2025

Great news!

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

Labels

CI/CD Related with CICD, Github Actions, etc dependencies DO NOT MERGE Not ready to be merged yet documentation Documentation related (improving, adding, etc) enhancement Improve any current implemented feature maintenance General maintenance of the repo (libraries, cicd, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MAINTENANCE] Support for Python 3.13

7 participants