pymapdl icon indicating copy to clipboard operation
pymapdl copied to clipboard

chore: active support for Python 3.13

Open clatapie opened this issue 1 year ago • 13 comments

Description

Active support for Python 3.13 Closes https://github.com/ansys/pymapdl/issues/3600

Checklist

clatapie avatar Dec 09 '24 10:12 clatapie

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

@ansys-reviewer-bot review

ansys-reviewer-bot[bot] avatar Dec 09 '24 10:12 ansys-reviewer-bot[bot]

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

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     
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Dec 09 '24 11:12 codecov[bot]

@clatapie

image

Only VTK 9.4.0 is compatible with 3.13

RobPasMue avatar Dec 10 '24 09:12 RobPasMue

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

clatapie avatar Dec 10 '24 09:12 clatapie

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

RobPasMue avatar Dec 11 '24 07:12 RobPasMue

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

Yep. This is on hold until https://github.com/ansys/ansys-tools-visualization-interface/issues/208 is fixed.

germa89 avatar Dec 11 '24 10:12 germa89

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

germa89 avatar Dec 11 '24 12:12 germa89

ATVI

Not another acronym pls 😭

RobPasMue avatar Dec 11 '24 13:12 RobPasMue

ATVI

Not another acronym pls 😭

We need it! xDDD

germa89 avatar Dec 13 '24 13:12 germa89

By the way, getting Python segfaults when using VTK 9.4.0... so this PR has to wait...

https://github.com/ansys/pymapdl/pull/3615

germa89 avatar Dec 13 '24 13:12 germa89

Summarise:

PyVista doesn't yet support VTK 9.4, and VTK 9.3 doesn't support Python 3.13.

So we must wait for pyvista 0.44.3.

Ref: https://github.com/pyvista/pyvista/issues/6857#issuecomment-2501600048

germa89 avatar Feb 26 '25 12:02 germa89

So we must wait for pyvista 0.44.3.

PyVista 0.45.0 with support for Python 3.13 has been released 🎉

greschd avatar Apr 22 '25 15:04 greschd

So we must wait for pyvista 0.44.3.

PyVista 0.45.0 with support for Python 3.13 has been released 🎉

germa89 avatar Apr 22 '25 16:04 germa89

What's the status here @clatapie @germa89 ?

RobPasMue avatar May 06 '25 13:05 RobPasMue

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

germa89 avatar May 06 '25 16:05 germa89

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

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar May 06 '25 16:05 sourcery-ai[bot]

@pyansys-ci-bot LGTM.

germa89 avatar May 06 '25 16:05 germa89

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

germa89 avatar May 06 '25 17:05 germa89

Great news!

MaxJPRey avatar May 06 '25 18:05 MaxJPRey