diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index c63b81b6fd..493c4dd311 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -9,7 +9,7 @@ on: - main env: - MAIN_PYTHON_VERSION: '3.12' + MAIN_PYTHON_VERSION: '3.13' PACKAGE_NAME: 'ansys-geometry-core' DOCUMENTATION_CNAME: 'geometry.docs.pyansys.com' ANSRV_GEO_IMAGE: 'ghcr.io/ansys/geometry' @@ -78,7 +78,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12', '3.13'] should-release: - ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} exclude: @@ -407,7 +407,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - name: Login in Github Container registry uses: docker/login-action@v3 diff --git a/.github/workflows/nightly_docker_test.yml b/.github/workflows/nightly_docker_test.yml index 381572f43b..94c837456c 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.11' + MAIN_PYTHON_VERSION: '3.13' ANSRV_GEO_IMAGE_WINDOWS_TAG: ghcr.io/ansys/geometry:windows-latest-unstable ANSRV_GEO_IMAGE_LINUX_TAG: ghcr.io/ansys/geometry:linux-latest-unstable ANSRV_GEO_PORT: 710 @@ -53,7 +53,7 @@ jobs: python-version: ${{ env.MAIN_PYTHON_VERSION }} - name: Set up headless display - uses: pyvista/setup-headless-display-action@v2 + uses: pyvista/setup-headless-display-action@v3 with: pyvista: false diff --git a/doc/changelog.d/1481.added.md b/doc/changelog.d/1481.added.md new file mode 100644 index 0000000000..fe048c7ac1 --- /dev/null +++ b/doc/changelog.d/1481.added.md @@ -0,0 +1 @@ +active support for Python 3.13 \ No newline at end of file diff --git a/doc/source/assets.rst b/doc/source/assets.rst index 80a4d9b4ab..4344ef1500 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.12. You can install this on an isolated system with a fresh Python +Linux, and MacOS from Python 3.10 to 3.13. 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 b775877604..3733b0b6a9 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"] + assets_context_python_versions = ["3.10", "3.11", "3.12", "3.13"] if get_version_match(__version__) == "dev": # Try to retrieve the content three times before failing content = None @@ -196,7 +196,7 @@ def intersphinx_pyansys_geometry(switcher_version: str): # Intersphinx mapping intersphinx_mapping = { - "python": ("https://docs.python.org/3.11", None), + "python": ("https://docs.python.org/3.13", 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 2d15d640d6..efb25427bd 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.12. You can install this on an isolated system with a fresh Python +Linux, and MacOS from Python 3.10 to 3.13. 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 7ff352fb31..2c24734609 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ @@ -66,7 +67,7 @@ tests = [ "scipy==1.14.1", "semver==3.0.2", "six==1.16.0", - "vtk==9.3.1", + "vtk==9.4.0", ] tests-minimal = [ "pytest==8.3.3", @@ -104,7 +105,7 @@ doc = [ "sphinx-copybutton==0.5.2", "sphinx-jinja==2.0.2", "trame-vtk==2.8.12", - "vtk==9.3.1", + "vtk==9.4.0", ] [project.urls] diff --git a/tox.ini b/tox.ini index 1a9ad505d0..4252087217 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] description = Default tox environments list envlist = - style,{tests310,tests311,tests312}{,-coverage},doc + style,{tests310,tests311,tests312,tests313}{,-coverage},doc skip_missing_interpreters = true isolated_build = true isolated_build_env = build @@ -12,6 +12,7 @@ basepython = tests310: python3.10 tests311: python3.11 tests312: python3.12 + tests313: python3.13 {style,tests,doc}: python3 setenv = PYTHONUNBUFFERED = yes