From 3b33e5b15e8db20652c98c5b1a8ad0faca7d3901 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Tue, 15 Oct 2024 09:34:01 +0200 Subject: [PATCH 01/10] feat: active support for Python 3.13 --- .github/workflows/ci_cd.yml | 4 ++-- doc/source/assets.rst | 2 +- doc/source/conf.py | 2 +- doc/source/getting_started/installation.rst | 2 +- pyproject.toml | 1 + tox.ini | 3 ++- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 8836a4e811..5059dc5570 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -87,7 +87,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: @@ -400,7 +400,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/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 c5e9c993f9..4fd1579697 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 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 2b3a676ea7..114620901a 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 = [ 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 From c11a23d6739a1b307451cc8c3de222398593f93d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:34:41 +0000 Subject: [PATCH 02/10] chore: auto fixes from pre-commit hooks --- doc/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 4fd1579697..f14cd8c815 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"] if get_version_match(__version__) == "dev": # Try to retrieve the content three times before failing content = None From 068323119007d4157eed32f74977b817f624f2dc Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:35:51 +0000 Subject: [PATCH 03/10] chore: adding changelog file 1481.added.md [dependabot-skip] --- doc/changelog.d/1481.added.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog.d/1481.added.md 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 From b7f0946e458676d56d96caaf44a9f11a1201db81 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:41:34 +0200 Subject: [PATCH 04/10] trial: attempt to install pre-release wheels for vtk --- .github/workflows/ci_cd.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 5059dc5570..f43dea6057 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -94,6 +94,18 @@ jobs: - should-release: false os: macos-latest steps: + - name: If Python 3.13 - define PIP extra index + if: matrix.python-version == '3.13' + run: | + if [ ${{ runner.os }} == 'Linux' ]; then + echo "PIP_EXTRA_INDEX_URL=https://wheels.vtk.org" | tee -a $GITHUB_ENV + echo "PIP_PRE=1" | tee -a $GITHUB_ENV + else + echo "PIP_EXTRA_INDEX_URL=https://wheels.vtk.org" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "PIP_PRE=1" | Out-File -FilePath $env:GITHUB_ENV -Append + fi + # Allow prereleases + - name: Build wheelhouse and perform smoke test uses: ansys/actions/build-wheelhouse@v8 with: From bf9c627a0d50a1656f029a8e98ab1a6de42ef142 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:47:51 +0200 Subject: [PATCH 05/10] Revert "trial: attempt to install pre-release wheels for vtk" This reverts commit b7f0946e458676d56d96caaf44a9f11a1201db81. --- .github/workflows/ci_cd.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index f43dea6057..5059dc5570 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -94,18 +94,6 @@ jobs: - should-release: false os: macos-latest steps: - - name: If Python 3.13 - define PIP extra index - if: matrix.python-version == '3.13' - run: | - if [ ${{ runner.os }} == 'Linux' ]; then - echo "PIP_EXTRA_INDEX_URL=https://wheels.vtk.org" | tee -a $GITHUB_ENV - echo "PIP_PRE=1" | tee -a $GITHUB_ENV - else - echo "PIP_EXTRA_INDEX_URL=https://wheels.vtk.org" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "PIP_PRE=1" | Out-File -FilePath $env:GITHUB_ENV -Append - fi - # Allow prereleases - - name: Build wheelhouse and perform smoke test uses: ansys/actions/build-wheelhouse@v8 with: From 4c5a8787ec41e4123549ba931cef780b3a84e71a Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:55:11 +0100 Subject: [PATCH 06/10] build: use release candidate for VTK --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 085ef076dc..a834891767 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ tests = [ "scipy==1.14.1", "semver==3.0.2", "six==1.16.0", - "vtk==9.3.1", + "vtk==9.4.0rc3", ] tests-minimal = [ "pytest==8.3.3", @@ -105,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.0rc3", ] [project.urls] From d1a8599c47243959d6f417e5941cf7abbfed66b0 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:49:53 +0100 Subject: [PATCH 07/10] Apply suggestions from code review --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a834891767..551df7712a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ tests = [ "scipy==1.14.1", "semver==3.0.2", "six==1.16.0", - "vtk==9.4.0rc3", + "vtk==9.4.0", ] tests-minimal = [ "pytest==8.3.3", @@ -105,7 +105,7 @@ doc = [ "sphinx-copybutton==0.5.2", "sphinx-jinja==2.0.2", "trame-vtk==2.8.12", - "vtk==9.4.0rc3", + "vtk==9.4.0", ] [project.urls] From 70b0a795877bc83f7ea7eb8a4288e6828cc2145e Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:23:11 +0100 Subject: [PATCH 08/10] build: bump main Python version and intersphinx Python version --- .github/workflows/ci_cd.yml | 2 +- doc/source/conf.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index d5b553a5fd..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' diff --git a/doc/source/conf.py b/doc/source/conf.py index 2e89f963a5..3733b0b6a9 100755 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -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), From 66bf87688e23c1513c74a962b13d4c809128fee3 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:23:44 +0100 Subject: [PATCH 09/10] build: missing bump --- .github/workflows/nightly_docker_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_docker_test.yml b/.github/workflows/nightly_docker_test.yml index 381572f43b..b55bc599bc 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 From 0d1109f25faa8a6bb255364212349e4319d00531 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:00:11 +0100 Subject: [PATCH 10/10] Update nightly_docker_test.yml --- .github/workflows/nightly_docker_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_docker_test.yml b/.github/workflows/nightly_docker_test.yml index b55bc599bc..94c837456c 100644 --- a/.github/workflows/nightly_docker_test.yml +++ b/.github/workflows/nightly_docker_test.yml @@ -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