From 7375dcfe9f4beace2fdea031e4a27453d5702b97 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 9 Oct 2025 10:37:53 +0200 Subject: [PATCH 1/5] build: supporting Python 3.14 --- .github/workflows/backwards_compatibility.yml | 2 +- .github/workflows/ci_cd.yml | 8 ++++---- .github/workflows/nightly_docker_test.yml | 2 +- doc/source/assets.rst | 2 +- doc/source/conf.py | 4 ++-- doc/source/getting_started/installation.rst | 2 +- pyproject.toml | 1 + tox.ini | 1 + 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/backwards_compatibility.yml b/.github/workflows/backwards_compatibility.yml index 1647e4064c..4435ea9f6d 100644 --- a/.github/workflows/backwards_compatibility.yml +++ b/.github/workflows/backwards_compatibility.yml @@ -9,7 +9,7 @@ on: - main env: - MAIN_PYTHON_VERSION: '3.13' + MAIN_PYTHON_VERSION: '3.14' ANSRV_GEO_IMAGE: 'ghcr.io/ansys/geometry' ANSRV_GEO_PORT: 700 ANSRV_GEO_LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 84bd447754..78c72f3868 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -9,7 +9,7 @@ on: - main env: - MAIN_PYTHON_VERSION: '3.13' + MAIN_PYTHON_VERSION: '3.14' PACKAGE_NAME: 'ansys-geometry-core' DOCUMENTATION_CNAME: 'geometry.docs.pyansys.com' ANSRV_GEO_IMAGE: 'ghcr.io/ansys/geometry' @@ -91,7 +91,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] should-release: - ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} exclude: @@ -491,7 +491,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Set up headless display uses: pyvista/setup-headless-display-action@7d84ae825e6d9297a8e99bdbbae20d1b919a0b19 # v4.2 @@ -547,7 +547,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10', '3.13'] + python-version: ['3.10', '3.14'] steps: - name: Login in Github Container registry uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 diff --git a/.github/workflows/nightly_docker_test.yml b/.github/workflows/nightly_docker_test.yml index 869600fd4c..bdac981c0a 100644 --- a/.github/workflows/nightly_docker_test.yml +++ b/.github/workflows/nightly_docker_test.yml @@ -21,7 +21,7 @@ on: - v* env: - MAIN_PYTHON_VERSION: '3.13' + MAIN_PYTHON_VERSION: '3.14' ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG: ghcr.io/ansys/geometry:core-windows-latest-unstable ANSRV_GEO_IMAGE_LINUX_CORE_TAG: ghcr.io/ansys/geometry:core-linux-latest-unstable ANSRV_GEO_PORT: 710 diff --git a/doc/source/assets.rst b/doc/source/assets.rst index dd43f70d10..b233e8d9b9 100644 --- a/doc/source/assets.rst +++ b/doc/source/assets.rst @@ -18,7 +18,7 @@ If you lack an internet connection on your installation machine, you should inst by downloading the wheelhouse archive. Each wheelhouse archive contains all the Python wheels necessary to install PyAnsys Geometry from scratch on Windows, -Linux, and MacOS from Python 3.10 to 3.13. You can install this on an isolated system with a fresh Python +Linux, and MacOS from Python 3.10 to 3.14. You can install this on an isolated system with a fresh Python installation or on a virtual environment. For example, on Linux with Python 3.10, unzip the wheelhouse archive and install it with: diff --git a/doc/source/conf.py b/doc/source/conf.py index 1a4da74617..887ea4de81 100755 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -41,7 +41,7 @@ def get_wheelhouse_assets_dictionary(): """Auxiliary method to build the wheelhouse assets dictionary.""" assets_context_os = ["Linux", "Windows", "MacOS"] assets_context_runners = ["ubuntu-latest", "windows-latest", "macos-latest"] - assets_context_python_versions = ["3.10", "3.11", "3.12", "3.13"] + assets_context_python_versions = ["3.10", "3.11", "3.12", "3.13", "3.14"] if get_version_match(__version__) == "dev": # Try to retrieve the content three times before failing content = None @@ -202,7 +202,7 @@ def intersphinx_pyansys_geometry(switcher_version: str): # Intersphinx mapping intersphinx_mapping = { - "python": ("https://docs.python.org/3.13", None), + "python": ("https://docs.python.org/3.14", None), "numpy": ("https://numpy.org/doc/stable", None), "scipy": ("https://docs.scipy.org/doc/scipy", None), "pyvista": ("https://docs.pyvista.org", None), diff --git a/doc/source/getting_started/installation.rst b/doc/source/getting_started/installation.rst index ffbda2affa..0f568f4f37 100644 --- a/doc/source/getting_started/installation.rst +++ b/doc/source/getting_started/installation.rst @@ -87,7 +87,7 @@ archive for your corresponding machine architecture from the repository's `Relea `_. Each wheelhouse archive contains all the Python wheels necessary to install PyAnsys Geometry from scratch on Windows, -Linux, and MacOS from Python 3.10 to 3.13. You can install this on an isolated system with a fresh Python +Linux, and MacOS from Python 3.10 to 3.14. You can install this on an isolated system with a fresh Python installation or on a virtual environment. For example, on Linux with Python 3.10, unzip the wheelhouse archive and install it with these commands: diff --git a/pyproject.toml b/pyproject.toml index ddffb3e5da..3c45b8ca0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ diff --git a/tox.ini b/tox.ini index 4252087217..fd31a264eb 100644 --- a/tox.ini +++ b/tox.ini @@ -13,6 +13,7 @@ basepython = tests311: python3.11 tests312: python3.12 tests313: python3.13 + tests313: python3.14 {style,tests,doc}: python3 setenv = PYTHONUNBUFFERED = yes From 728be783acba1e4757ddf7c75ec45223cb56baf0 Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Thu, 9 Oct 2025 08:39:40 +0000 Subject: [PATCH 2/5] chore: adding changelog file 2296.dependencies.md [dependabot-skip] --- doc/changelog.d/2296.dependencies.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog.d/2296.dependencies.md diff --git a/doc/changelog.d/2296.dependencies.md b/doc/changelog.d/2296.dependencies.md new file mode 100644 index 0000000000..db54bb1ca6 --- /dev/null +++ b/doc/changelog.d/2296.dependencies.md @@ -0,0 +1 @@ +Supporting Python 3.14 From f21ef69d1948b996f6ea237c818d26ecddbec50f Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 9 Oct 2025 10:47:36 +0200 Subject: [PATCH 3/5] build: bump numpy --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3c45b8ca0e..f5e519a7c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,7 @@ tests = [ "grpcio==1.75.0", "grpcio-health-checking==1.75.0", "matplotlib==3.10.6", - "numpy==2.2.6", + "numpy==2.3.3", "Pint==0.24.4", "protobuf==6.32.1", "pygltflib==1.16.5", @@ -105,7 +105,7 @@ doc = [ "nbsphinx==0.9.6", "notebook==7.4.7", "numpydoc==1.9.0", - "numpy==2.2.6", + "numpy==2.3.3", "panel==1.8.1", "pdf2image==1.17.0", "Pint==0.24.4", From 3509ccd6c3bc0e35fe724df72cd9d35a5c829f64 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 9 Oct 2025 10:54:07 +0200 Subject: [PATCH 4/5] build: bump scipy --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f5e519a7c1..c22bd521d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,7 +76,7 @@ tests = [ "pyvista[jupyter]==0.46.3", "pyyaml==6.0.3", "requests==2.32.5", - "scipy==1.15.3", + "scipy==1.16.2", "semver==3.0.4", "six==1.17.0", "vtk==9.5.2", @@ -114,7 +114,7 @@ doc = [ "pyvista[jupyter]==0.46.3", "quarto-cli==1.8.25", "requests==2.32.5", - "scipy==1.15.3", + "scipy==1.16.2", "semver==3.0.4", "six==1.17.0", "sphinx==8.2.3", From 7c3637ca64cc9c1baf66b78c6245d7dc49972502 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Tue, 14 Oct 2025 08:44:29 +0200 Subject: [PATCH 5/5] Update tox.ini --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index fd31a264eb..fc431508b5 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,7 @@ basepython = tests311: python3.11 tests312: python3.12 tests313: python3.13 - tests313: python3.14 + tests314: python3.14 {style,tests,doc}: python3 setenv = PYTHONUNBUFFERED = yes