diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 05871dff..4995cb69 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -10,7 +10,7 @@ on: - main env: - MAIN_PYTHON_VERSION: '3.12' + MAIN_PYTHON_VERSION: '3.13' RESET_IMAGE_CACHE: 0 PACKAGE_NAME: ansys-tools-visualization-interface DOCUMENTATION_CNAME: visualization-interface.tools.docs.pyansys.com @@ -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: diff --git a/.gitignore b/.gitignore index 446200e7..5258091a 100644 --- a/.gitignore +++ b/.gitignore @@ -131,7 +131,7 @@ venv/ ENV/ env.bak/ venv.bak/ - +.ub_venv/ # Spyder project settings .spyderproject .spyproject diff --git a/doc/Makefile b/doc/Makefile index d922f9f9..30c1bb12 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -33,6 +33,4 @@ pdf: # Build HTML files and generate examples as .py files html: - pip uninstall vtk -y - pip install --extra-index-url https://wheels.vtk.org vtk-osmesa @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/changelog.d/288.documentation.md b/doc/changelog.d/288.documentation.md new file mode 100644 index 00000000..a25c5fa3 --- /dev/null +++ b/doc/changelog.d/288.documentation.md @@ -0,0 +1 @@ +maint: Update PyVista \ No newline at end of file diff --git a/doc/source/conf.py b/doc/source/conf.py index c0dd6d5e..3789097d 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -117,7 +117,7 @@ # 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/version/stable", None), diff --git a/pyproject.toml b/pyproject.toml index 6686dc3c..a53d3dd9 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 = [ "pyvista >= 0.43.0,<1", @@ -36,12 +37,14 @@ pyvistaqt = [ ] tests = [ "pytest==8.3.5", + "pyvista==0.45.0", "pytest-pyvista==0.1.9", "pytest-cov==6.1.1", "pyside6==6.9.0", ] doc = [ + "pyvista==0.45.0", "ansys-sphinx-theme==1.3.2", "jupyter_sphinx==0.5.3", "jupytext==1.17.1", diff --git a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/button.py b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/button.py index b506c896..462861a2 100644 --- a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/button.py +++ b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/button.py @@ -33,10 +33,6 @@ class Button(PlotterWidget): """Provides the abstract class for implementing buttons in PyAnsys. - Notes - ----- - This class wraps the PyVista ``add_checkbox_button_widget()`` method. - Parameters ---------- plotter : Plotter @@ -46,6 +42,9 @@ class Button(PlotterWidget): dark_mode : bool, optional Whether to activate the dark mode or not. + Notes + ----- + This class wraps the PyVista ``add_checkbox_button_widget()`` method. """ def __init__(self, plotter: Plotter, button_config: tuple, dark_mode: bool = False) -> None: diff --git a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/ruler.py b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/ruler.py index 9effb7a4..ea013974 100644 --- a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/ruler.py +++ b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/ruler.py @@ -56,16 +56,15 @@ def __init__(self, plotter: Plotter, dark_mode: bool = False) -> None: def callback(self, state: bool) -> None: """Remove or add the ruler widget actor upon click. - Notes - ----- - This method provides a callback function for the ruler widet. - It is called every time the ruler widget is clicked. - Parameters ---------- state : bool Whether the state of the button, which is inherited from PyVista, is ``True``. + Notes + ----- + This method provides a callback function for the ruler widet. + It is called every time the ruler widget is clicked. """ if not state and self._actor: self.plotter.remove_actor(self._actor) diff --git a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/screenshot.py b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/screenshot.py index b6a5a846..5b9b38e0 100644 --- a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/screenshot.py +++ b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/screenshot.py @@ -56,16 +56,16 @@ def __init__(self, plotter: Plotter, dark_mode: bool = False) -> None: def callback(self, state: bool) -> None: """Remove or add the screenshot widget actor upon click. - Notes - ----- - This method provides a callback function for the screenshot widget. - It is called every time the screenshot widget is clicked. - Parameters ---------- state : bool Whether the state of the button, which is inherited from PyVista, is ``True``. + + Notes + ----- + This method provides a callback function for the screenshot widget. + It is called every time the screenshot widget is clicked. """ self.plotter._pl.scene.screenshot("screenshot.png") diff --git a/tox.ini b/tox.ini index 2384ad43..e29dd2de 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] description = Default tox environments list envlist = - style,{tests39,tests310,tests311,tests312}{,-coverage},doc + style,{tests310,tests311,tests312,tests313}{,-coverage},doc skip_missing_interpreters = true isolated_build = true isolated_build_env = build @@ -9,10 +9,10 @@ isolated_build_env = build [testenv] description = Checks for project unit tests and coverage (if desired) basepython = - tests39: python3.9 tests310: python3.10 tests311: python3.11 tests312: python3.12 + tests313: python3.13 {style,tests,doc}: python3 setenv = PYTHONUNBUFFERED = yes