Skip to content

Update latest supported python release to 3.13 #334

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

isteinbrecher
Copy link
Collaborator

Set the latest supported python version to 3.13.

@isteinbrecher isteinbrecher marked this pull request as ready for review May 5, 2025 06:06
@isteinbrecher
Copy link
Collaborator Author

isteinbrecher commented May 5, 2025

Pipelines passed. The only weird thing is that the all of the python3.13 pipelines took significantly longer than the python3.10 ones.

EDIT: We should maybe consider an own action for installing MeshPy, then we could easily see if this extra time is in the setup of MeshPy or the tests (here it is in the setup)

@isteinbrecher isteinbrecher marked this pull request as draft May 5, 2025 06:41
@isteinbrecher
Copy link
Collaborator Author

There are also some deprecation warnings. I am marking this as draft for now.

@davidrudlstorfer
Copy link
Collaborator

I've actually wanted to try this out yesterday during my investigation of the failing code checks.

This is really nice and we should add 3.13 ASAP.

Regarding the deprecation warnings - which one do you mean? As far as I can see no deprecation warnings are related to Python 3.13 or MeshPy (directly).

I think we could merge this in its current form

@isteinbrecher
Copy link
Collaborator Author

Good, then let't see that we can merge this soon! I had a look and the newly introduced warnings are the following (non are related to actual MeshPy code):

  • Should be fixed in pyvista utils
      /opt/hostedtoolcache/Python/3.13.3/x64/lib/python3.13/site-packages/vtk_utils/compare_grids.py:126: DeprecationWarning: Call to deprecated method GetFaces. (Use GetPolyhedronFaces instead.) -- Deprecated since version 9.4.0.
        grid_1.GetFaces(), grid_2.GetFaces(), "face_connectivity"
    
  • If possible, should be fixed in splinepy
    tests/test_mesh_creation_functions.py::test_mesh_creation_functions_nurbs_unit
      /opt/hostedtoolcache/Python/3.13.3/x64/lib/python3.13/site-packages/splinepy/spline.py:731: FutureWarning: functools.partial will be a method descriptor in future Python versions; wrap it in staticmethod() if you want to preserve the old behavior
        self._logd(
    
    tests/test_mesh_creation_functions.py::test_mesh_creation_functions_nurbs_unit
      /opt/hostedtoolcache/Python/3.13.3/x64/lib/python3.13/site-packages/splinepy/spline.py:1149: FutureWarning: functools.partial will be a method descriptor in future Python versions; wrap it in staticmethod() if you want to preserve the old behavior
        self._logd("Evaluating spline")
    
    tests/test_mesh_creation_functions.py::test_mesh_creation_functions_nurbs
    tests/test_mesh_creation_functions.py::test_mesh_creation_functions_nurbs_unit
      /opt/hostedtoolcache/Python/3.13.3/x64/lib/python3.13/site-packages/splinepy/spline.py:1202: FutureWarning: functools.partial will be a method descriptor in future Python versions; wrap it in staticmethod() if you want to preserve the old behavior
        self._logd("Evaluating derivatives of the spline")
    

I will take care of the first one and will talk to @clemens-fricke (for full reference also tagging @j042) about the relevance of the others.

The only reason why I would wait for now is that splinepy only provides pre-build wheels for python<3.12, so pip is building the underlying C++ code in each testing job, which causes the jobs to take between 8 and 20 minutes, compared to the 1,5-3 minutes for older python versions (I am actually amazed that this works, but would like to keep the low testing time if possible). I have already contacted to the splinepy developers and they will see if they can publish pre-build wheels for python3.13.

@clemens-fricke
Copy link

Ahh yeah, that was the reason why we postponed the integration of the 3.13 version. If I have time, I will look into it...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants