From fd2a0b910922278ca213de66979bab67833cef80 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 20 Jan 2021 16:48:10 +0100 Subject: [PATCH 001/125] MNT: Check CIs (#76) * Check cis * Codespell first * Skip segfaulting test_offscreen * Iren next * Skip test_editor too * Try again * Try again * Avoid recursion * Find a better fix for mypy * Use LooseVersion * Try again * Restore test_editor * Try again * Test editor=False * Debug * Debug * Debug * Debug * Fix testing * Update docstring * Debug * Debug * Debug * Improve testing * Skip test_ipython on VTK < 9 * Update env * Finalize --- docs/conf.py | 2 +- environment.yml | 2 +- pyvistaqt/plotting.py | 18 +++++++++++---- tests/test_plotting.py | 52 +++++++++++++++++++++++++++--------------- 4 files changed, 49 insertions(+), 25 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 656ff8bd..6af916ef 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,7 +28,7 @@ if not os.path.exists(pyvista.FIGURE_PATH): os.makedirs(pyvista.FIGURE_PATH) -# SG warnins +# SG warnings import warnings warnings.filterwarnings( diff --git a/environment.yml b/environment.yml index 85a37e21..836c559c 100644 --- a/environment.yml +++ b/environment.yml @@ -9,7 +9,7 @@ dependencies: - meshio>=4.0.3, <5.0 - matplotlib - appdirs - - pyqt + - pyqt>=5.11 - qtpy - imageio>=2.5.0 - imageio-ffmpeg diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 088da258..366c477e 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -242,6 +242,7 @@ def __init__( if off_screen: self.ren_win.SetOffScreenRendering(1) + self.iren = None else: self.iren = self.ren_win.GetInteractor() self.iren.RemoveObservers("MouseMoveEvent") # slows window update? @@ -503,11 +504,14 @@ class BackgroundPlotter(QtInteractor): allow_quit_keypress : Allow user to exit by pressing ``"q"``. - toolbar : - Display the default camera toolbar. Defaults to True. + toolbar : bool + If True, display the default camera toolbar. Defaults to True. - menu_bar: - Display the default main menu. Defaults to True. + menu_bar : bool + If True, display the default main menu. Defaults to True. + + editor: bool + If True, display the VTK object editor. Defaults to True. update_app_icon : If True, update_app_icon will be called automatically to update the @@ -567,6 +571,10 @@ def __init__( ) -> None: # pylint: disable=too-many-branches """Initialize the qt plotter.""" + # avoid recursion of the close() function by setting + # self._closed=True until the BasePlotter.__init__ + # is called + self._closed = True LOG.debug("BackgroundPlotter init start") if not isinstance(menu_bar, bool): raise TypeError( @@ -623,6 +631,7 @@ def __init__( super(BackgroundPlotter, self).__init__( parent=self.frame, off_screen=off_screen, **kwargs ) + assert not self._closed vlayout.addWidget(self) self.app_window.grabGesture(QtCore.Qt.PinchGesture) self.app_window.signal_gesture.connect(self.gesture_event) @@ -841,6 +850,7 @@ def add_editor(self) -> None: """Add the editor.""" self.editor = Editor(parent=self.app_window, renderers=self.renderers) self._editor_action = self.main_menu.addAction("Editor", self.editor.toggle) + self.app_window.signal_close.connect(self.editor.close) def _create_menu_bar(parent: Any) -> QMenuBar: diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 5e613d71..1e7b36a6 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -1,5 +1,6 @@ import os import platform +from distutils.version import LooseVersion import numpy as np import pytest @@ -133,10 +134,30 @@ def test_counter(qtbot): def test_editor(qtbot): timeout = 1000 # adjusted timeout for MacOS - # editor=True by default - plotter = BackgroundPlotter(shape=(2, 1)) + # test editor=False + plotter = BackgroundPlotter(editor=False, off_screen=False) + qtbot.addWidget(plotter.app_window) + assert plotter.editor is None + plotter.close() + + # test editor closing + plotter = BackgroundPlotter(editor=True, off_screen=False) qtbot.addWidget(plotter.app_window) assert_hasattr(plotter, "editor", Editor) + editor = plotter.editor + assert not editor.isVisible() + with qtbot.wait_exposed(editor, timeout=timeout): + editor.toggle() + assert editor.isVisible() + plotter.close() + assert not editor.isVisible() + + # editor=True by default + plotter = BackgroundPlotter(shape=(2, 1), off_screen=False) + qtbot.addWidget(plotter.app_window) + editor = plotter.editor + with qtbot.wait_exposed(editor, timeout=timeout): + editor.toggle() # add at least an actor plotter.subplot(0, 0) @@ -144,12 +165,6 @@ def test_editor(qtbot): plotter.subplot(1, 0) plotter.show_axes() - editor = plotter.editor - assert not editor.isVisible() - with qtbot.wait_exposed(editor, timeout=timeout): - editor.toggle() - assert editor.isVisible() - assert_hasattr(editor, "tree_widget", QTreeWidget) tree_widget = editor.tree_widget top_item = tree_widget.topLevelItem(0) # any renderer will do @@ -171,20 +186,15 @@ def test_editor(qtbot): widget_item = page_layout.itemAt(widget_idx) widget = widget_item.widget() if isinstance(widget, QCheckBox): - with qtbot.wait_signals([widget.toggled], timeout=500): + with qtbot.wait_signals([widget.toggled], timeout=timeout): widget.toggle() - with qtbot.wait_signals([widget.toggled], timeout=500): + with qtbot.wait_signals([widget.toggled], timeout=timeout): widget.toggle() # hide the editor for coverage editor.toggle() plotter.close() - plotter = BackgroundPlotter(editor=False) - qtbot.addWidget(plotter.app_window) - assert plotter.editor is None - plotter.close() - @pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") def test_qt_interactor(qtbot): @@ -243,7 +253,8 @@ def test_qt_interactor(qtbot): assert not render_timer.isActive() # check that BasePlotter.close() is called - assert not hasattr(vtk_widget, "iren") + if LooseVersion(pyvista.__version__) < '0.27.0': + assert not hasattr(vtk_widget, "iren") assert vtk_widget._closed # check that BasePlotter.__init__() is called only once @@ -444,7 +455,8 @@ def test_background_plotting_orbit(qtbot): @pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") def test_background_plotting_toolbar(qtbot): with pytest.raises(TypeError, match='toolbar'): - BackgroundPlotter(off_screen=False, toolbar="foo") + p = BackgroundPlotter(off_screen=False, toolbar="foo") + p.close() plotter = BackgroundPlotter(off_screen=False, toolbar=False) assert plotter.default_camera_tool_bar is None @@ -478,7 +490,8 @@ def test_background_plotting_toolbar(qtbot): @pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") def test_background_plotting_menu_bar(qtbot): with pytest.raises(TypeError, match='menu_bar'): - BackgroundPlotter(off_screen=False, menu_bar="foo") + p = BackgroundPlotter(off_screen=False, menu_bar="foo") + p.close() plotter = BackgroundPlotter(off_screen=False, menu_bar=False) assert plotter.main_menu is None @@ -674,7 +687,8 @@ def test_background_plotting_close(qtbot, close_event, empty_scene): assert not render_timer.isActive() # check that BasePlotter.close() is called - assert not hasattr(plotter, "iren") + if LooseVersion(pyvista.__version__) < '0.27.0': + assert not hasattr(vtk_widget, "iren") assert plotter._closed # check that BasePlotter.__init__() is called only once From 6409d70033ed842300fdb18c7eda8d1d4d97e1bc Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 20 Jan 2021 17:06:26 +0100 Subject: [PATCH 002/125] Update doc with event loop explanation (#75) * Add warning * Make it clearer --- docs/usage.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/usage.rst b/docs/usage.rst index 11eacda2..0aa70bd3 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -10,6 +10,15 @@ of the ``Plotter`` class within a Qt application. This simplifies adding meshes, updating, and controlling them when using Qt. +.. warning:: + Please do keep in mind that the ``BackgroundPlotter`` **does not** create its + own event loop by default. By design, the plotter will look for an + active instance of ``QApplication`` instead. So in the end, it is up to the + user to manage this event loop and there are several ways to achieve this. + For example, it's possible to start Python interactively with ``python -i``, + use ``ipython`` or execute the Qt event loop by adding ``plotter.app.exec_()`` + to the end of the following code. + Background Plotting ~~~~~~~~~~~~~~~~~~~ @@ -17,7 +26,7 @@ Background Plotting Normal PyVista plotting windows exhibit blocking behavior, but it is possible to plot in the background and update the plotter in real-time using the ``BackgroundPlotter`` object. This requires ``pyvistaqt``, but otherwise appears -and functions like a normal PyVista ``Plotter`` instance. For example: +and functions like a normal PyVista ``Plotter`` instance. For example: .. code:: python @@ -127,4 +136,4 @@ like to use: Please refer to the `*QtPy* documentation page `_ -for more information. \ No newline at end of file +for more information. From d49635f9486329f61ed63e527ee0799712bbaf91 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 20 Jan 2021 17:25:54 +0100 Subject: [PATCH 003/125] Bump version (#77) --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 91df9d20..6b32bc1e 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 2, 0 +VERSION_INFO = 0, 3, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From afa4a8b6fffd9f38bda6e3064f73249d39c97eac Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 4 Feb 2021 16:21:13 +0100 Subject: [PATCH 004/125] Allow update_app_icon parameter to be None (#79) * Allow update_app_icon parameter to be None * Fix doc * Update default as well * Improve coverage * Fix docstring --- docs/usage.rst | 2 +- pyvistaqt/plotting.py | 10 +++++++--- tests/test_plotting.py | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/usage.rst b/docs/usage.rst index 0aa70bd3..03775b60 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -16,7 +16,7 @@ Qt. active instance of ``QApplication`` instead. So in the end, it is up to the user to manage this event loop and there are several ways to achieve this. For example, it's possible to start Python interactively with ``python -i``, - use ``ipython`` or execute the Qt event loop by adding ``plotter.app.exec_()`` + use ``ipython`` or execute the Qt event loop by adding ``plotter.app.exec_()`` to the end of the following code. diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 366c477e..1c5305d0 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -515,7 +515,9 @@ class BackgroundPlotter(QtInteractor): update_app_icon : If True, update_app_icon will be called automatically to update the - Qt app icon based on the current rendering output. + Qt app icon based on the current rendering output. If None, the + logo of PyVista will be used. If False, no icon will be set. + Defaults to None. title : str, optional Title of plotting window. @@ -566,7 +568,7 @@ def __init__( toolbar: bool = True, menu_bar: bool = True, editor: bool = True, - update_app_icon: bool = False, + update_app_icon: Optional[bool] = None, **kwargs: Any ) -> None: # pylint: disable=too-many-branches @@ -669,12 +671,14 @@ def __init__( if update_app_icon: self.add_callback(self.update_app_icon) - else: + elif update_app_icon is None: self.set_icon( os.path.join( os.path.dirname(__file__), "data", "pyvista_logo_square.png" ) ) + else: + assert update_app_icon is False # Keypress events self.add_key_event("S", self._qt_screenshot) # shift + s diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 1e7b36a6..efa0d9d0 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -699,7 +699,8 @@ def _create_testing_scene(empty_scene, show=False, off_screen=False): if empty_scene: plotter = BackgroundPlotter( show=show, - off_screen=off_screen + off_screen=off_screen, + update_app_icon=False, ) else: plotter = BackgroundPlotter( From 5abf8cec5317658c253de677de1df2a32ea4776d Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 11 Feb 2021 13:42:09 +0100 Subject: [PATCH 005/125] MNT: Qt binding testing (#81) * Remove PyQt5 as default Qt API * Install qt binding separately * Try again * Try again * Try again * Try again * Try again * Try again * Try again * Try again * Try again * Last try * Make the CIs happy * Restore OS * Restore CI * Use GitHub Actions * Try again * Try again * Try again * Try again * Try again * Remove windows for now * Update matrix * Update testing * Remove timeouts * Add windows now * TST: What are the supported protocols? * TST: Try SSL3 only * Try Tls family * Restore workflow * Try again * Add conda * Rename job * Fix env name * Try again * Try again * Try again * Try again * Test matplotlib * Finalize --- .ci/azure-pipelines.yml | 12 +++-- .github/workflows/ci.yml | 102 +++++++++++++++++++++++++++++++++++++++ environment.yml | 2 - pytest.ini | 1 - requirements_docs.txt | 2 - requirements_test.txt | 2 - setup.py | 10 ++-- tests/test_plotting.py | 74 +++++++++++++--------------- 8 files changed, 150 insertions(+), 55 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 0ce9a9dd..2704af18 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -114,6 +114,8 @@ jobs: python.version: '3.6' Python37: python.version: '3.7' + Python38: + python.version: '3.8' steps: - task: UsePythonVersion@0 @@ -134,6 +136,7 @@ jobs: - script: | sudo apt-get install python3-tk pip install -r requirements_test.txt + pip install PyQt5==5.11.3 python -c "import pyvista; print(pyvista.Report())" which python pip list @@ -182,8 +185,8 @@ jobs: VTK.VERSION: 8.1 VTKv82: VTK.VERSION: 8.2 - # VTKv90: - # VTK.VERSION: 9.0 + VTKv90: + VTK.VERSION: 9.0 steps: - script: | @@ -197,6 +200,7 @@ jobs: sed -i -e 's/- vtk$/- vtk=$(VTK.VERSION)/' environment.yml conda env create --quiet -n pyvista-vtk$(VTK.VERSION) --file environment.yml conda activate pyvista-vtk$(VTK.VERSION) + pip install PyQt5==5.11.3 pip install -e . conda list which python @@ -248,7 +252,7 @@ jobs: python -m pip install -r requirements_test.txt displayName: 'Install test dependencies' - script: | - pip install pyqt5==5.15.0 + pip install PyQt5>=5.11 python -m pip install -e . python -c "import pyvista; print(pyvista.Report())" displayName: 'Install PyVista' @@ -281,6 +285,7 @@ jobs: displayName: Install Python - script: | + python -m pip install PyQt5>=5.11 python -m pip install -e . python -c "import pyvista; print(pyvista.Report())" displayName: 'Install pyvistaqt' @@ -330,6 +335,7 @@ jobs: displayName: 'Install dependencies' - script: | + pip install PyQt5>=5.11 pip install -e . displayName: Install pyvistaqt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..b90fccbd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,102 @@ +name: 'CI' +on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + +jobs: + pip: + name: ${{ matrix.os }} / pip / ${{ matrix.qt }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] + qt: ['PySide2'] + defaults: + run: + shell: bash + env: + ALLOW_PLOTTING: 'true' + DISPLAY: ':99' + CONDA_ENV: 'environment.yml' + PYTHON_VERSION: '3.8' + steps: + - uses: actions/checkout@v2 + - run: | + sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 + /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; + name: 'Setup xvfb' + if: matrix.os == 'ubuntu-latest' + - run: | + git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + ./gl-ci-helpers/appveyor/install_opengl.ps1 + shell: pwsh + name: 'Setup opengl' + if: matrix.os == 'windows-latest' + - uses: actions/setup-python@v2 + with: + python-version: ${{ env.PYTHON_VERSION }} + name: 'Setup python' + - run: | + python -m pip install --upgrade pip wheel + pip install -r requirements_test.txt + name: 'Install dependencies with pip' + - run: pip install ${{ matrix.qt }} + name: 'Install Qt binding' + - run: | + pip install -e . + python -c "import pyvista; print(pyvista.Report())" + name: 'Install pyvistaqt' + - run: pytest -v --cov pyvistaqt --cov-report html + name: 'Run Tests' + + conda: + name: ${{ matrix.os }} / conda / ${{ matrix.qt }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] + qt: ['PySide2'] + defaults: + run: + shell: bash + env: + ALLOW_PLOTTING: 'true' + DISPLAY: ':99' + CONDA_ENV: 'environment.yml' + PYTHON_VERSION: '3.8' + steps: + - uses: actions/checkout@v2 + - run: | + sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 + /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; + name: 'Setup xvfb' + if: matrix.os == 'ubuntu-latest' + - run: | + git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + ./gl-ci-helpers/appveyor/install_opengl.ps1 + shell: pwsh + name: 'Setup opengl' + if: matrix.os == 'windows-latest' + - uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: 'pyvistaqt-env' + python-version: ${{ env.PYTHON_VERSION }} + environment-file: ${{ env.CONDA_ENV }} + name: 'Setup conda' + - shell: bash -el {0} + run: pip install ${{ matrix.qt }} + name: 'Install Qt binding' + - shell: bash -el {0} + run: | + pip install -e . + python -c "import pyvista; print(pyvista.Report())" + name: 'Install pyvistaqt' + - shell: bash -el {0} + run: pytest -v --cov pyvistaqt --cov-report html + name: 'Run Tests' diff --git a/environment.yml b/environment.yml index 836c559c..9683e299 100644 --- a/environment.yml +++ b/environment.yml @@ -7,9 +7,7 @@ dependencies: - vtk - scooby>=0.5.1 - meshio>=4.0.3, <5.0 - - matplotlib - appdirs - - pyqt>=5.11 - qtpy - imageio>=2.5.0 - imageio-ffmpeg diff --git a/pytest.ini b/pytest.ini index 4405dc0b..363ce7c6 100644 --- a/pytest.ini +++ b/pytest.ini @@ -7,4 +7,3 @@ filterwarnings = # bogus numpy ABI warning (see numpy/#432) ignore:.*numpy.dtype size changed.*:RuntimeWarning ignore:.*numpy.ufunc size changed.*:RuntimeWarning -qt_api=pyqt5 \ No newline at end of file diff --git a/requirements_docs.txt b/requirements_docs.txt index 81e2ed80..e8f38757 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,11 +1,9 @@ -matplotlib imageio>=2.5.0 imageio-ffmpeg colorcet cmocean meshio>=4.0.3, <5.0 qtpy -PyQt5==5.11.3 pytest-sphinx Sphinx sphinx-autobuild diff --git a/requirements_test.txt b/requirements_test.txt index 9170084e..37b133fa 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,13 +1,11 @@ numpy vtk -matplotlib appdirs pytest pytest-cov pytest-memprof codecov qtpy -PyQt5==5.11.3 pytest-qt imageio>=2.5.0 imageio-ffmpeg diff --git a/setup.py b/setup.py index 3e69a409..1596a5b8 100644 --- a/setup.py +++ b/setup.py @@ -39,12 +39,12 @@ ], url='https://github.com/pyvista/pyvistaqt', - keywords='vtk numpy plotting mesh qt pyqt', + keywords='vtk numpy plotting mesh qt', python_requires='>=3.6.*', - install_requires=['pyvista>=0.25.0', - 'QtPy>=1.9.0', - 'PyQt5>=5.11.3' - 'imageio>=2.5.0', + install_requires=[ + 'pyvista>=0.25.0', + 'QtPy>=1.9.0', + 'imageio>=2.5.0', ], package_data={'pyvistaqt': [ os.path.join('data', '*.png'), diff --git a/tests/test_plotting.py b/tests/test_plotting.py index efa0d9d0..73d14f74 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -122,18 +122,15 @@ def test_counter(qtbot): with pytest.raises(ValueError, match='strictly positive'): Counter(count=-1) - timeout = 300 counter = Counter(count=1) assert counter.count == 1 - with qtbot.wait_signals([counter.signal_finished], timeout=timeout): + with qtbot.wait_signals([counter.signal_finished], timeout=300): counter.decrease() assert counter.count == 0 @pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") def test_editor(qtbot): - timeout = 1000 # adjusted timeout for MacOS - # test editor=False plotter = BackgroundPlotter(editor=False, off_screen=False) qtbot.addWidget(plotter.app_window) @@ -146,8 +143,8 @@ def test_editor(qtbot): assert_hasattr(plotter, "editor", Editor) editor = plotter.editor assert not editor.isVisible() - with qtbot.wait_exposed(editor, timeout=timeout): - editor.toggle() + editor.toggle() + qtbot.waitForWindowShown(editor) assert editor.isVisible() plotter.close() assert not editor.isVisible() @@ -156,8 +153,8 @@ def test_editor(qtbot): plotter = BackgroundPlotter(shape=(2, 1), off_screen=False) qtbot.addWidget(plotter.app_window) editor = plotter.editor - with qtbot.wait_exposed(editor, timeout=timeout): - editor.toggle() + editor.toggle() + qtbot.waitForWindowShown(editor) # add at least an actor plotter.subplot(0, 0) @@ -171,7 +168,7 @@ def test_editor(qtbot): assert top_item is not None # simulate selection - with qtbot.wait_signals([tree_widget.itemSelectionChanged], timeout=timeout): + with qtbot.wait_signals([tree_widget.itemSelectionChanged], timeout=1000): top_item.setSelected(True) # toggle all the renderer-associated checkboxes twice @@ -186,9 +183,9 @@ def test_editor(qtbot): widget_item = page_layout.itemAt(widget_idx) widget = widget_item.widget() if isinstance(widget, QCheckBox): - with qtbot.wait_signals([widget.toggled], timeout=timeout): + with qtbot.wait_signals([widget.toggled], timeout=1000): widget.toggle() - with qtbot.wait_signals([widget.toggled], timeout=timeout): + with qtbot.wait_signals([widget.toggled], timeout=1000): widget.toggle() # hide the editor for coverage @@ -230,10 +227,10 @@ def test_qt_interactor(qtbot): window.add_sphere() assert np.any(window.vtk_widget.mesh.points) - with qtbot.wait_exposed(window, timeout=5000): - window.show() - with qtbot.wait_exposed(interactor, timeout=5000): - interactor.show() + window.show() + qtbot.waitForWindowShown(window) + interactor.show() + qtbot.waitForWindowShown(interactor) assert window.isVisible() assert interactor.isVisible() @@ -279,8 +276,8 @@ def test_background_plotting_axes_scale(qtbot, show_plotter): # show the window if not show_plotter: assert not window.isVisible() - with qtbot.wait_exposed(window, timeout=1000): - window.show() + window.show() + qtbot.waitForWindowShown(window) assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -294,8 +291,8 @@ def test_background_plotting_axes_scale(qtbot, show_plotter): # show the dialog assert not dlg.isVisible() - with qtbot.wait_exposed(dlg, timeout=500): - dlg.show() + dlg.show() + qtbot.waitForWindowShown(dlg) assert dlg.isVisible() value = 2.0 @@ -357,8 +354,8 @@ def test_background_plotter_export_files(qtbot, tmpdir, show_plotter): # show the window if not show_plotter: assert not window.isVisible() - with qtbot.wait_exposed(window, timeout=1000): - window.show() + window.show() + qtbot.waitForWindowShown(window) assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -375,8 +372,8 @@ def test_background_plotter_export_files(qtbot, tmpdir, show_plotter): # show the dialog assert not dlg.isVisible() - with qtbot.wait_exposed(dlg, timeout=500): - dlg.show() + dlg.show() + qtbot.waitForWindowShown(dlg) assert dlg.isVisible() # synchronise signal and callback @@ -411,8 +408,8 @@ def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter): # show the window if not show_plotter: assert not window.isVisible() - with qtbot.wait_exposed(window, timeout=1000): - window.show() + window.show() + qtbot.waitForWindowShown(window) assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -429,8 +426,8 @@ def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter): # show the dialog assert not dlg.isVisible() - with qtbot.wait_exposed(dlg, timeout=500): - dlg.show() + dlg.show() + qtbot.waitForWindowShown(dlg) assert dlg.isVisible() # synchronise signal and callback @@ -475,8 +472,8 @@ def test_background_plotting_toolbar(qtbot): default_camera_tool_bar = plotter.default_camera_tool_bar saved_cameras_tool_bar = plotter.saved_cameras_tool_bar - with qtbot.wait_exposed(window, timeout=500): - window.show() + window.show() + qtbot.waitForWindowShown(window) assert default_camera_tool_bar.isVisible() assert saved_cameras_tool_bar.isVisible() @@ -510,8 +507,8 @@ def test_background_plotting_menu_bar(qtbot): main_menu = plotter.main_menu assert not main_menu.isNativeMenuBar() - with qtbot.wait_exposed(window, timeout=500): - window.show() + window.show() + qtbot.waitForWindowShown(window) # EDL action assert not hasattr(plotter.renderer, 'edl_pass') @@ -573,8 +570,8 @@ def update_app_icon(slf): # ensure that the window is showed assert not window.isVisible() - with qtbot.wait_exposed(window, timeout=500): - window.show() + window.show() + qtbot.waitForWindowShown(window) assert window.isVisible() assert update_count[0] in [0, 1] # macOS sometimes updates (1) # don't check _last_update_time for non-inf-ness, won't be updated on Win @@ -652,14 +649,11 @@ def test_background_plotting_close(qtbot, close_event, empty_scene): render_blocker = qtbot.wait_signals([render_timer.timeout], timeout=500) render_blocker.wait() - # a full scene may take a while to setup, especially on macOS - show_timeout = 500 if empty_scene else 10000 - # ensure that the widgets are showed - with qtbot.wait_exposed(window, timeout=show_timeout): - window.show() - with qtbot.wait_exposed(interactor, timeout=show_timeout): - interactor.show() + window.show() + qtbot.waitForWindowShown(window) + interactor.show() + qtbot.waitForWindowShown(interactor) # check that the widgets are showed properly assert window.isVisible() From b1faea75c49d7e179edd07c77611e27e2d863ffc Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 11 Feb 2021 23:09:35 +0100 Subject: [PATCH 006/125] ENH: new MultiPlotter class (#78) * Release prototype * Rename to MultiPlotter * Refactor * Add testing * Make mypy * Make flake8 * Make isort * Make pylint * Make codespell * Make black * Make isort * Reuse MainWindow * Refactor * Restore MainWidget for MacOS then * Try again * Improve compatibility * Improve coverage * Move add_toolbars and add_menu_bar out of QtInteractor * Refactor * Fix * Refactor * Make black * Refactor * Refactor * Make mypy * Improve coverage * Add more checks * Add more checks * Embed BackgroundPlotter instead * Set allow_quit_keypress=False by default * Make black * Update API ref * Update usage * Reorder * Make it minimal * Use nrows and ncols * Remove linear indexing * Refactor * Make pydocstyle * Fix docstring * Cover slightly faster * Update testing --- docs/api_reference.rst | 19 ++ docs/usage.rst | 18 ++ pyvistaqt/__init__.py | 10 +- pyvistaqt/plotting.py | 512 +++++++++++++++++++++++++---------------- pyvistaqt/utils.py | 11 + pyvistaqt/window.py | 17 +- tests/test_plotting.py | 43 +++- 7 files changed, 430 insertions(+), 200 deletions(-) create mode 100644 pyvistaqt/utils.py diff --git a/docs/api_reference.rst b/docs/api_reference.rst index 8ee5bfea..32324968 100644 --- a/docs/api_reference.rst +++ b/docs/api_reference.rst @@ -4,6 +4,7 @@ API Reference .. contents:: :local: + Background Plotter ~~~~~~~~~~~~~~~~~~ @@ -23,6 +24,24 @@ Background Plotter :show-inheritance: +MultiPlotter +~~~~~~~~~~~~ + +.. rubric:: Attributes + +.. autoautosummary:: pyvistaqt.MultiPlotter + :attributes: + +.. rubric:: Methods + +.. autoautosummary:: pyvistaqt.MultiPlotter + :methods: + +.. autoclass:: pyvistaqt.MultiPlotter + :members: + :undoc-members: + :show-inheritance: + QtInteractor ~~~~~~~~~~~~ diff --git a/docs/usage.rst b/docs/usage.rst index 03775b60..722e58d2 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -42,6 +42,24 @@ and functions like a normal PyVista ``Plotter`` instance. For example: sphere.points *= 0.5 +Multiple Plotters +~~~~~~~~~~~~~~~~~ + +The following example shows how to use an interface with multiple plotters. Each +plotter can be selected and functions like a normal PyVista ``Plotter`` instance: + +.. code:: python + + import pyvista as pv + from pyvistaqt import MultiPlotter + + mp = MultiPlotter(nrows=2, ncols=2) + mp[0, 0].add_mesh(pv.Sphere()) + mp[0, 1].add_mesh(pv.Cylinder()) + mp[1, 0].add_mesh(pv.Cube()) + mp[1, 1].add_mesh(pv.Cone()) + + Example PyQt5 PyVista QtInteractor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/pyvistaqt/__init__.py b/pyvistaqt/__init__.py index dfee7c1a..8a51205f 100755 --- a/pyvistaqt/__init__.py +++ b/pyvistaqt/__init__.py @@ -1,5 +1,11 @@ """PyVista package for 3D plotting and mesh analysis.""" from pyvistaqt._version import __version__ -from pyvistaqt.plotting import BackgroundPlotter, MainWindow, QtInteractor +from pyvistaqt.plotting import BackgroundPlotter, MainWindow, MultiPlotter, QtInteractor -__all__ = ["__version__", "BackgroundPlotter", "MainWindow", "QtInteractor"] +__all__ = [ + "__version__", + "BackgroundPlotter", + "MainWindow", + "MultiPlotter", + "QtInteractor", +] diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 1c5305d0..488b2ae2 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -61,15 +61,18 @@ QApplication, QFrame, QGestureEvent, + QGridLayout, QMenuBar, QToolBar, QVBoxLayout, + QWidget, ) from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog from .editor import Editor +from .utils import _check_type from .window import MainWindow if scooby.in_ipython(): # pragma: no cover @@ -183,21 +186,12 @@ def __init__( point_smoothing: bool = False, polygon_smoothing: bool = False, auto_update: Union[float, bool] = 5.0, - **kwargs: Any + **kwargs: Any, ) -> None: # pylint: disable=too-many-branches """Initialize Qt interactor.""" LOG.debug("QtInteractor init start") - self.url: QtCore.QUrl = None - self.default_camera_tool_bar = None - self.saved_camera_positions: Optional[List[BasePlotter.camera_position]] = None - self.saved_cameras_tool_bar: QToolBar = None - self.main_menu: QMenuBar = None - self._menu_close_action = None - self._edl_action = None - self._parallel_projection_action = None - self._view_action = None # Cannot use super() here because # QVTKRenderWindowInteractor silently swallows all kwargs @@ -341,132 +335,6 @@ def dropEvent(self, event: QtCore.QEvent) -> None: self.add_mesh(pyvista.read(filename)) except IOError as exception: print(str(exception)) - return None - - def add_toolbars(self) -> None: # pylint: disable=useless-return - """Add the toolbars.""" - - def _add_action(tool_bar: QToolBar, key: str, method: Any) -> QAction: - action = QAction(key, self.app_window) - action.triggered.connect(method) - tool_bar.addAction(action) - return action - - # Camera toolbar - self.default_camera_tool_bar = self.app_window.addToolBar("Camera Position") - - def _view_vector(*args: Any) -> None: - return self.view_vector(*args) - - cvec_setters = { - # Viewing vector then view up vector - "Top (-Z)": lambda: _view_vector((0, 0, 1), (0, 1, 0)), - "Bottom (+Z)": lambda: _view_vector((0, 0, -1), (0, 1, 0)), - "Front (-Y)": lambda: _view_vector((0, 1, 0), (0, 0, 1)), - "Back (+Y)": lambda: _view_vector((0, -1, 0), (0, 0, 1)), - "Left (-X)": lambda: _view_vector((1, 0, 0), (0, 0, 1)), - "Right (+X)": lambda: _view_vector((-1, 0, 0), (0, 0, 1)), - "Isometric": lambda: _view_vector((1, 1, 1), (0, 0, 1)), - } - for key, method in cvec_setters.items(): - self._view_action = _add_action(self.default_camera_tool_bar, key, method) - # pylint: disable=unnecessary-lambda - _add_action(self.default_camera_tool_bar, "Reset", lambda: self.reset_camera()) - - # Saved camera locations toolbar - self.saved_camera_positions = [] - self.saved_cameras_tool_bar = self.app_window.addToolBar( - "Saved Camera Positions" - ) - - _add_action( - self.saved_cameras_tool_bar, SAVE_CAM_BUTTON_TEXT, self.save_camera_position - ) - _add_action( - self.saved_cameras_tool_bar, - CLEAR_CAMS_BUTTON_TEXT, - self.clear_camera_positions, - ) - - return None - - def add_menu_bar(self) -> None: - """Add the main menu bar.""" - self.main_menu = _create_menu_bar(parent=self.app_window) - self.app_window.signal_close.connect(self.main_menu.clear) - - file_menu = self.main_menu.addMenu("File") - file_menu.addAction("Take Screenshot", self._qt_screenshot) - file_menu.addAction("Export as VTKjs", self._qt_export_vtkjs) - file_menu.addSeparator() - # member variable for testing only - self._menu_close_action = file_menu.addAction("Exit", self.app_window.close) - - view_menu = self.main_menu.addMenu("View") - self._edl_action = view_menu.addAction( - "Toggle Eye Dome Lighting", self._toggle_edl - ) - view_menu.addAction("Scale Axes", self.scale_axes_dialog) - view_menu.addAction("Clear All", self.clear) - - tool_menu = self.main_menu.addMenu("Tools") - tool_menu.addAction("Enable Cell Picking (through)", self.enable_cell_picking) - tool_menu.addAction( - "Enable Cell Picking (visible)", - lambda: self.enable_cell_picking(through=False), - ) - - cam_menu = view_menu.addMenu("Camera") - self._parallel_projection_action = cam_menu.addAction( - "Toggle Parallel Projection", self._toggle_parallel_projection - ) - - view_menu.addSeparator() - # Orientation marker - orien_menu = view_menu.addMenu("Orientation Marker") - orien_menu.addAction("Show All", self.show_axes_all) - orien_menu.addAction("Hide All", self.hide_axes_all) - # Bounds axes - axes_menu = view_menu.addMenu("Bounds Axes") - axes_menu.addAction("Add Bounds Axes (front)", self.show_bounds) - axes_menu.addAction("Add Bounds Grid (back)", self.show_grid) - axes_menu.addAction("Add Bounding Box", self.add_bounding_box) - axes_menu.addSeparator() - axes_menu.addAction("Remove Bounding Box", self.remove_bounding_box) - axes_menu.addAction("Remove Bounds", self.remove_bounds_axes) - - # A final separator to separate OS options - view_menu.addSeparator() - - def save_camera_position(self) -> None: - """Save camera position to saved camera menu for recall.""" - if self.saved_camera_positions is not None: - # pylint: disable=attribute-defined-outside-init - self.camera_position: Any - self.saved_camera_positions.append(self.camera_position) - ncam = len(self.saved_camera_positions) - if self.camera_position is not None: - camera_position: Any = self.camera_position[:] # py2.7 copy compatibility - - if hasattr(self, "saved_cameras_tool_bar"): - - def load_camera_position() -> None: - # pylint: disable=attribute-defined-outside-init - self.camera_position = camera_position - - self.saved_cameras_tool_bar.addAction( - "Cam %2d" % ncam, load_camera_position - ) - if ncam < 10: - self.add_key_event(str(ncam), load_camera_position) - - def clear_camera_positions(self) -> None: - """Clear all camera positions.""" - if hasattr(self, "saved_cameras_tool_bar"): - for action in self.saved_cameras_tool_bar.actions(): - if action.text() not in [SAVE_CAM_BUTTON_TEXT, CLEAR_CAMS_BUTTON_TEXT]: - self.saved_cameras_tool_bar.removeAction(action) - self.saved_camera_positions = [] def close(self) -> None: """Quit application.""" @@ -561,15 +429,15 @@ class BackgroundPlotter(QtInteractor): def __init__( self, show: bool = True, - app: QApplication = None, + app: Optional[QApplication] = None, window_size: Optional[Tuple[int, int]] = None, - off_screen: bool = None, + off_screen: Optional[bool] = None, allow_quit_keypress: bool = True, toolbar: bool = True, menu_bar: bool = True, editor: bool = True, update_app_icon: Optional[bool] = None, - **kwargs: Any + **kwargs: Any, ) -> None: # pylint: disable=too-many-branches """Initialize the qt plotter.""" @@ -578,16 +446,29 @@ def __init__( # is called self._closed = True LOG.debug("BackgroundPlotter init start") - if not isinstance(menu_bar, bool): - raise TypeError( - "Expected type for ``menu_bar`` is bool" - " but {} was given.".format(type(menu_bar)) - ) - if not isinstance(toolbar, bool): - raise TypeError( - "Expected type for ``toolbar`` is bool" - " but {} was given.".format(type(toolbar)) - ) + _check_type(show, "show", [bool]) + _check_type(app, "app", [QApplication, type(None)]) + _check_type(window_size, "window_size", [tuple, type(None)]) + _check_type(off_screen, "off_screen", [bool, type(None)]) + _check_type(allow_quit_keypress, "allow_quit_keypress", [bool]) + _check_type(toolbar, "toolbar", [bool]) + _check_type(menu_bar, "menu_bar", [bool]) + _check_type(editor, "editor", [bool]) + _check_type(update_app_icon, "update_app_icon", [bool, type(None)]) + + # toolbar + self._view_action: QAction = None + self.default_camera_tool_bar: QToolBar = None + self.saved_camera_positions: Optional[list] = None + self.saved_cameras_tool_bar: QToolBar = None + # menu bar + self.main_menu: QMenuBar = None + self._edl_action: QAction = None + self._menu_close_action: QAction = None + self._parallel_projection_action: QAction = None + # editor + self.editor: Optional[Editor] = None + self._editor_action: QAction = None self.active = True self.counters: List[Counter] = [] @@ -599,70 +480,34 @@ def __init__( # Remove notebook argument in case user passed it kwargs.pop("notebook", None) - # ipython magic - if scooby.in_ipython(): # pragma: no cover - # pylint: disable=import-outside-toplevel - from IPython import get_ipython - - ipython = get_ipython() - ipython.magic("gui qt") - - # pylint: disable=redefined-outer-name - # pylint: disable=import-outside-toplevel - from IPython.external.qt_for_kernel import QtGui - - QtGui.QApplication.instance() - else: - ipython = None - - # run within python - if app is None: - app = QApplication.instance() - if not app: # pragma: no cover - app = QApplication(["PyVista"]) - - self.app = app - self.app_window = MainWindow() - self.app_window.setWindowTitle(kwargs.get("title", rcParams["title"])) + self.ipython = _setup_ipython() + self.app = _setup_application(app) + self.off_screen = _setup_off_screen(off_screen) + self.app_window = MainWindow(title=kwargs.get("title", rcParams["title"])) self.frame = QFrame(parent=self.app_window) self.frame.setFrameStyle(QFrame.NoFrame) - self.app_window.setCentralWidget(self.frame) vlayout = QVBoxLayout() - self.frame.setLayout(vlayout) super(BackgroundPlotter, self).__init__( - parent=self.frame, off_screen=off_screen, **kwargs + parent=self.frame, off_screen=self.off_screen, **kwargs ) assert not self._closed vlayout.addWidget(self) + self.frame.setLayout(vlayout) + self.app_window.setCentralWidget(self.frame) self.app_window.grabGesture(QtCore.Qt.PinchGesture) self.app_window.signal_gesture.connect(self.gesture_event) self.app_window.signal_close.connect(self._close) - self.main_menu = None - self._menu_close_action = None if menu_bar: self.add_menu_bar() - - self.editor = None - if editor and menu_bar: - self.add_editor() - - # member variable for testing only - self._view_action = None - - self.default_camera_tool_bar = None - self.saved_camera_positions = None - self.saved_cameras_tool_bar = None + if editor: + self.add_editor() if toolbar: self.add_toolbars() - if off_screen is None: - off_screen = pyvista.OFF_SCREEN - - if show and not off_screen: # pragma: no cover + if show and not self.off_screen: # pragma: no cover self.app_window.show() - self.show() self.window_size = window_size self._last_update_time = -np.inf @@ -850,6 +695,132 @@ def add_callback( self._callback_timer.timeout.connect(counter.decrease) self.counters.append(counter) + def save_camera_position(self) -> None: + """Save camera position to saved camera menu for recall.""" + if self.saved_camera_positions is not None: + # pylint: disable=attribute-defined-outside-init + self.camera_position: Any + self.saved_camera_positions.append(self.camera_position) + ncam = len(self.saved_camera_positions) + if self.camera_position is not None: + camera_position: Any = self.camera_position[:] # py2.7 copy compatibility + + if hasattr(self, "saved_cameras_tool_bar"): + + def load_camera_position() -> None: + # pylint: disable=attribute-defined-outside-init + self.camera_position = camera_position + + self.saved_cameras_tool_bar.addAction( + "Cam %2d" % ncam, load_camera_position + ) + if ncam < 10: + self.add_key_event(str(ncam), load_camera_position) + + def clear_camera_positions(self) -> None: + """Clear all camera positions.""" + if hasattr(self, "saved_cameras_tool_bar"): + for action in self.saved_cameras_tool_bar.actions(): + if action.text() not in [SAVE_CAM_BUTTON_TEXT, CLEAR_CAMS_BUTTON_TEXT]: + self.saved_cameras_tool_bar.removeAction(action) + self.saved_camera_positions = [] + + def _add_action(self, tool_bar: QToolBar, key: str, method: Any) -> QAction: + action = QAction(key, self.app_window) + action.triggered.connect(method) + tool_bar.addAction(action) + return action + + def add_toolbars(self) -> None: + """Add the toolbars.""" + # Camera toolbar + self.default_camera_tool_bar = self.app_window.addToolBar("Camera Position") + + def _view_vector(*args: Any) -> None: + return self.view_vector(*args) + + cvec_setters = { + # Viewing vector then view up vector + "Top (-Z)": lambda: _view_vector((0, 0, 1), (0, 1, 0)), + "Bottom (+Z)": lambda: _view_vector((0, 0, -1), (0, 1, 0)), + "Front (-Y)": lambda: _view_vector((0, 1, 0), (0, 0, 1)), + "Back (+Y)": lambda: _view_vector((0, -1, 0), (0, 0, 1)), + "Left (-X)": lambda: _view_vector((1, 0, 0), (0, 0, 1)), + "Right (+X)": lambda: _view_vector((-1, 0, 0), (0, 0, 1)), + "Isometric": lambda: _view_vector((1, 1, 1), (0, 0, 1)), + } + for key, method in cvec_setters.items(): + self._view_action = self._add_action( + self.default_camera_tool_bar, key, method + ) + # pylint: disable=unnecessary-lambda + self._add_action( + self.default_camera_tool_bar, "Reset", lambda: self.reset_camera() + ) + + # Saved camera locations toolbar + self.saved_camera_positions = [] + self.saved_cameras_tool_bar = self.app_window.addToolBar( + "Saved Camera Positions" + ) + + self._add_action( + self.saved_cameras_tool_bar, SAVE_CAM_BUTTON_TEXT, self.save_camera_position + ) + self._add_action( + self.saved_cameras_tool_bar, + CLEAR_CAMS_BUTTON_TEXT, + self.clear_camera_positions, + ) + + def add_menu_bar(self) -> None: + """Add the main menu bar.""" + self.main_menu = _create_menu_bar(parent=self.app_window) + self.app_window.signal_close.connect(self.main_menu.clear) + + file_menu = self.main_menu.addMenu("File") + file_menu.addAction("Take Screenshot", self._qt_screenshot) + file_menu.addAction("Export as VTKjs", self._qt_export_vtkjs) + file_menu.addSeparator() + # member variable for testing only + self._menu_close_action = file_menu.addAction("Exit", self.app_window.close) + + view_menu = self.main_menu.addMenu("View") + self._edl_action = view_menu.addAction( + "Toggle Eye Dome Lighting", self._toggle_edl + ) + view_menu.addAction("Scale Axes", self.scale_axes_dialog) + view_menu.addAction("Clear All", self.clear) + + tool_menu = self.main_menu.addMenu("Tools") + tool_menu.addAction("Enable Cell Picking (through)", self.enable_cell_picking) + tool_menu.addAction( + "Enable Cell Picking (visible)", + lambda: self.enable_cell_picking(through=False), + ) + + cam_menu = view_menu.addMenu("Camera") + self._parallel_projection_action = cam_menu.addAction( + "Toggle Parallel Projection", self._toggle_parallel_projection + ) + + view_menu.addSeparator() + # Orientation marker + orien_menu = view_menu.addMenu("Orientation Marker") + orien_menu.addAction("Show All", self.show_axes_all) + orien_menu.addAction("Hide All", self.hide_axes_all) + # Bounds axes + axes_menu = view_menu.addMenu("Bounds Axes") + axes_menu.addAction("Add Bounds Axes (front)", self.show_bounds) + axes_menu.addAction("Add Bounds Grid (back)", self.show_grid) + axes_menu.addAction("Add Bounding Box", self.add_bounding_box) + axes_menu.addSeparator() + axes_menu.addAction("Remove Bounding Box", self.remove_bounding_box) + axes_menu.addAction("Remove Bounds", self.remove_bounds_axes) + + # A final separator to separate OS options + view_menu.addSeparator() + def add_editor(self) -> None: """Add the editor.""" self.editor = Editor(parent=self.app_window, renderers=self.renderers) @@ -857,6 +828,125 @@ def add_editor(self) -> None: self.app_window.signal_close.connect(self.editor.close) +class MultiPlotter: + """Qt interactive plotter. + + Multi plotter for pyvista that allows to maintain an + interactive window with multiple plotters without + blocking the main python thread. + + Parameters + ---------- + app : optional + Creates a `QApplication` if left as `None`. + nrows : int + Number of rows. Defaults to 1. + ncols : int + Number of columns. Defaults to 1. + show : bool + Show the plotting window. If ``False``, show this window by + running ``show()`` + window_size : tuple, optional + Window size in pixels. Defaults to ``[1024, 768]`` + off_screen : bool, optional + Renders off screen when True. Useful for automated + screenshots or debug testing. + + Examples + -------- + >>> import pyvista as pv + >>> from pyvistaqt import MultiPlotter + >>> plotter = MultiPlotter() + >>> _ = plotter[0, 0].add_mesh(pv.Sphere()) + """ + + # pylint: disable=too-many-instance-attributes + # pylint: disable=too-many-arguments + + def __init__( + self, + app: Optional[QApplication] = None, + nrows: int = 1, + ncols: int = 1, + show: bool = True, + window_size: Optional[Tuple[int, int]] = None, + title: Optional[str] = None, + off_screen: Optional[bool] = None, + **kwargs: Any, + ) -> None: + """Initialize the multi plotter.""" + _check_type(app, "app", [QApplication, type(None)]) + _check_type(nrows, "nrows", [int]) + _check_type(ncols, "ncols", [int]) + _check_type(show, "show", [bool]) + _check_type(window_size, "window_size", [tuple, type(None)]) + _check_type(title, "title", [str, type(None)]) + _check_type(off_screen, "off_screen", [bool, type(None)]) + self.ipython = _setup_ipython() + self.app = _setup_application(app) + self.off_screen = _setup_off_screen(off_screen) + self._nrows = nrows + self._ncols = ncols + self._window = MainWindow(title=title, size=window_size) + self._central_widget = QWidget(parent=self._window) + self._layout = QGridLayout() + self._plotter = None + self._plotters = [None] * (self._nrows * self._ncols) + kwargs.update(show=False) # only show main window + kwargs.update(allow_quit_keypress=False) # dynamic removal is not supported + for row in range(self._nrows): + for col in range(self._ncols): + self._plotter = BackgroundPlotter(off_screen=self.off_screen, **kwargs) + self._window.signal_close.connect(self._plotter.close) + self.__setitem__((row, col), self._plotter) + self._layout.addWidget(self._plotter.app_window, row, col) + self._central_widget.setLayout(self._layout) + self._window.setCentralWidget(self._central_widget) + if show: + self.show() + + def show(self) -> None: + """Show the multi plotter.""" + if not self.off_screen: + self._window.show() + + def close(self) -> None: + """Close the multi plotter.""" + self._window.close() + + def __setitem__(self, idx: Tuple[int, int], plotter: Any) -> None: + """Set a valid plotter in the grid. + + Parameters + ---------- + idx : tuple + The index of the plotter to select. It can either + be an integer or a tuple ``(row, col)``. + plotter : BackgroundPlotter + The plotter to set. + """ + row, col = idx + self._plotters[row * self._ncols + col] = plotter + + def __getitem__(self, idx: Tuple[int, int]) -> Optional[BackgroundPlotter]: + """Get a valid plotter in the grid. + + Parameters + ---------- + idx : tuple + The index of the plotter to select. It can either + be an integer or a tuple ``(row, col)``. + + Returns + ------- + plotter : BackgroundPlotter + The selected plotter. + """ + row, col = idx + self._plotter = self._plotters[row * self._ncols + col] + return self._plotter + + def _create_menu_bar(parent: Any) -> QMenuBar: """Create a menu bar. @@ -870,3 +960,35 @@ def _create_menu_bar(parent: Any) -> QMenuBar: if parent is not None: parent.setMenuBar(menu_bar) return menu_bar + + +def _setup_ipython(ipython: Any = None) -> Any: + # ipython magic + if scooby.in_ipython(): # pragma: no cover + # pylint: disable=import-outside-toplevel + from IPython import get_ipython + + ipython = get_ipython() + ipython.magic("gui qt") + + # pylint: disable=redefined-outer-name + # pylint: disable=import-outside-toplevel + from IPython.external.qt_for_kernel import QtGui + + QtGui.QApplication.instance() + return ipython + + +def _setup_application(app: Optional[QApplication] = None) -> QApplication: + # run within python + if app is None: + app = QApplication.instance() + if not app: # pragma: no cover + app = QApplication(["PyVista"]) + return app + + +def _setup_off_screen(off_screen: Optional[bool] = None) -> bool: + if off_screen is None: + off_screen = pyvista.OFF_SCREEN + return off_screen diff --git a/pyvistaqt/utils.py b/pyvistaqt/utils.py new file mode 100644 index 00000000..300f8f3e --- /dev/null +++ b/pyvistaqt/utils.py @@ -0,0 +1,11 @@ +"""This module contains utilities routines.""" +from typing import Any, List, Type + + +def _check_type(var: Any, var_name: str, var_types: List[Type[Any]]) -> None: + types = tuple(var_types) + if not isinstance(var, types): + raise TypeError( + "Expected type for ``{}`` is {}" + " but {} was given.".format(var_name, str(types), type(var)) + ) diff --git a/pyvistaqt/window.py b/pyvistaqt/window.py index 26a24348..02e94e5c 100644 --- a/pyvistaqt/window.py +++ b/pyvistaqt/window.py @@ -1,8 +1,10 @@ """This module contains a Qt-compatible MainWindow class.""" +from typing import Optional, Tuple + from qtpy import QtCore from qtpy.QtCore import Signal -from qtpy.QtWidgets import QMainWindow +from qtpy.QtWidgets import QMainWindow, QWidget class MainWindow(QMainWindow): @@ -11,6 +13,19 @@ class MainWindow(QMainWindow): signal_close = Signal() signal_gesture = Signal(QtCore.QEvent) + def __init__( + self, + parent: Optional[QWidget] = None, + title: Optional[str] = None, + size: Optional[Tuple[int, int]] = None, + ) -> None: + """Initialize the main window.""" + QMainWindow.__init__(self, parent=parent) + if title is not None: + self.setWindowTitle(title) + if size is not None: + self.resize(*size) + def event(self, event: QtCore.QEvent) -> bool: """Manage window events and filter the gesture event.""" if event.type() == QtCore.QEvent.Gesture: # pragma: no cover diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 73d14f74..dcb0ec79 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -13,9 +13,9 @@ from pyvista.plotting import Renderer, system_supports_plotting import pyvistaqt -from pyvistaqt import BackgroundPlotter, MainWindow, QtInteractor +from pyvistaqt import MultiPlotter, BackgroundPlotter, MainWindow, QtInteractor from pyvistaqt.plotting import (Counter, QTimer, QVTKRenderWindowInteractor, - _create_menu_bar) + _create_menu_bar, _check_type) from pyvistaqt.editor import Editor NO_PLOTTING = not system_supports_plotting() @@ -65,6 +65,13 @@ def add_sphere(self): self.vtk_widget.reset_camera() +def test_check_type(): + with pytest.raises(TypeError, match="Expected type"): + _check_type(0, "foo", [str]) + _check_type(0, "foo", [int, float]) + _check_type("foo", "foo", [str]) + + @pytest.mark.skipif(platform.system()=="Windows" and platform.python_version()[:-1]=="3.8.", reason="#51") def test_ipython(qapp): import IPython @@ -689,6 +696,38 @@ def test_background_plotting_close(qtbot, close_event, empty_scene): assert len(_ALL_PLOTTERS) == 1 +@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") +def test_multiplotter(qtbot): + mp = MultiPlotter( + nrows=1, + ncols=2, + window_size=(300, 300), + show=False, + title='Test', + off_screen=False, + ) + qtbot.addWidget(mp._window) + mp[0, 0].add_mesh(pyvista.Cone()) + mp[0, 1].add_mesh(pyvista.Box()) + assert not mp._window.isVisible() + mp.show() + qtbot.waitForWindowShown(mp._window) + assert mp._window.isVisible() + for p in mp._plotters: + assert not p._closed + with qtbot.wait_signals([mp._window.signal_close], timeout=1000): + mp.close() + for p in mp._plotters: + assert p._closed + + # cover default show=True + mp = MultiPlotter(off_screen=False, menu_bar=False, toolbar=False) + qtbot.addWidget(mp._window) + qtbot.waitForWindowShown(mp._window) + assert mp._window.isVisible() + mp.close() + + def _create_testing_scene(empty_scene, show=False, off_screen=False): if empty_scene: plotter = BackgroundPlotter( From 239a237a555fb2800273f6099509f056d7042052 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 13 Feb 2021 19:43:55 +0100 Subject: [PATCH 007/125] Add schedule (#83) --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b90fccbd..2765ae3c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,8 @@ on: pull_request: branches: - '*' + schedule: + - cron: "0 4 * * *" jobs: pip: From a0babd5ebbe37dea5bd525e6135e1b325106fc8d Mon Sep 17 00:00:00 2001 From: Rodrigo Mologni Date: Mon, 15 Feb 2021 06:48:56 -0300 Subject: [PATCH 008/125] Fix view isometric in subplots (#82) --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 488b2ae2..a8632210 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -222,6 +222,7 @@ def __init__( self.ren_win.PolygonSmoothingOn() for renderer in self.renderers: + renderer.view_isometric() self.ren_win.AddRenderer(renderer) self.render_signal.connect(self._render) @@ -270,7 +271,6 @@ def __init__( renderer.enable_depth_peeling() self._first_time = False # Crucial! - self.view_isometric() LOG.debug("QtInteractor init stop") def gesture_event(self, event: QGestureEvent) -> bool: From 482b5b92eff1c073e23a0337d939598edf251c97 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Thu, 18 Feb 2021 07:57:47 +0900 Subject: [PATCH 009/125] =?UTF-8?q?=F0=9F=8E=89=20HAPPY=20NEW=20YEAR=20202?= =?UTF-8?q?1=20=F0=9F=8E=89=20(#85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 6532e5af..43f988fb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2017-2020 The PyVista Developers +Copyright (c) 2017-2021 The PyVista Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From c1341af3d181e4806bf9486195046160f9ddad65 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 16 Apr 2021 14:33:09 +0200 Subject: [PATCH 010/125] First wave of changes (#96) --- .ci/azure-pipelines.yml | 2 +- pyvistaqt/plotting.py | 12 +++++------- tests/conftest.py | 14 ++++++++++++++ tests/test_plotting.py | 40 +++++++++++++--------------------------- 4 files changed, 33 insertions(+), 35 deletions(-) create mode 100644 tests/conftest.py diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 2704af18..53fce573 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -375,7 +375,7 @@ jobs: displayName: Upload Documentation to pyvistaqt-docs env: GH_TOKEN: $(gh.token) - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) # don't run job on no-ci builds condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index a8632210..cc1daea9 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -226,7 +226,7 @@ def __init__( self.ren_win.AddRenderer(renderer) self.render_signal.connect(self._render) - self.key_press_event_signal.connect(super(QtInteractor, self).key_press_event) + self.key_press_event_signal.connect(super().key_press_event) self.background_color = rcParams["background"] if self.title: @@ -488,9 +488,7 @@ def __init__( self.frame = QFrame(parent=self.app_window) self.frame.setFrameStyle(QFrame.NoFrame) vlayout = QVBoxLayout() - super(BackgroundPlotter, self).__init__( - parent=self.frame, off_screen=self.off_screen, **kwargs - ) + super().__init__(parent=self.frame, off_screen=off_screen, **kwargs) assert not self._closed vlayout.addWidget(self) self.frame.setLayout(vlayout) @@ -534,7 +532,7 @@ def reset_key_events(self) -> None: Handles closing configuration for q-key. """ - super(BackgroundPlotter, self).reset_key_events() + super().reset_key_events() if self.allow_quit_keypress: # pylint: disable=unnecessary-lambda self.add_key_event("q", lambda: self.close()) @@ -583,12 +581,12 @@ def update_app_icon(self) -> None: # Update trackers self._last_window_size = self.window_size - def set_icon(self, img: np.ndarray) -> None: + def set_icon(self, img: Union[np.ndarray, str]) -> None: """Set the icon image. Parameters ---------- - img : shape (w, h, c) | str + img : ndarray, shape (w, h, c) | str The image. Should be uint8 and square (w == h). Can have 3 or 4 color/alpha channels (``c``). Can also be a string path that QIcon can load. diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 00000000..9da43757 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,14 @@ +import gc +import os +import pytest +import pyvista +from pyvista.plotting import system_supports_plotting + +NO_PLOTTING = not system_supports_plotting() + +@pytest.fixture() +def plotting(): + """Require plotting.""" + if NO_PLOTTING: + pytest.skip(NO_PLOTTING, reason="Requires system to support plotting") + yield diff --git a/tests/test_plotting.py b/tests/test_plotting.py index dcb0ec79..f3e46c02 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -10,7 +10,7 @@ from qtpy.QtCore import Qt from qtpy.QtWidgets import QTreeWidget, QStackedWidget, QCheckBox from pyvista import rcParams -from pyvista.plotting import Renderer, system_supports_plotting +from pyvista.plotting import Renderer import pyvistaqt from pyvistaqt import MultiPlotter, BackgroundPlotter, MainWindow, QtInteractor @@ -18,8 +18,6 @@ _create_menu_bar, _check_type) from pyvistaqt.editor import Editor -NO_PLOTTING = not system_supports_plotting() - class TstWindow(MainWindow): def __init__(self, parent=None, show=True, off_screen=True): @@ -136,8 +134,7 @@ def test_counter(qtbot): assert counter.count == 0 -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_editor(qtbot): +def test_editor(qtbot, plotting): # test editor=False plotter = BackgroundPlotter(editor=False, off_screen=False) qtbot.addWidget(plotter.app_window) @@ -200,8 +197,7 @@ def test_editor(qtbot): plotter.close() -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_qt_interactor(qtbot): +def test_qt_interactor(qtbot, plotting): from pyvista.plotting.plotting import _ALL_PLOTTERS, close_all close_all() # this is necessary to test _ALL_PLOTTERS assert len(_ALL_PLOTTERS) == 0 @@ -265,12 +261,11 @@ def test_qt_interactor(qtbot): assert len(_ALL_PLOTTERS) == 1 -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") @pytest.mark.parametrize('show_plotter', [ True, False, ]) -def test_background_plotting_axes_scale(qtbot, show_plotter): +def test_background_plotting_axes_scale(qtbot, show_plotter, plotting): plotter = BackgroundPlotter( show=show_plotter, off_screen=False, @@ -318,8 +313,7 @@ def test_background_plotting_axes_scale(qtbot, show_plotter): assert not dlg.isVisible() -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_background_plotting_camera(qtbot): +def test_background_plotting_camera(qtbot, plotting): plotter = BackgroundPlotter(off_screen=False, title='Testing Window') plotter.add_mesh(pyvista.Sphere()) @@ -339,12 +333,11 @@ def test_background_plotting_camera(qtbot): plotter.close() -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") @pytest.mark.parametrize('show_plotter', [ True, False, ]) -def test_background_plotter_export_files(qtbot, tmpdir, show_plotter): +def test_background_plotter_export_files(qtbot, tmpdir, show_plotter, plotting): # setup filesystem output_dir = str(tmpdir.mkdir("tmpdir")) assert os.path.isdir(output_dir) @@ -393,12 +386,11 @@ def test_background_plotter_export_files(qtbot, tmpdir, show_plotter): assert os.path.isfile(filename) -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") @pytest.mark.parametrize('show_plotter', [ True, False, ]) -def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter): +def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter, plotting): # setup filesystem output_dir = str(tmpdir.mkdir("tmpdir")) assert os.path.isdir(output_dir) @@ -447,8 +439,7 @@ def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter): assert os.path.isfile(filename + '.vtkjs') -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_background_plotting_orbit(qtbot): +def test_background_plotting_orbit(qtbot, plotting): plotter = BackgroundPlotter(off_screen=False, title='Testing Window') plotter.add_mesh(pyvista.Sphere()) # perform the orbit: @@ -456,8 +447,7 @@ def test_background_plotting_orbit(qtbot): plotter.close() -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_background_plotting_toolbar(qtbot): +def test_background_plotting_toolbar(qtbot, plotting): with pytest.raises(TypeError, match='toolbar'): p = BackgroundPlotter(off_screen=False, toolbar="foo") p.close() @@ -491,8 +481,7 @@ def test_background_plotting_toolbar(qtbot): plotter.close() -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_background_plotting_menu_bar(qtbot): +def test_background_plotting_menu_bar(qtbot, plotting): with pytest.raises(TypeError, match='menu_bar'): p = BackgroundPlotter(off_screen=False, menu_bar="foo") p.close() @@ -537,8 +526,7 @@ def test_background_plotting_menu_bar(qtbot): assert plotter._last_update_time == -np.inf -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_background_plotting_add_callback(qtbot, monkeypatch): +def test_background_plotting_add_callback(qtbot, monkeypatch, plotting): class CallBack(object): def __init__(self, sphere): self.sphere = sphere @@ -614,7 +602,6 @@ def update_app_icon(slf): assert not callback_timer.isActive() # window stops the callback -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") @pytest.mark.parametrize('close_event', [ "plotter_close", "window_close", @@ -626,7 +613,7 @@ def update_app_icon(slf): True, False, ]) -def test_background_plotting_close(qtbot, close_event, empty_scene): +def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): from pyvista.plotting.plotting import _ALL_PLOTTERS, close_all close_all() # this is necessary to test _ALL_PLOTTERS assert len(_ALL_PLOTTERS) == 0 @@ -696,8 +683,7 @@ def test_background_plotting_close(qtbot, close_event, empty_scene): assert len(_ALL_PLOTTERS) == 1 -@pytest.mark.skipif(NO_PLOTTING, reason="Requires system to support plotting") -def test_multiplotter(qtbot): +def test_multiplotter(qtbot, plotting): mp = MultiPlotter( nrows=1, ncols=2, From 0869b82b771edeb49337b23a0af180400bac31df Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 16 Apr 2021 14:48:00 +0200 Subject: [PATCH 011/125] MNT: Add PIP pre job (#95) * Add PIP pre job * Fix * Fix * Redefine _add_observer * Make black * Revert "Fix" This reverts commit 76158e10cc5f8e3ae3ece19b59527209d5e3aea7. * Again * Migrate * Try experimental branch * Remove cruft * Remove cruft * Remove cruft * Reorder * Switch back to pyvista/master * Refactor * Refactor * Make pylint * Make mypy * Refactor * Make black * Again * Again * TST: Upload coverage report * Fix --- .github/workflows/ci.yml | 45 ++++++++++++++++ pyvistaqt/plotting.py | 108 ++++++++++++++++----------------------- pyvistaqt/utils.py | 53 ++++++++++++++++++- tests/test_plotting.py | 4 +- 4 files changed, 144 insertions(+), 66 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2765ae3c..6d6ccdaa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,45 @@ on: - cron: "0 4 * * *" jobs: + pip-pre: + runs-on: 'ubuntu-latest' + defaults: + run: + shell: bash + env: + ALLOW_PLOTTING: 'true' + DISPLAY: ':99' + CONDA_ENV: 'environment.yml' + PYTHON_VERSION: '3.8' + steps: + - uses: actions/checkout@v2 + - run: | + sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 + /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; + name: 'Setup xvfb' + - uses: actions/setup-python@v2 + with: + python-version: ${{ env.PYTHON_VERSION }} + name: 'Setup python' + - run: | + python -m pip install --upgrade pip wheel + pip install -r requirements_test.txt + name: 'Install dependencies with pip' + - run: | + pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master + name: 'Install latest version' + - run: pip install PyQt5 + name: 'Install Qt binding' + - run: | + pip install -e . + python -c "import pyvista; print(pyvista.Report())" + name: 'Install pyvistaqt' + - run: pytest -v --cov pyvistaqt --cov-report html + name: 'Run Tests' + - uses: codecov/codecov-action@v1 + if: success() + name: 'Upload coverage to CodeCov' + pip: name: ${{ matrix.os }} / pip / ${{ matrix.qt }} runs-on: ${{ matrix.os }} @@ -55,6 +94,9 @@ jobs: name: 'Install pyvistaqt' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' + - uses: codecov/codecov-action@v1 + if: success() + name: 'Upload coverage to CodeCov' conda: name: ${{ matrix.os }} / conda / ${{ matrix.qt }} @@ -102,3 +144,6 @@ jobs: - shell: bash -el {0} run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' + - uses: codecov/codecov-action@v1 + if: success() + name: 'Upload coverage to CodeCov' diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index cc1daea9..a8b44059 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -72,7 +72,13 @@ from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog from .editor import Editor -from .utils import _check_type +from .utils import ( + _check_type, + _create_menu_bar, + _setup_application, + _setup_ipython, + _setup_off_screen, +) from .window import MainWindow if scooby.in_ipython(): # pragma: no cover @@ -235,23 +241,12 @@ def __init__( if off_screen is None: off_screen = pyvista.OFF_SCREEN + self._setup_interactor(off_screen) + if off_screen: self.ren_win.SetOffScreenRendering(1) - self.iren = None else: - self.iren = self.ren_win.GetInteractor() - self.iren.RemoveObservers("MouseMoveEvent") # slows window update? - - # Enter trackball camera mode - istyle = vtk.vtkInteractorStyleTrackballCamera() - self.SetInteractorStyle(istyle) - - self.iren.Initialize() - - self._observers: Dict[ - None, None - ] = {} # Map of events to observers of self.iren - self._add_observer("KeyPressEvent", self.key_press_event) + self._setup_key_press() # Make the render timer but only activate if using auto update self.render_timer = QTimer(parent=parent) @@ -273,6 +268,39 @@ def __init__( self._first_time = False # Crucial! LOG.debug("QtInteractor init stop") + def _setup_interactor(self, off_screen: bool) -> None: + if off_screen: + self.iren: Any = None + else: + try: + # pylint: disable=import-outside-toplevel + from pyvista.plotting.render_window_interactor import ( + RenderWindowInteractor, + ) + + self.iren = RenderWindowInteractor( + self, interactor=self.ren_win.GetInteractor() + ) + self.iren.interactor.RemoveObservers( + "MouseMoveEvent" + ) # slows window update? + self.iren.initialize() + except ImportError: + self.iren = self.ren_win.GetInteractor() + self.iren.RemoveObservers("MouseMoveEvent") # slows window update? + self.iren.Initialize() + self.enable_trackball_style() + + def _setup_key_press(self) -> None: + try: + self._observers: Dict[ + None, None + ] = {} # Map of events to observers of self.iren + self.iren.add_observer("KeyPressEvent", self.key_press_event) + except AttributeError: + self._add_observer("KeyPressEvent", self.key_press_event) + self.reset_key_events() + def gesture_event(self, event: QGestureEvent) -> bool: """Handle gesture events.""" pinch = event.gesture(QtCore.Qt.PinchGesture) @@ -524,7 +552,8 @@ def __init__( assert update_app_icon is False # Keypress events - self.add_key_event("S", self._qt_screenshot) # shift + s + if self.iren is not None: + self.add_key_event("S", self._qt_screenshot) # shift + s LOG.debug("BackgroundPlotter init stop") def reset_key_events(self) -> None: @@ -943,50 +972,3 @@ def __getitem__(self, idx: Tuple[int, int]) -> Optional[BackgroundPlotter]: row, col = idx self._plotter = self._plotters[row * self._ncols + col] return self._plotter - - -def _create_menu_bar(parent: Any) -> QMenuBar: - """Create a menu bar. - - The menu bar is expected to behave consistently - for every operating system since `setNativeMenuBar(False)` - is called by default and therefore lifetime and ownership can - be tested. - """ - menu_bar = QMenuBar(parent=parent) - menu_bar.setNativeMenuBar(False) - if parent is not None: - parent.setMenuBar(menu_bar) - return menu_bar - - -def _setup_ipython(ipython: Any = None) -> Any: - # ipython magic - if scooby.in_ipython(): # pragma: no cover - # pylint: disable=import-outside-toplevel - from IPython import get_ipython - - ipython = get_ipython() - ipython.magic("gui qt") - - # pylint: disable=redefined-outer-name - # pylint: disable=import-outside-toplevel - from IPython.external.qt_for_kernel import QtGui - - QtGui.QApplication.instance() - return ipython - - -def _setup_application(app: Optional[QApplication] = None) -> QApplication: - # run within python - if app is None: - app = QApplication.instance() - if not app: # pragma: no cover - app = QApplication(["PyVista"]) - return app - - -def _setup_off_screen(off_screen: Optional[bool] = None) -> bool: - if off_screen is None: - off_screen = pyvista.OFF_SCREEN - return off_screen diff --git a/pyvistaqt/utils.py b/pyvistaqt/utils.py index 300f8f3e..2b53863e 100644 --- a/pyvistaqt/utils.py +++ b/pyvistaqt/utils.py @@ -1,5 +1,9 @@ """This module contains utilities routines.""" -from typing import Any, List, Type +from typing import Any, List, Optional, Type + +import pyvista +import scooby # type: ignore +from qtpy.QtWidgets import QApplication, QMenuBar def _check_type(var: Any, var_name: str, var_types: List[Type[Any]]) -> None: @@ -9,3 +13,50 @@ def _check_type(var: Any, var_name: str, var_types: List[Type[Any]]) -> None: "Expected type for ``{}`` is {}" " but {} was given.".format(var_name, str(types), type(var)) ) + + +def _create_menu_bar(parent: Any) -> QMenuBar: + """Create a menu bar. + + The menu bar is expected to behave consistently + for every operating system since `setNativeMenuBar(False)` + is called by default and therefore lifetime and ownership can + be tested. + """ + menu_bar = QMenuBar(parent=parent) + menu_bar.setNativeMenuBar(False) + if parent is not None: + parent.setMenuBar(menu_bar) + return menu_bar + + +def _setup_ipython(ipython: Any = None) -> Any: + # ipython magic + if scooby.in_ipython(): # pragma: no cover + # pylint: disable=import-outside-toplevel + from IPython import get_ipython + + ipython = get_ipython() + ipython.magic("gui qt") + + # pylint: disable=redefined-outer-name + # pylint: disable=import-outside-toplevel + from IPython.external.qt_for_kernel import QtGui + + QtGui.QApplication.instance() + return ipython + + +def _setup_application(app: Optional[QApplication] = None) -> QApplication: + # run within python + if app is None: + app = QApplication.instance() + if not app: # pragma: no cover + app = QApplication(["PyVista"]) + return app + + +def _setup_off_screen(off_screen: Optional[bool] = None) -> bool: + if off_screen is None: + off_screen = pyvista.OFF_SCREEN + return off_screen diff --git a/tests/test_plotting.py b/tests/test_plotting.py index f3e46c02..81e29997 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -211,7 +211,7 @@ def test_qt_interactor(qtbot, plotting): vtk_widget = window.vtk_widget # QtInteractor # check that QtInteractor.__init__() is called - assert_hasattr(vtk_widget, "iren", vtk.vtkRenderWindowInteractor) + assert hasattr(vtk_widget, "iren") assert_hasattr(vtk_widget, "render_timer", QTimer) # check that BasePlotter.__init__() is called assert_hasattr(vtk_widget, "_closed", bool) @@ -624,7 +624,7 @@ def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): assert_hasattr(plotter, "app_window", MainWindow) assert_hasattr(plotter, "main_menu", QMenuBar) # check that QtInteractor.__init__() is called - assert_hasattr(plotter, "iren", vtk.vtkRenderWindowInteractor) + assert hasattr(plotter, "iren") assert_hasattr(plotter, "render_timer", QTimer) # check that BasePlotter.__init__() is called assert_hasattr(plotter, "_closed", bool) From 7f8810488666af6530fcc97e1c30beb153681c48 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 16 Apr 2021 16:34:27 +0200 Subject: [PATCH 012/125] FIX: version (#97) * Fix version * Make black * Fix --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 6b32bc1e..948dfe10 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 3, 0 +VERSION_INFO = 0, 4, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 8eb40405b31ef815527a2620bc395cb9c5548377 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 16 Apr 2021 16:56:32 +0200 Subject: [PATCH 013/125] Fix doc (#98) --- docs/usage.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/usage.rst b/docs/usage.rst index 722e58d2..acee0b2a 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -75,14 +75,13 @@ sphere to an empty plotting window. os.environ["QT_API"] = "pyqt5" from qtpy import QtWidgets - from qtpy.QtWidgets import QMainWindow import numpy as np import pyvista as pv - from pyvistaqt import QtInteractor + from pyvistaqt import QtInteractor, MainWindow - class MainWindow(QMainWindow): + class MyMainWindow(MainWindow): def __init__(self, parent=None, show=True): QtWidgets.QMainWindow.__init__(self, parent) @@ -94,6 +93,7 @@ sphere to an empty plotting window. # add the pyvista interactor object self.plotter = QtInteractor(self.frame) vlayout.addWidget(self.plotter.interactor) + self.signal_close.connect(self.plotter.close) self.frame.setLayout(vlayout) self.setCentralWidget(self.frame) @@ -124,7 +124,7 @@ sphere to an empty plotting window. if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) - window = MainWindow() + window = MyMainWindow() sys.exit(app.exec_()) From 20ad29925b59152786409124d79d927ada68400b Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 11 May 2021 18:01:35 +0200 Subject: [PATCH 014/125] FIX: conda env (#100) * Reproduce from master first * TST: Be strict * Try again * Try again * Try again * Try again * Up --- .ci/azure-pipelines.yml | 19 ++++--------------- environment.yml | 22 +++++++--------------- requirements_test.txt | 15 +++++---------- setup.py | 1 - 4 files changed, 16 insertions(+), 41 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 53fce573..6335f5c6 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -178,16 +178,6 @@ jobs: variables: DISPLAY: ':99.0' PYVISTA_OFF_SCREEN: 'True' - - strategy: - matrix: - VTKv81: - VTK.VERSION: 8.1 - VTKv82: - VTK.VERSION: 8.2 - VTKv90: - VTK.VERSION: 9.0 - steps: - script: | .ci/setup_headless_display.sh @@ -197,9 +187,8 @@ jobs: export CONDA_ALWAYS_YES=1 source /usr/share/miniconda/etc/profile.d/conda.sh conda config --add channels conda-forge - sed -i -e 's/- vtk$/- vtk=$(VTK.VERSION)/' environment.yml - conda env create --quiet -n pyvista-vtk$(VTK.VERSION) --file environment.yml - conda activate pyvista-vtk$(VTK.VERSION) + conda env create --quiet -n pyvistaqt-env --file environment.yml + conda activate pyvistaqt-env pip install PyQt5==5.11.3 pip install -e . conda list @@ -209,13 +198,13 @@ jobs: - script: | source /usr/share/miniconda/etc/profile.d/conda.sh - conda activate pyvista-vtk$(VTK.VERSION) + conda activate pyvistaqt-env pytest -v --cov pyvistaqt --cov-report html displayName: 'Test Core API against VTK' - script: | source /usr/share/miniconda/etc/profile.d/conda.sh - conda activate pyvista-vtk$(VTK.VERSION) + conda activate pyvistaqt-env pytest -v --doctest-modules pyvistaqt displayName: 'Test Package Docstrings against VTK' condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) diff --git a/environment.yml b/environment.yml index 9683e299..9085d971 100644 --- a/environment.yml +++ b/environment.yml @@ -2,25 +2,17 @@ name: pyvistaqt-env channels: - conda-forge dependencies: - - python>=3.5 + - python<3.9 + - codecov + - ipython - numpy - - vtk - - scooby>=0.5.1 - - meshio>=4.0.3, <5.0 - - appdirs - - qtpy - - imageio>=2.5.0 - - imageio-ffmpeg - - colorcet - - cmocean - - itkwidgets>=0.25.2 - - tqdm - pytest - pytest-cov - pytest-qt - - pyvista - - codecov - - hypothesis>=5.8.0 + - qtpy>=1.9.0 + - scooby>=0.5.1 - pip - pip: + - vtk + - pyvista>=0.25.0 - pytest-memprof diff --git a/requirements_test.txt b/requirements_test.txt index 37b133fa..2ae10297 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,16 +1,11 @@ +codecov +ipython numpy -vtk -appdirs pytest pytest-cov pytest-memprof -codecov -qtpy pytest-qt -imageio>=2.5.0 -imageio-ffmpeg -colorcet -cmocean +pyvista>=0.25.0 +qtpy>=1.9.0 scooby>=0.5.1 -tqdm -ipython +vtk diff --git a/setup.py b/setup.py index 1596a5b8..cf761b80 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,6 @@ install_requires=[ 'pyvista>=0.25.0', 'QtPy>=1.9.0', - 'imageio>=2.5.0', ], package_data={'pyvistaqt': [ os.path.join('data', '*.png'), From cda6dc2708aea251e651970fc5dbdfdadd39188c Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 12 May 2021 13:36:01 +0200 Subject: [PATCH 015/125] Prepare the release (#106) --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 948dfe10..62805a88 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 4, "dev0" +VERSION_INFO = 0, 4, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 6d2f32e679589ae47680403afb69fbeccd49a35b Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 12 May 2021 13:51:38 +0200 Subject: [PATCH 016/125] Bump version (#107) --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 62805a88..381e61c3 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 4, 0 +VERSION_INFO = 0, 5, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From a9bc3cb8a488e2a6c49e31cd76b3922376c94007 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Mon, 17 May 2021 07:45:23 -0400 Subject: [PATCH 017/125] FIX: Import from root (#108) * FIX: Import from root * FIX: Order --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index a8b44059..4b8813a6 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -51,8 +51,8 @@ import pyvista import scooby # type: ignore import vtk +from pyvista import rcParams from pyvista.plotting.plotting import BasePlotter -from pyvista.plotting.theme import rcParams from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore from qtpy.QtCore import QSize, QTimer, Signal From 84c72366a587bc35f14594f2e14c5d194df0c1dd Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 07:49:56 -0400 Subject: [PATCH 018/125] MAINT: More updates --- pyvistaqt/plotting.py | 26 ++++++++++++++++++++------ tests/test_plotting.py | 6 +++--- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 4b8813a6..4f068bc9 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -51,7 +51,20 @@ import pyvista import scooby # type: ignore import vtk -from pyvista import rcParams +try: + from pyvista import global_theme +except Exception: # workaround for older PyVista + from pyvista import rcParams + + class GlobalTheme: + + def __setattr__(self, k, v): + rcParams[k] = v + + def __getattr__(self, k): + return rcParams[k] + + global_theme = GlobalTheme() from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore @@ -213,7 +226,7 @@ def __init__( self.interactor = self if multi_samples is None: - multi_samples = rcParams["multi_samples"] + multi_samples = global_theme.multi_samples self.setAcceptDrops(True) @@ -234,7 +247,7 @@ def __init__( self.render_signal.connect(self._render) self.key_press_event_signal.connect(super().key_press_event) - self.background_color = rcParams["background"] + self.background_color = global_theme.background if self.title: self.setWindowTitle(title) @@ -260,7 +273,7 @@ def __init__( self.render_timer.timeout.connect(self.render) self.render_timer.start(twait) - if rcParams["depth_peeling"]["enabled"]: + if global_theme.depth_peeling["enabled"]: if self.enable_depth_peeling(): for renderer in self.renderers: renderer.enable_depth_peeling() @@ -503,7 +516,7 @@ def __init__( self.allow_quit_keypress = allow_quit_keypress if window_size is None: - window_size = rcParams["window_size"] + window_size = global_theme.window_size # Remove notebook argument in case user passed it kwargs.pop("notebook", None) @@ -512,7 +525,8 @@ def __init__( self.app = _setup_application(app) self.off_screen = _setup_off_screen(off_screen) - self.app_window = MainWindow(title=kwargs.get("title", rcParams["title"])) + self.app_window = MainWindow(title=kwargs.get( + "title", global_theme.title)) self.frame = QFrame(parent=self.app_window) self.frame.setFrameStyle(QFrame.NoFrame) vlayout = QVBoxLayout() diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 81e29997..5b1a2c47 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -9,7 +9,7 @@ from qtpy.QtWidgets import QAction, QFrame, QMenuBar, QToolBar, QVBoxLayout from qtpy.QtCore import Qt from qtpy.QtWidgets import QTreeWidget, QStackedWidget, QCheckBox -from pyvista import rcParams +from pyvistaqt.plotting import global_theme from pyvista.plotting import Renderer import pyvistaqt @@ -83,12 +83,12 @@ def test_depth_peeling(qtbot): qtbot.addWidget(plotter.app_window) assert not plotter.renderer.GetUseDepthPeeling() plotter.close() - rcParams["depth_peeling"]["enabled"] = True + global_theme.depth_peeling["enabled"] = True plotter = BackgroundPlotter() qtbot.addWidget(plotter.app_window) assert plotter.renderer.GetUseDepthPeeling() plotter.close() - rcParams["depth_peeling"]["enabled"] = False + global_theme.depth_peeling["enabled"] = False def test_off_screen(qtbot): From ab86dee9868b4f4a1314fe7e29634c527c844352 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 07:56:46 -0400 Subject: [PATCH 019/125] FIX: lint --- pyvistaqt/plotting.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 4f068bc9..6490c1c6 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -53,10 +53,11 @@ import vtk try: from pyvista import global_theme -except Exception: # workaround for older PyVista +except ImportError: # workaround for older PyVista from pyvista import rcParams class GlobalTheme: + """Wrap global_theme too rcParams.""" def __setattr__(self, k, v): rcParams[k] = v @@ -64,7 +65,7 @@ def __setattr__(self, k, v): def __getattr__(self, k): return rcParams[k] - global_theme = GlobalTheme() + global_theme = GlobalTheme() # pylint: disable=invalid-name from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore From f9c2f07cc2b5a626f56146c5c15c8b775ebbeb78 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 07:58:59 -0400 Subject: [PATCH 020/125] FIX: Reformat --- pyvistaqt/plotting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 6490c1c6..f86ef758 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -51,6 +51,7 @@ import pyvista import scooby # type: ignore import vtk + try: from pyvista import global_theme except ImportError: # workaround for older PyVista @@ -526,8 +527,7 @@ def __init__( self.app = _setup_application(app) self.off_screen = _setup_off_screen(off_screen) - self.app_window = MainWindow(title=kwargs.get( - "title", global_theme.title)) + self.app_window = MainWindow(title=kwargs.get("title", global_theme.title)) self.frame = QFrame(parent=self.app_window) self.frame.setFrameStyle(QFrame.NoFrame) vlayout = QVBoxLayout() From fb0cc327cd61650af386e8a0a12645a912177efe Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 08:00:41 -0400 Subject: [PATCH 021/125] STY: Flake --- pyvistaqt/plotting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index f86ef758..0ec279c8 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -60,10 +60,10 @@ class GlobalTheme: """Wrap global_theme too rcParams.""" - def __setattr__(self, k, v): + def __setattr__(self, k, v): # noqa: D105 rcParams[k] = v - def __getattr__(self, k): + def __getattr__(self, k): # noqa: D105 return rcParams[k] global_theme = GlobalTheme() # pylint: disable=invalid-name From d87c23ec474d170ac961ad6e43490ab36c82261a Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 08:07:32 -0400 Subject: [PATCH 022/125] FIX: Update --- pyvistaqt/plotting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 0ec279c8..e8dd4d5d 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -57,7 +57,7 @@ except ImportError: # workaround for older PyVista from pyvista import rcParams - class GlobalTheme: + class _GlobalTheme: """Wrap global_theme too rcParams.""" def __setattr__(self, k, v): # noqa: D105 @@ -66,7 +66,7 @@ def __setattr__(self, k, v): # noqa: D105 def __getattr__(self, k): # noqa: D105 return rcParams[k] - global_theme = GlobalTheme() # pylint: disable=invalid-name + global_theme = _GlobalTheme() # pylint: disable=invalid-name from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore From d4de3d6fd8718817c21fd64dbd5426f0f457596d Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 08:26:06 -0400 Subject: [PATCH 023/125] FIX: For old pytest --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index e8dd4d5d..a0c0ef50 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -64,7 +64,7 @@ def __setattr__(self, k, v): # noqa: D105 rcParams[k] = v def __getattr__(self, k): # noqa: D105 - return rcParams[k] + return rcParams[k] if k != '__wrapped__' else None global_theme = _GlobalTheme() # pylint: disable=invalid-name from pyvista.plotting.plotting import BasePlotter From 559b811500d70c4357a4313fc59beed25d80db48 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 09:44:17 -0400 Subject: [PATCH 024/125] FIX: One more --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index a0c0ef50..0fe758a6 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -64,7 +64,7 @@ def __setattr__(self, k, v): # noqa: D105 rcParams[k] = v def __getattr__(self, k): # noqa: D105 - return rcParams[k] if k != '__wrapped__' else None + return rcParams[k] if k != "__wrapped__" else None global_theme = _GlobalTheme() # pylint: disable=invalid-name from pyvista.plotting.plotting import BasePlotter From 576e061174af4da443f286fea6bed1adb74544f6 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 May 2021 16:07:05 +0200 Subject: [PATCH 025/125] Make mypy --- pyvistaqt/plotting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 0fe758a6..a0d70f9a 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -60,10 +60,10 @@ class _GlobalTheme: """Wrap global_theme too rcParams.""" - def __setattr__(self, k, v): # noqa: D105 + def __setattr__(self, k: str, v: Any) -> None: # noqa: D105 rcParams[k] = v - def __getattr__(self, k): # noqa: D105 + def __getattr__(self, k: str) -> None: # noqa: D105 return rcParams[k] if k != "__wrapped__" else None global_theme = _GlobalTheme() # pylint: disable=invalid-name From 323a7e74bf2264665387e29d235e492f3868336b Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 May 2021 16:08:41 +0200 Subject: [PATCH 026/125] Fix --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index a0d70f9a..11d0fab0 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -63,7 +63,7 @@ class _GlobalTheme: def __setattr__(self, k: str, v: Any) -> None: # noqa: D105 rcParams[k] = v - def __getattr__(self, k: str) -> None: # noqa: D105 + def __getattr__(self, k: str) -> None: # noqa: D105 return rcParams[k] if k != "__wrapped__" else None global_theme = _GlobalTheme() # pylint: disable=invalid-name From 8b7546cb2c3f1fd36075eaee9ec622eeeb2be0d7 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 11:14:35 -0400 Subject: [PATCH 027/125] ping CIs From 57f01ea68563e1e03ddbf308be0d1dde3ab3b840 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 18:08:22 -0400 Subject: [PATCH 028/125] STY: isort --- pyvistaqt/plotting.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 11d0fab0..a36a8e74 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -51,22 +51,6 @@ import pyvista import scooby # type: ignore import vtk - -try: - from pyvista import global_theme -except ImportError: # workaround for older PyVista - from pyvista import rcParams - - class _GlobalTheme: - """Wrap global_theme too rcParams.""" - - def __setattr__(self, k: str, v: Any) -> None: # noqa: D105 - rcParams[k] = v - - def __getattr__(self, k: str) -> None: # noqa: D105 - return rcParams[k] if k != "__wrapped__" else None - - global_theme = _GlobalTheme() # pylint: disable=invalid-name from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore @@ -96,6 +80,22 @@ def __getattr__(self, k: str) -> None: # noqa: D105 ) from .window import MainWindow +try: + from pyvista import global_theme +except ImportError: # workaround for older PyVista + from pyvista import rcParams + + class _GlobalTheme: + """Wrap global_theme too rcParams.""" + + def __setattr__(self, k: str, v: Any) -> None: # noqa: D105 + rcParams[k] = v + + def __getattr__(self, k: str) -> None: # noqa: D105 + return rcParams[k] if k != "__wrapped__" else None + + global_theme = _GlobalTheme() # pylint: disable=invalid-name + if scooby.in_ipython(): # pragma: no cover # pylint: disable=unused-import from IPython.external.qt_for_kernel import QtGui From 1e546a6ec0bf30597a84eefd080d6c97c698ade3 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 18:25:57 -0400 Subject: [PATCH 029/125] FIX: Conflict between pylint and isort --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index a36a8e74..1e97948b 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -81,7 +81,7 @@ from .window import MainWindow try: - from pyvista import global_theme + from pyvista import global_theme # pylint: disable=ungrouped-imports except ImportError: # workaround for older PyVista from pyvista import rcParams From 2f528ef4cbcc170d6441cce18ab53ff89a8c4d52 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 18 May 2021 20:55:37 -0400 Subject: [PATCH 030/125] FIX: isort conflict (#111) --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 1e97948b..6d5f20c6 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -83,7 +83,7 @@ try: from pyvista import global_theme # pylint: disable=ungrouped-imports except ImportError: # workaround for older PyVista - from pyvista import rcParams + from pyvista import rcParams # pylint: disable=ungrouped-imports class _GlobalTheme: """Wrap global_theme too rcParams.""" From 90d5cd6cffe306dc525fe8743f8bd4a64f0bc57d Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 19 May 2021 10:15:55 +0200 Subject: [PATCH 031/125] MNT: Test against different pyvista versions (#110) * Test against different pyvista versions * Update job name * Update job name * DeprecationWarning as errors * Fix * Add infos * Update * Update --- .github/workflows/ci.yml | 44 ++++------------------------------------ pytest.ini | 12 ++++++++--- pyvistaqt/dialog.py | 1 - pyvistaqt/plotting.py | 2 +- 4 files changed, 14 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d6ccdaa..58bb72ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,52 +10,14 @@ on: - cron: "0 4 * * *" jobs: - pip-pre: - runs-on: 'ubuntu-latest' - defaults: - run: - shell: bash - env: - ALLOW_PLOTTING: 'true' - DISPLAY: ':99' - CONDA_ENV: 'environment.yml' - PYTHON_VERSION: '3.8' - steps: - - uses: actions/checkout@v2 - - run: | - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; - name: 'Setup xvfb' - - uses: actions/setup-python@v2 - with: - python-version: ${{ env.PYTHON_VERSION }} - name: 'Setup python' - - run: | - python -m pip install --upgrade pip wheel - pip install -r requirements_test.txt - name: 'Install dependencies with pip' - - run: | - pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master - name: 'Install latest version' - - run: pip install PyQt5 - name: 'Install Qt binding' - - run: | - pip install -e . - python -c "import pyvista; print(pyvista.Report())" - name: 'Install pyvistaqt' - - run: pytest -v --cov pyvistaqt --cov-report html - name: 'Run Tests' - - uses: codecov/codecov-action@v1 - if: success() - name: 'Upload coverage to CodeCov' - pip: - name: ${{ matrix.os }} / pip / ${{ matrix.qt }} + name: ${{ matrix.os }} / pip / ${{ matrix.qt }} / pyvista-${{ matrix.pyvista }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] + pyvista: ['0.29.0', '0.30.0', 'master'] qt: ['PySide2'] defaults: run: @@ -88,6 +50,8 @@ jobs: name: 'Install dependencies with pip' - run: pip install ${{ matrix.qt }} name: 'Install Qt binding' + - run: pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/${{ matrix.pyvista }} + name: 'Install PyVista' - run: | pip install -e . python -c "import pyvista; print(pyvista.Report())" diff --git a/pytest.ini b/pytest.ini index 363ce7c6..50997d7b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,9 +1,15 @@ [pytest] junit_family=legacy filterwarnings = - ignore::FutureWarning - ignore::PendingDeprecationWarning - ignore::DeprecationWarning + error + ignore::ResourceWarning # bogus numpy ABI warning (see numpy/#432) ignore:.*numpy.dtype size changed.*:RuntimeWarning ignore:.*numpy.ufunc size changed.*:RuntimeWarning + # from usage of numpy_to_vtk: + ignore:.*`np.bool` is a deprecated alias.*:DeprecationWarning + ignore:.*`np.int` is a deprecated alias.*:DeprecationWarning + ignore:.*`np.float` is a deprecated alias.*:DeprecationWarning + ignore:.*`np.object` is a deprecated alias.*:DeprecationWarning + ignore:.*`np.long` is a deprecated alias:DeprecationWarning + ignore:.*Converting `np\.character` to a dtype is deprecated.*:DeprecationWarning diff --git a/pyvistaqt/dialog.py b/pyvistaqt/dialog.py index d3b26b90..ef54dfc1 100644 --- a/pyvistaqt/dialog.py +++ b/pyvistaqt/dialog.py @@ -145,7 +145,6 @@ def __init__( """Initialize the range widget.""" super(RangeGroup, self).__init__(parent) self.slider = DoubleSlider(QtCore.Qt.Horizontal) - self.slider.setTickInterval(0.1) self.slider.setMinimum(minimum) self.slider.setMaximum(maximum) self.slider.setValue(value) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 6d5f20c6..5f95089d 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -271,7 +271,7 @@ def __init__( # Modified() and upstream objects won't be updated. This # ensures the render window stays updated without consuming too # many resources. - twait = (auto_update ** -1) * 1000.0 + twait = int((auto_update ** -1) * 1000.0) self.render_timer.timeout.connect(self.render) self.render_timer.start(twait) From 4f07b3b5c6d73f34618afdb0f18fca227be8f0ea Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 19 May 2021 15:55:28 +0200 Subject: [PATCH 032/125] Rework badge (#112) --- README.rst | 22 +++++++++++++++++----- pyvistaqt/counter.py | 2 +- pyvistaqt/dialog.py | 6 +++--- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index 7f7bcd4e..5bdff49f 100644 --- a/README.rst +++ b/README.rst @@ -15,6 +15,10 @@ PyVistaQt :target: https://dev.azure.com/pyvista/PyVista/_build/latest?definitionId=9&branchName=master :alt: Azure Pipelines +.. image:: https://github.com/pyvista/pyvistaqt/actions/workflows/ci.yml/badge.svg?branch=master + :target: https://github.com/pyvista/pyvistaqt/actions?query=branch:master+event:push + :alt: GitHub Actions + .. image:: https://img.shields.io/badge/License-MIT-yellow.svg :target: https://opensource.org/licenses/MIT :alt: MIT License @@ -23,14 +27,22 @@ PyVistaQt :target: https://codecov.io/gh/pyvista/pyvistaqt :alt: Codecov -.. image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square - :target: https://github.com/psf/black - :alt: black - -.. image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336 +.. image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat :target: https://timothycrosley.github.io/isort :alt: isort +.. image:: https://img.shields.io/badge/%20linter-pylint-%231674b1?style=flat + :target: https://github.com/PyCQA/pylint + :alt: pylint + +.. image:: https://img.shields.io/badge/%20type_checker-mypy-%231674b1?style=flat + :target: https://github.com/python/mypy + :alt: mypy + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat + :target: https://github.com/psf/black + :alt: black + ``pyvistaqt`` is a helper module for ``pyvista`` to enable you to plot using ``pyqt`` by placing a vtk-widget into a background render. This can be quite useful when you desire to update your plot in diff --git a/pyvistaqt/counter.py b/pyvistaqt/counter.py index ebec79fe..3a696174 100644 --- a/pyvistaqt/counter.py +++ b/pyvistaqt/counter.py @@ -12,7 +12,7 @@ class Counter(QObject): def __init__(self, count: int) -> None: """Initialize the counter.""" - super(Counter, self).__init__() + super().__init__() if isinstance(count, int) and count > 0: self.count = count elif count > 0: diff --git a/pyvistaqt/dialog.py b/pyvistaqt/dialog.py index ef54dfc1..c0643fa6 100644 --- a/pyvistaqt/dialog.py +++ b/pyvistaqt/dialog.py @@ -40,7 +40,7 @@ def __init__( directory: bool = False, ) -> None: """Initialize the file dialog.""" - super(FileDialog, self).__init__(parent) + super().__init__(parent) if filefilter is not None: self.setNameFilters(filefilter) @@ -143,7 +143,7 @@ def __init__( value: float = 1.0, ) -> None: """Initialize the range widget.""" - super(RangeGroup, self).__init__(parent) + super().__init__(parent) self.slider = DoubleSlider(QtCore.Qt.Horizontal) self.slider.setMinimum(minimum) self.slider.setMaximum(maximum) @@ -204,7 +204,7 @@ def __init__( self, parent: MainWindow, plotter: pv.Plotter, show: bool = True ) -> None: """Initialize the scaling dialog.""" - super(ScaleAxesDialog, self).__init__(parent) + super().__init__(parent) self.setGeometry(300, 300, 50, 50) self.setMinimumWidth(500) self.signal_close.connect(self.close) From 5fabf36fbccebad008d419ed1fba9292d7831c6d Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Mon, 7 Jun 2021 16:02:34 +0200 Subject: [PATCH 033/125] Update tests (#116) --- tests/test_plotting.py | 68 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 5b1a2c47..e5eb0e92 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -147,8 +147,8 @@ def test_editor(qtbot, plotting): assert_hasattr(plotter, "editor", Editor) editor = plotter.editor assert not editor.isVisible() - editor.toggle() - qtbot.waitForWindowShown(editor) + with qtbot.wait_exposed(editor): + editor.toggle() assert editor.isVisible() plotter.close() assert not editor.isVisible() @@ -157,8 +157,8 @@ def test_editor(qtbot, plotting): plotter = BackgroundPlotter(shape=(2, 1), off_screen=False) qtbot.addWidget(plotter.app_window) editor = plotter.editor - editor.toggle() - qtbot.waitForWindowShown(editor) + with qtbot.wait_exposed(editor): + editor.toggle() # add at least an actor plotter.subplot(0, 0) @@ -230,10 +230,10 @@ def test_qt_interactor(qtbot, plotting): window.add_sphere() assert np.any(window.vtk_widget.mesh.points) - window.show() - qtbot.waitForWindowShown(window) - interactor.show() - qtbot.waitForWindowShown(interactor) + with qtbot.wait_exposed(window): + window.show() + with qtbot.wait_exposed(interactor): + interactor.show() assert window.isVisible() assert interactor.isVisible() @@ -278,8 +278,8 @@ def test_background_plotting_axes_scale(qtbot, show_plotter, plotting): # show the window if not show_plotter: assert not window.isVisible() - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -293,8 +293,8 @@ def test_background_plotting_axes_scale(qtbot, show_plotter, plotting): # show the dialog assert not dlg.isVisible() - dlg.show() - qtbot.waitForWindowShown(dlg) + with qtbot.wait_exposed(dlg): + dlg.show() assert dlg.isVisible() value = 2.0 @@ -354,8 +354,8 @@ def test_background_plotter_export_files(qtbot, tmpdir, show_plotter, plotting): # show the window if not show_plotter: assert not window.isVisible() - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -372,8 +372,8 @@ def test_background_plotter_export_files(qtbot, tmpdir, show_plotter, plotting): # show the dialog assert not dlg.isVisible() - dlg.show() - qtbot.waitForWindowShown(dlg) + with qtbot.wait_exposed(dlg): + dlg.show() assert dlg.isVisible() # synchronise signal and callback @@ -407,8 +407,8 @@ def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter, plotting): # show the window if not show_plotter: assert not window.isVisible() - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() assert window.isVisible() plotter.add_mesh(pyvista.Sphere()) @@ -425,8 +425,8 @@ def test_background_plotter_export_vtkjs(qtbot, tmpdir, show_plotter, plotting): # show the dialog assert not dlg.isVisible() - dlg.show() - qtbot.waitForWindowShown(dlg) + with qtbot.wait_exposed(dlg): + dlg.show() assert dlg.isVisible() # synchronise signal and callback @@ -469,8 +469,8 @@ def test_background_plotting_toolbar(qtbot, plotting): default_camera_tool_bar = plotter.default_camera_tool_bar saved_cameras_tool_bar = plotter.saved_cameras_tool_bar - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() assert default_camera_tool_bar.isVisible() assert saved_cameras_tool_bar.isVisible() @@ -503,8 +503,8 @@ def test_background_plotting_menu_bar(qtbot, plotting): main_menu = plotter.main_menu assert not main_menu.isNativeMenuBar() - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() # EDL action assert not hasattr(plotter.renderer, 'edl_pass') @@ -565,8 +565,8 @@ def update_app_icon(slf): # ensure that the window is showed assert not window.isVisible() - window.show() - qtbot.waitForWindowShown(window) + with qtbot.wait_exposed(window): + window.show() assert window.isVisible() assert update_count[0] in [0, 1] # macOS sometimes updates (1) # don't check _last_update_time for non-inf-ness, won't be updated on Win @@ -644,10 +644,10 @@ def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): render_blocker.wait() # ensure that the widgets are showed - window.show() - qtbot.waitForWindowShown(window) - interactor.show() - qtbot.waitForWindowShown(interactor) + with qtbot.wait_exposed(window): + window.show() + with qtbot.wait_exposed(interactor): + interactor.show() # check that the widgets are showed properly assert window.isVisible() @@ -696,8 +696,8 @@ def test_multiplotter(qtbot, plotting): mp[0, 0].add_mesh(pyvista.Cone()) mp[0, 1].add_mesh(pyvista.Box()) assert not mp._window.isVisible() - mp.show() - qtbot.waitForWindowShown(mp._window) + with qtbot.wait_exposed(mp._window): + mp.show() assert mp._window.isVisible() for p in mp._plotters: assert not p._closed @@ -709,8 +709,8 @@ def test_multiplotter(qtbot, plotting): # cover default show=True mp = MultiPlotter(off_screen=False, menu_bar=False, toolbar=False) qtbot.addWidget(mp._window) - qtbot.waitForWindowShown(mp._window) - assert mp._window.isVisible() + with qtbot.wait_exposed(mp._window): + assert mp._window.isVisible() mp.close() From 63b45ff3ea2d075c222266e6093249cd81b1594c Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 8 Jun 2021 16:51:23 +0200 Subject: [PATCH 034/125] MNT: Upgrade ubuntu and add pip-pre (#115) * Upgrade ubuntu and add pip-pre * Fix qt binding * Update matrix * Add matplotlib * Increase timeout * Fix * Fix --- .ci/azure-pipelines.yml | 71 ++--------------------------------- .ci/setup_headless_display.sh | 19 ++-------- .github/workflows/ci.yml | 53 +++++++++++++++++++++----- requirements_docs.txt | 1 + tests/test_plotting.py | 4 +- 5 files changed, 54 insertions(+), 94 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 6335f5c6..bb919b46 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -35,75 +35,10 @@ jobs: displayName: 'Run doctest' -# # DESCRIPTION: Linux multiple qt version testing -# - job: LinuxPyQT -# pool: -# vmImage: 'ubuntu-16.04' -# variables: -# DISPLAY: ':99.0' -# PYVISTA_OFF_SCREEN: 'True' - -# strategy: -# matrix: -# 5.14.2: -# pyqt5.version: '5.14.2' -# 5.14.1: -# pyqt5.version: '5.14.1' -# 5.14.0: -# pyqt5.version: '5.14.0' -# 5.13.2: -# pyqt5.version: '5.13.2' -# 5.13.1: -# pyqt5.version: '5.13.1' -# 5.13.0: -# pyqt5.version: '5.13.0' -# 5.12.3: -# pyqt5.version: '5.12.3' -# 5.12.2: -# pyqt5.version: '5.12.2' -# 5.12.1: -# pyqt5.version: '5.12.1' -# 5.12.0: -# pyqt5.version: '5.12.0' -# 5.11.3: -# pyqt5.version: '5.11.3' - -# steps: -# - task: UsePythonVersion@0 -# inputs: -# versionSpec: '3.7' -# displayName: 'Set Python 3.7' - -# - script: | -# pip install pyqt5==$(pyqt5.version) -# displayName: 'Install PyQt5==$(pyqt5.version)' - -# - script: | -# pip install -e . -# displayName: Install pyvistaqt - -# - script: | -# .ci/setup_headless_display.sh -# displayName: Install headless display - -# - script: | -# sudo apt-get install python3-tk -# pip install -r requirements_test.txt -# python -c "import pyvista; print(pyvista.Report())" -# which python -# pip list -# displayName: 'Install dependencies' - -# - script: | -# pip install pytest-azurepipelines -# pytest -v --cov pyvistaqt --cov-report html -# displayName: 'Test Core API' - - # DESCRIPTION: Core API and doc string testing for Linux - job: Linux pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' variables: DISPLAY: ':99.0' PYVISTA_OFF_SCREEN: 'True' @@ -174,7 +109,7 @@ jobs: # DESCRIPTION: Core API and doc string testing across VTK versions using conda - job: LinuxConda pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' variables: DISPLAY: ':99.0' PYVISTA_OFF_SCREEN: 'True' @@ -292,7 +227,7 @@ jobs: # Builds the documentation - job: BuildDocumentation pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' variables: DISPLAY: ':99.0' diff --git a/.ci/setup_headless_display.sh b/.ci/setup_headless_display.sh index 50079b07..49e40dce 100755 --- a/.ci/setup_headless_display.sh +++ b/.ci/setup_headless_display.sh @@ -1,16 +1,5 @@ -#!/bin/sh -set -x +#!/bin/bash -ef -# sudo apt-get update && sudo apt-get install python-qt4 libgl1-mesa-glx -sudo apt-get install python-qt4 libgl1-mesa-glx -sudo apt-get install -y xvfb -export DISPLAY=:99.0 -export PYVISTA_OFF_SCREEN=True -which Xvfb -Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & -# Debugging commands: -# ls -l /etc/init.d/ -# sh -e /etc/init.d/xvfb start -# give xvfb some time to start -sleep 3 -set +x +sudo apt-get update +sudo apt-get install -yqq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 +/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58bb72ec..3d9de54c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,46 @@ on: - cron: "0 4 * * *" jobs: + pip-pre: + name: ubuntu-latest / Python3.9 / PySide2 / pyvista-master / qtpy-master + runs-on: ubuntu-latest + strategy: + fail-fast: false + defaults: + run: + shell: bash + env: + ALLOW_PLOTTING: 'true' + DISPLAY: ':99' + PYTHON_VERSION: '3.9' + steps: + - uses: actions/checkout@v2 + - run: .ci/setup_headless_display.sh + name: 'Setup xvfb' + - uses: actions/setup-python@v2 + with: + python-version: ${{ env.PYTHON_VERSION }} + name: 'Setup python' + - run: | + python -m pip install --upgrade pip wheel + wget -q https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl + pip install --progress-bar off vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl + pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master + pip install --progress-bar off https://github.com/spyder-ide/qtpy/zipball/master + pip install --upgrade -r requirements_test.txt + name: 'Install dependencies with pip' + - run: pip install PySide2 + name: 'Install Qt binding' + - run: | + pip install -e . + python -c "import pyvista; print(pyvista.Report())" + name: 'Install pyvistaqt' + - run: pytest -v --cov pyvistaqt --cov-report html + name: 'Run Tests' + - uses: codecov/codecov-action@v1 + if: success() + name: 'Upload coverage to CodeCov' + pip: name: ${{ matrix.os }} / pip / ${{ matrix.qt }} / pyvista-${{ matrix.pyvista }} runs-on: ${{ matrix.os }} @@ -17,7 +57,7 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.29.0', '0.30.0', 'master'] + pyvista: ['0.29', '0.30', '0.31'] qt: ['PySide2'] defaults: run: @@ -25,13 +65,10 @@ jobs: env: ALLOW_PLOTTING: 'true' DISPLAY: ':99' - CONDA_ENV: 'environment.yml' PYTHON_VERSION: '3.8' steps: - uses: actions/checkout@v2 - - run: | - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; + - run: .ci/setup_headless_display.sh name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' - run: | @@ -50,7 +87,7 @@ jobs: name: 'Install dependencies with pip' - run: pip install ${{ matrix.qt }} name: 'Install Qt binding' - - run: pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/${{ matrix.pyvista }} + - run: pip install pyvista==${{ matrix.pyvista }} name: 'Install PyVista' - run: | pip install -e . @@ -80,9 +117,7 @@ jobs: PYTHON_VERSION: '3.8' steps: - uses: actions/checkout@v2 - - run: | - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset; + - run: .ci/setup_headless_display.sh name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' - run: | diff --git a/requirements_docs.txt b/requirements_docs.txt index e8f38757..2ff00b26 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -2,6 +2,7 @@ imageio>=2.5.0 imageio-ffmpeg colorcet cmocean +matplotlib meshio>=4.0.3, <5.0 qtpy pytest-sphinx diff --git a/tests/test_plotting.py b/tests/test_plotting.py index e5eb0e92..8e52d6bc 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -644,9 +644,9 @@ def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): render_blocker.wait() # ensure that the widgets are showed - with qtbot.wait_exposed(window): + with qtbot.wait_exposed(window, timeout=10000): window.show() - with qtbot.wait_exposed(interactor): + with qtbot.wait_exposed(interactor, timeout=10000): interactor.show() # check that the widgets are showed properly From b6c221f64f0ac0b9fe1da0b856d8ee7a83dc6989 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 9 Jun 2021 11:07:26 -0400 Subject: [PATCH 035/125] ENH: Bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 381e61c3..5288ce72 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 5, "dev0" +VERSION_INFO = 0, 5, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From c3c59eb3407ed10acd2d6eeb366c398a40e3b9bd Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 9 Jun 2021 11:08:20 -0400 Subject: [PATCH 036/125] MAINT: Bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 5288ce72..586d7571 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 5, 0 +VERSION_INFO = 0, 6, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 459af35db5d7a9fa04eb8fdb5d1beebb8827f4fb Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 1 Jul 2021 14:09:34 +0200 Subject: [PATCH 037/125] Update (#120) --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3d9de54c..9ef8078d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ on: jobs: pip-pre: - name: ubuntu-latest / Python3.9 / PySide2 / pyvista-master / qtpy-master + name: ubuntu-latest / Python3.9 / PySide2 / pyvista-main / qtpy-master runs-on: ubuntu-latest strategy: fail-fast: false @@ -34,7 +34,7 @@ jobs: python -m pip install --upgrade pip wheel wget -q https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install --progress-bar off vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl - pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master + pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/main pip install --progress-bar off https://github.com/spyder-ide/qtpy/zipball/master pip install --upgrade -r requirements_test.txt name: 'Install dependencies with pip' From 3990aa215b42a642f36ea38ee4e012961de55bda Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 11 Sep 2021 20:50:40 -0600 Subject: [PATCH 038/125] improve import speed by using vtkmodules --- pyvistaqt/editor.py | 4 ++-- pyvistaqt/plotting.py | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index 1b467ea5..e18b5fc0 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -2,8 +2,8 @@ from typing import List -import vtk from pyvista import Renderer +from pyvista._vtk import vtkActor from qtpy.QtCore import Qt from qtpy.QtWidgets import ( QCheckBox, @@ -98,7 +98,7 @@ def _axes_callback(state: bool) -> None: return widget -def _get_actor_widget(actor: vtk.vtkActor) -> QWidget: +def _get_actor_widget(actor: vtkActor) -> QWidget: widget = QWidget() layout = QVBoxLayout() diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 5f95089d..9c48023d 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -50,7 +50,7 @@ import numpy as np # type: ignore import pyvista import scooby # type: ignore -import vtk +from pyvista._vtk import vtkGenericRenderWindowInteractor from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore @@ -66,7 +66,10 @@ QVBoxLayout, QWidget, ) -from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor +try: + from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor +except ImportError: + from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog @@ -194,7 +197,7 @@ class QtInteractor(QVTKRenderWindowInteractor, BasePlotter): # Signals must be class attributes render_signal = Signal() - key_press_event_signal = Signal(vtk.vtkGenericRenderWindowInteractor, str) + key_press_event_signal = Signal(vtkGenericRenderWindowInteractor, str) # pylint: disable=too-many-arguments def __init__( From dd54a27cdb4ab5be8193218c544427aaa149f69c Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 11 Sep 2021 20:53:46 -0600 Subject: [PATCH 039/125] allow backwards compatibility --- pyvistaqt/editor.py | 5 ++++- pyvistaqt/plotting.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index e18b5fc0..11ecebb0 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -3,7 +3,6 @@ from typing import List from pyvista import Renderer -from pyvista._vtk import vtkActor from qtpy.QtCore import Qt from qtpy.QtWidgets import ( QCheckBox, @@ -17,6 +16,10 @@ QVBoxLayout, QWidget, ) +try: # backwards compatibility with pyvista<=0.30.0 + from pyvista._vtk import vtkActor +except ImportError: + from vtk import vtkActor from .window import MainWindow diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 9c48023d..ba647cf5 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -50,7 +50,6 @@ import numpy as np # type: ignore import pyvista import scooby # type: ignore -from pyvista._vtk import vtkGenericRenderWindowInteractor from pyvista.plotting.plotting import BasePlotter from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore @@ -70,6 +69,10 @@ from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor except ImportError: from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor +try: # backwards compatibility with pyvista<=0.30.0 + from pyvista._vtk import vtkGenericRenderWindowInteractor +except ImportError: + from vtk import vtkGenericRenderWindowInteractor from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog From 2b5121c7c06511d05498c4513f4ab06cfc116ee0 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 11 Sep 2021 20:59:39 -0600 Subject: [PATCH 040/125] fix pyvista version note --- pyvistaqt/editor.py | 2 +- pyvistaqt/plotting.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index 11ecebb0..eebf99e9 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -16,7 +16,7 @@ QVBoxLayout, QWidget, ) -try: # backwards compatibility with pyvista<=0.30.0 +try: # backwards compatibility with pyvista<=0.29.0 from pyvista._vtk import vtkActor except ImportError: from vtk import vtkActor diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index ba647cf5..0d5e5b25 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -69,7 +69,7 @@ from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor except ImportError: from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor -try: # backwards compatibility with pyvista<=0.30.0 +try: # backwards compatibility with pyvista<=0.29.0 from pyvista._vtk import vtkGenericRenderWindowInteractor except ImportError: from vtk import vtkGenericRenderWindowInteractor From b447d978587fbb1dcd8d06dd7f72631fe013da06 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 11 Sep 2021 21:01:52 -0600 Subject: [PATCH 041/125] add no cover for import errors --- pyvistaqt/editor.py | 2 +- pyvistaqt/plotting.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index eebf99e9..a496dce6 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -18,7 +18,7 @@ ) try: # backwards compatibility with pyvista<=0.29.0 from pyvista._vtk import vtkActor -except ImportError: +except ImportError: # pragma: no cover from vtk import vtkActor from .window import MainWindow diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 0d5e5b25..9b0e6d5f 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -67,11 +67,11 @@ ) try: from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor -except ImportError: +except ImportError: # pragma: no cover from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor try: # backwards compatibility with pyvista<=0.29.0 from pyvista._vtk import vtkGenericRenderWindowInteractor -except ImportError: +except ImportError: # pragma: no cover from vtk import vtkGenericRenderWindowInteractor from .counter import Counter From 4727e0d76b60e2f99078b5d5843a24e5311b3d57 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Fri, 17 Sep 2021 12:41:46 -0600 Subject: [PATCH 042/125] Apply suggestions from code review Co-authored-by: Eric Larson --- pyvistaqt/editor.py | 2 +- pyvistaqt/plotting.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index a496dce6..86b5d878 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -16,7 +16,7 @@ QVBoxLayout, QWidget, ) -try: # backwards compatibility with pyvista<=0.29.0 +try: # backwards compatibility with pyvista<0.29.0 from pyvista._vtk import vtkActor except ImportError: # pragma: no cover from vtk import vtkActor diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 9b0e6d5f..724d4096 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -69,7 +69,7 @@ from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor except ImportError: # pragma: no cover from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor -try: # backwards compatibility with pyvista<=0.29.0 +try: # backwards compatibility with pyvista<0.32.0 from pyvista._vtk import vtkGenericRenderWindowInteractor except ImportError: # pragma: no cover from vtk import vtkGenericRenderWindowInteractor From 3ab85370a67d0613b9488272f935442b6e29ef61 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 5 Oct 2021 11:57:43 -0400 Subject: [PATCH 043/125] FIX: Safer close (#127) --- pyvistaqt/plotting.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 724d4096..5db9a2dd 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -599,7 +599,16 @@ def close(self) -> None: """ if not self._closed: - self.app_window.close() + # Can get: + # + # RuntimeError: wrapped C/C++ object of type MainWindow has + # been deleted + # + # So let's be safe and try/except this in case of a problem. + try: + self.app_window.close() + except Exception: + pass def _close(self) -> None: super().close() From d81885c862db8d892433f47c2f6bc7a4e8cb09b3 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Tue, 14 Dec 2021 13:21:42 +0000 Subject: [PATCH 044/125] Enable linking views across two Plotters (#133) * Enable linking views across two Plotters * Remove blank line after docstring * Add test for link_views_across_plotters * Update error message for wrong type passed to other_views argument * Increase test coverage for link_views_across_plotters * Remove unused import --- pyvistaqt/plotting.py | 35 +++++++++++++++++++++++++++++++++++ tests/test_plotting.py | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 5db9a2dd..3a06429b 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -356,6 +356,41 @@ def disable(self) -> None: self.setDisabled(True) return BasePlotter.disable(self) + def link_views_across_plotters(self, other_plotter, view=0, other_views=None): + """Link the views' cameras across two plotters. + + Parameters + ---------- + other_plotter: Plotter + The plotter whose views will be linked. + view: int + Link the views in `other_plotter` to the this view index. + other_views: int | list of ints + Link these views from `other_plotter` to the reference view. The default + is None, in which case all views from `other_plotter` will be linked to + the reference view. + + Note + ---- + For linking views belonging to a single plotter, please use + pyvista's `Plotter.link_views` method. + + """ + if other_views is None: + other_views = np.arange(len(other_plotter.renderers)) + elif isinstance(other_views, int): + other_views = np.asarray([other_views]) + else: + other_views = np.asarray(other_views) + + if not np.issubdtype(other_views.dtype, int): + raise TypeError('Expected `other_views` type is int, or list or tuple of ints, ' + f'but {other_views.dtype} is given') + + renderer = self.renderers[view] + for view_index in other_views: + other_plotter.renderers[view_index].camera = renderer.camera + # pylint: disable=invalid-name,no-self-use def dragEnterEvent(self, event: QtGui.QDragEnterEvent) -> None: """Event is called when something is dropped onto the vtk window. diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 8e52d6bc..a80a09dd 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -333,6 +333,45 @@ def test_background_plotting_camera(qtbot, plotting): plotter.close() +@pytest.mark.parametrize('other_views', [None, 0, [0]]) +def test_link_views_across_plotters(other_views): + + def _to_array(camera_position): + return np.asarray([list(row) for row in camera_position]) + + plotter_one = BackgroundPlotter(off_screen=True, title='Testing Window') + plotter_one.add_mesh(pyvista.Sphere()) + + plotter_two = BackgroundPlotter(off_screen=True, title='Testing Window') + plotter_two.add_mesh(pyvista.Sphere()) + + plotter_one.link_views_across_plotters(plotter_two, other_views=other_views) + + plotter_one.camera_position = [(0.0, 0.0, 1.0), (0.0, 0.0, 0.0), (0.0, 1.0, 0.0)] + np.testing.assert_allclose( + _to_array(plotter_one.camera_position), + _to_array(plotter_two.camera_position), + ) + + plotter_two.camera_position = [(0.0, 0.0, 3.0), (0.0, 0.0, 0.0), (0.0, 1.0, 0.0)] + np.testing.assert_allclose( + _to_array(plotter_one.camera_position), + _to_array(plotter_two.camera_position), + ) + + plotter_one.unlink_views() + plotter_one.camera_position = [(0.0, 0.0, 1.0), (0.0, 0.0, 0.0), (0.0, 1.0, 0.0)] + + with pytest.raises(AssertionError): + np.testing.assert_allclose( + _to_array(plotter_one.camera_position), + _to_array(plotter_two.camera_position), + ) + + match = 'Expected `other_views` type is int, or list or tuple of ints, but float64 is given' + with pytest.raises(TypeError, match=match): + plotter_one.link_views_across_plotters(plotter_two, other_views=[0.0]) + @pytest.mark.parametrize('show_plotter', [ True, False, From 4794185e7966247c48a30bb6cf48dd3fa3b28c9c Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 15 Dec 2021 16:34:26 +0100 Subject: [PATCH 045/125] MNT: check CIs (#136) * check cis * adjust timeout * refresh versions * again * adjust timeouts * again * add stages * reorder * test one timer at a time * skip test_background_plotting_add_callback for now [skip azp] * add stage dependency * use show=False, off_screen=False * TST: remove empty_scene * use auto_update=False * again * again * do not force rendering * reset * reset * change qt * reset * again [skip azp] * switch to pyqt * again * reset * clean --- .ci/azure-pipelines.yml | 543 ++++++++++++++++++++------------------- .github/workflows/ci.yml | 13 +- tests/test_plotting.py | 37 +-- 3 files changed, 314 insertions(+), 279 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index bb919b46..5fa9b5f1 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -19,287 +19,314 @@ pr: exclude: - '*no-ci*' -jobs: +stages: + +- stage: Check + jobs: + - job: Skip + pool: + vmImage: 'ubuntu-latest' + variables: + DECODE_PERCENTS: 'false' + RET: 'true' + BUILD_REASON: $(Build.Reason) + steps: + - bash: | + git_log=`git log --format=oneline -n 1 --skip=1` + echo "##vso[task.setvariable variable=log]$git_log" + - bash: echo "##vso[task.setvariable variable=RET]false" + condition: and(eq(variables.BUILD_REASON, 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) + - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" + name: result # DESCRIPTION: Quickly check the spelling and documentation style -- job: CodeSpellStyle - pool: - vmImage: 'ubuntu-latest' - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: '3.7' - - script: | - pip install codespell pydocstyle - make doctest - displayName: 'Run doctest' - - -# DESCRIPTION: Core API and doc string testing for Linux -- job: Linux - pool: - vmImage: 'ubuntu-latest' +- stage: Style variables: - DISPLAY: ':99.0' - PYVISTA_OFF_SCREEN: 'True' - - strategy: - matrix: - Python36: - python.version: '3.6' - Python37: - python.version: '3.7' - Python38: - python.version: '3.8' - - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python.version)' - displayName: 'Use Python $(python.version)' - - - script: | - pip install wheel --upgrade - python setup.py bdist_wheel - pip install dist/pyvistaqt*.whl - displayName: Build wheel and install pyvistaqt - - - script: | - .ci/setup_headless_display.sh - displayName: Install headless display - - - script: | - sudo apt-get install python3-tk - pip install -r requirements_test.txt - pip install PyQt5==5.11.3 - python -c "import pyvista; print(pyvista.Report())" - which python - pip list - displayName: 'Install dependencies' - - - script: | - pip install pytest-azurepipelines - pytest -v --cov pyvistaqt --cov-report xml - displayName: 'Test Core API' - - - script: | # this must be right after the core API - bash <(curl -s https://codecov.io/bash) - displayName: 'Upload coverage to codecov.io' - condition: eq(variables['python.version'], '3.7') - - - script: | - pytest -v --doctest-modules pyvistaqt - displayName: 'Test Package Docstrings' - - - script: | - pip install twine - python setup.py sdist - twine upload --skip-existing dist/pyvistaqt* - displayName: 'Upload to PyPi' - condition: and(eq(variables['python.version'], '3.7'), contains(variables['Build.SourceBranch'], 'refs/tags/')) - env: - TWINE_USERNAME: $(twine.username) - TWINE_PASSWORD: $(twine.password) - TWINE_REPOSITORY_URL: "https://upload.pypi.org/legacy/" - - # don't run job on no-ci builds - condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) - - -# DESCRIPTION: Core API and doc string testing across VTK versions using conda -- job: LinuxConda - pool: - vmImage: 'ubuntu-latest' - variables: - DISPLAY: ':99.0' - PYVISTA_OFF_SCREEN: 'True' - steps: + AZURE_CI: 'true' + jobs: + - job: CodeSpellStyle + pool: + vmImage: 'ubuntu-latest' + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.7' + - script: | + pip install codespell pydocstyle + make doctest + displayName: 'Run doctest' + + +- stage: Test + condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) + dependsOn: Check + jobs: + + # DESCRIPTION: Core API and doc string testing for Linux + - job: Linux + pool: + vmImage: 'ubuntu-latest' + variables: + DISPLAY: ':99.0' + PYVISTA_OFF_SCREEN: 'True' + + strategy: + matrix: + Python36: + python.version: '3.6' + Python37: + python.version: '3.7' + Python38: + python.version: '3.8' + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + displayName: 'Use Python $(python.version)' + + - script: | + pip install wheel --upgrade + python setup.py bdist_wheel + pip install dist/pyvistaqt*.whl + displayName: Build wheel and install pyvistaqt + - script: | .ci/setup_headless_display.sh displayName: Install headless display - script: | - export CONDA_ALWAYS_YES=1 - source /usr/share/miniconda/etc/profile.d/conda.sh - conda config --add channels conda-forge - conda env create --quiet -n pyvistaqt-env --file environment.yml - conda activate pyvistaqt-env + sudo apt-get install python3-tk + pip install -r requirements_test.txt pip install PyQt5==5.11.3 - pip install -e . - conda list - which python python -c "import pyvista; print(pyvista.Report())" - displayName: Create Anaconda environment + which python + pip list + displayName: 'Install dependencies' - script: | - source /usr/share/miniconda/etc/profile.d/conda.sh - conda activate pyvistaqt-env - pytest -v --cov pyvistaqt --cov-report html - displayName: 'Test Core API against VTK' + pip install pytest-azurepipelines + pytest -v --cov pyvistaqt --cov-report xml + displayName: 'Test Core API' + + - script: | # this must be right after the core API + bash <(curl -s https://codecov.io/bash) + displayName: 'Upload coverage to codecov.io' + condition: eq(variables['python.version'], '3.7') - script: | - source /usr/share/miniconda/etc/profile.d/conda.sh - conda activate pyvistaqt-env pytest -v --doctest-modules pyvistaqt - displayName: 'Test Package Docstrings against VTK' - condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) - + displayName: 'Test Package Docstrings' -# DESCRIPTION: Core API testing for Windows -- job: Windows - pool: - vmIMage: 'VS2017-Win2016' - variables: - AZURE_CI_WINDOWS: 'true' - strategy: - maxParallel: 4 - matrix: - Python36-64bit: - PYTHON_VERSION: '3.6' - Python37-64bit: - PYTHON_VERSION: '3.7' - Python38-64bit: - PYTHON_VERSION: '3.8' - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: $(PYTHON_VERSION) - addToPath: true - - powershell: | - Set-StrictMode -Version Latest - $ErrorActionPreference = "Stop" - $PSDefaultParameterValues['*:ErrorAction']='Stop' - git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git - powershell gl-ci-helpers/appveyor/install_opengl.ps1 - displayName: 'Install OpenGL' - - script: | - python -m pip install -r requirements_test.txt - displayName: 'Install test dependencies' - - script: | - pip install PyQt5>=5.11 - python -m pip install -e . - python -c "import pyvista; print(pyvista.Report())" - displayName: 'Install PyVista' - - script: | - pytest -v --cov pyvistaqt --cov-report html - displayName: 'Run Tests' - - # don't run job on no-ci builds - condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) - - -# DESCRIPTION: Core API testing for MacOS -- job: macOS - variables: - python.architecture: 'x64' - strategy: - matrix: - Python36: - python.version: '3.6' - Python37: - python.version: '3.7' - Python38: - python.version: '3.8' - pool: - vmImage: 'macOS-10.15' - steps: - script: | - .ci/macos-install-python.sh '$(python.version)' - python -c "import sys; print(sys.version)" - displayName: Install Python - + pip install twine + python setup.py sdist + twine upload --skip-existing dist/pyvistaqt* + displayName: 'Upload to PyPi' + condition: and(eq(variables['python.version'], '3.7'), contains(variables['Build.SourceBranch'], 'refs/tags/')) + env: + TWINE_USERNAME: $(twine.username) + TWINE_PASSWORD: $(twine.password) + TWINE_REPOSITORY_URL: "https://upload.pypi.org/legacy/" + + # don't run job on no-ci builds + condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + + + # DESCRIPTION: Core API and doc string testing across VTK versions using conda + - job: LinuxConda + pool: + vmImage: 'ubuntu-latest' + variables: + DISPLAY: ':99.0' + PYVISTA_OFF_SCREEN: 'True' + steps: + - script: | + .ci/setup_headless_display.sh + displayName: Install headless display + + - script: | + export CONDA_ALWAYS_YES=1 + source /usr/share/miniconda/etc/profile.d/conda.sh + conda config --add channels conda-forge + conda env create --quiet -n pyvistaqt-env --file environment.yml + conda activate pyvistaqt-env + pip install PyQt5==5.11.3 + pip install -e . + conda list + which python + python -c "import pyvista; print(pyvista.Report())" + displayName: Create Anaconda environment + + - script: | + source /usr/share/miniconda/etc/profile.d/conda.sh + conda activate pyvistaqt-env + pytest -v --cov pyvistaqt --cov-report html + displayName: 'Test Core API against VTK' + + - script: | + source /usr/share/miniconda/etc/profile.d/conda.sh + conda activate pyvistaqt-env + pytest -v --doctest-modules pyvistaqt + displayName: 'Test Package Docstrings against VTK' + condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + + + # DESCRIPTION: Core API testing for Windows + - job: Windows + pool: + vmIMage: 'VS2017-Win2016' + variables: + AZURE_CI_WINDOWS: 'true' + strategy: + maxParallel: 4 + matrix: + Python36-64bit: + PYTHON_VERSION: '3.6' + Python37-64bit: + PYTHON_VERSION: '3.7' + Python38-64bit: + PYTHON_VERSION: '3.8' + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: $(PYTHON_VERSION) + addToPath: true + - powershell: | + Set-StrictMode -Version Latest + $ErrorActionPreference = "Stop" + $PSDefaultParameterValues['*:ErrorAction']='Stop' + git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + powershell gl-ci-helpers/appveyor/install_opengl.ps1 + displayName: 'Install OpenGL' - script: | - python -m pip install PyQt5>=5.11 + python -m pip install -r requirements_test.txt + displayName: 'Install test dependencies' + - script: | + pip install PyQt5>=5.11 python -m pip install -e . python -c "import pyvista; print(pyvista.Report())" - displayName: 'Install pyvistaqt' - + displayName: 'Install PyVista' - script: | - python -m pip install -r requirements_test.txt - python -m pip install pytest-azurepipelines - python -m pytest -v --cov pyvistaqt --cov-report html --durations=0 + pytest -v --cov pyvistaqt --cov-report html displayName: 'Run Tests' - # don't run job on no-ci builds - condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + # don't run job on no-ci builds + condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + + + # DESCRIPTION: Core API testing for MacOS + - job: MacOS + variables: + python.architecture: 'x64' + strategy: + matrix: + Python36: + python.version: '3.6' + Python37: + python.version: '3.7' + Python38: + python.version: '3.8' + pool: + vmImage: 'macOS-10.15' + steps: + - script: | + .ci/macos-install-python.sh '$(python.version)' + python -c "import sys; print(sys.version)" + displayName: Install Python + + - script: | + python -m pip install PyQt5>=5.11 + python -m pip install -e . + python -c "import pyvista; print(pyvista.Report())" + displayName: 'Install pyvistaqt' + + - script: | + python -m pip install -r requirements_test.txt + python -m pip install pytest-azurepipelines + python -m pytest -v --cov pyvistaqt --cov-report html --durations=0 + displayName: 'Run Tests' + + # don't run job on no-ci builds + condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + + + # Builds the documentation + - job: BuildDocumentation + pool: + vmImage: 'ubuntu-latest' + + variables: + DISPLAY: ':99.0' + PYVISTA_OFF_SCREEN: 'True' + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: 3.7 + displayName: 'Use Python 3.7' + - script: | + git config --global user.name ${GH_NAME} + git config --global user.email ${GH_EMAIL} + git config --list | grep user. + displayName: 'Configure git' + env: + GH_NAME: $(gh.name) + GH_EMAIL: $(gh.email) -# Builds the documentation -- job: BuildDocumentation - pool: - vmImage: 'ubuntu-latest' + - script: | + sudo apt-get install python3-tk + # The following linux deps are necessary to use the builtin xcb: + # https://github.com/pyvista/pyvistaqt/pull/61#issuecomment-709320826 + sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 \ + libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ + libxcb-xinerama0 libxcb-xfixes0 + pip install -r requirements_docs.txt + displayName: 'Install dependencies' - variables: - DISPLAY: ':99.0' - PYVISTA_OFF_SCREEN: 'True' - - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.7 - displayName: 'Use Python 3.7' - - - script: | - git config --global user.name ${GH_NAME} - git config --global user.email ${GH_EMAIL} - git config --list | grep user. - displayName: 'Configure git' - env: - GH_NAME: $(gh.name) - GH_EMAIL: $(gh.email) - - - script: | - sudo apt-get install python3-tk - # The following linux deps are necessary to use the builtin xcb: - # https://github.com/pyvista/pyvistaqt/pull/61#issuecomment-709320826 - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 \ - libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ - libxcb-xinerama0 libxcb-xfixes0 - pip install -r requirements_docs.txt - displayName: 'Install dependencies' - - - script: | - pip install PyQt5>=5.11 - pip install -e . - displayName: Install pyvistaqt - - - script: | - .ci/setup_headless_display.sh - # python .ci/pyvista_test.py # for debug - displayName: Install headless display - - - script: | - make -C docs html -b coverage - cat docs/_build/coverage/python.txt - displayName: 'Build documentation' - - - script: | - make -C docs doctest - displayName: 'Test documentation code snippets' - - - script: | - make -C docs html - displayName: 'Update figures from doctest' - - # upload documentation to pyvistaqt-docs - - script: | - git clone --depth 1 https://${GH_TOKEN}@github.com/pyvista/pyvistaqt-docs.git - cd pyvistaqt-docs - git gc --prune=now - git remote prune origin - rm -rf * - cp -r $BUILD_SOURCESDIRECTORY/docs/_build/html/* . - cp $BUILD_SOURCESDIRECTORY/docs/README.md . - touch .nojekyll - echo "qtdocs.pyvista.org" >> CNAME - echo $(date) > BUILD_DATETIME - git add . - git commit -am "Azure CI commit ref $(Build.SourceVersion)" - git push - displayName: Upload Documentation to pyvistaqt-docs - env: - GH_TOKEN: $(gh.token) - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - - # don't run job on no-ci builds - condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) + - script: | + pip install PyQt5>=5.11 + pip install -e . + displayName: Install pyvistaqt + + - script: | + .ci/setup_headless_display.sh + # python .ci/pyvista_test.py # for debug + displayName: Install headless display + + - script: | + make -C docs html -b coverage + cat docs/_build/coverage/python.txt + displayName: 'Build documentation' + + - script: | + make -C docs doctest + displayName: 'Test documentation code snippets' + + - script: | + make -C docs html + displayName: 'Update figures from doctest' + + # upload documentation to pyvistaqt-docs + - script: | + git clone --depth 1 https://${GH_TOKEN}@github.com/pyvista/pyvistaqt-docs.git + cd pyvistaqt-docs + git gc --prune=now + git remote prune origin + rm -rf * + cp -r $BUILD_SOURCESDIRECTORY/docs/_build/html/* . + cp $BUILD_SOURCESDIRECTORY/docs/README.md . + touch .nojekyll + echo "qtdocs.pyvista.org" >> CNAME + echo $(date) > BUILD_DATETIME + git add . + git commit -am "Azure CI commit ref $(Build.SourceVersion)" + git push + displayName: Upload Documentation to pyvistaqt-docs + env: + GH_TOKEN: $(gh.token) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + + # don't run job on no-ci builds + condition: not(contains(variables['System.PullRequest.SourceBranch'], 'no-ci')) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ef8078d..43b99953 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,14 +51,13 @@ jobs: name: 'Upload coverage to CodeCov' pip: - name: ${{ matrix.os }} / pip / ${{ matrix.qt }} / pyvista-${{ matrix.pyvista }} + name: ${{ matrix.os }} / pip / pyvista-${{ matrix.pyvista }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.29', '0.30', '0.31'] - qt: ['PySide2'] + pyvista: ['0.30', '0.31', '0.32'] defaults: run: shell: bash @@ -85,8 +84,12 @@ jobs: python -m pip install --upgrade pip wheel pip install -r requirements_test.txt name: 'Install dependencies with pip' - - run: pip install ${{ matrix.qt }} + - run: pip install PyQt5 name: 'Install Qt binding' + if: matrix.os == 'macos-latest' + - run: pip install PySide2 + name: 'Install Qt binding' + if: matrix.os != 'macos-latest' - run: pip install pyvista==${{ matrix.pyvista }} name: 'Install PyVista' - run: | @@ -106,7 +109,7 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - qt: ['PySide2'] + qt: ['PyQt5'] defaults: run: shell: bash diff --git a/tests/test_plotting.py b/tests/test_plotting.py index a80a09dd..132ec270 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -129,7 +129,7 @@ def test_counter(qtbot): counter = Counter(count=1) assert counter.count == 1 - with qtbot.wait_signals([counter.signal_finished], timeout=300): + with qtbot.wait_signals([counter.signal_finished], timeout=1000): counter.decrease() assert counter.count == 0 @@ -172,7 +172,7 @@ def test_editor(qtbot, plotting): assert top_item is not None # simulate selection - with qtbot.wait_signals([tree_widget.itemSelectionChanged], timeout=1000): + with qtbot.wait_signals([tree_widget.itemSelectionChanged], timeout=2000): top_item.setSelected(True) # toggle all the renderer-associated checkboxes twice @@ -187,9 +187,9 @@ def test_editor(qtbot, plotting): widget_item = page_layout.itemAt(widget_idx) widget = widget_item.widget() if isinstance(widget, QCheckBox): - with qtbot.wait_signals([widget.toggled], timeout=1000): + with qtbot.wait_signals([widget.toggled], timeout=2000): widget.toggle() - with qtbot.wait_signals([widget.toggled], timeout=1000): + with qtbot.wait_signals([widget.toggled], timeout=2000): widget.toggle() # hide the editor for coverage @@ -587,20 +587,17 @@ def update_app_icon(slf): title='Testing Window', update_app_icon=True, # also does add_callback ) - assert plotter._last_update_time == -np.inf - sphere = pyvista.Sphere() - mycallback = CallBack(sphere) - plotter.add_mesh(sphere) - plotter.add_callback(mycallback, interval=200, count=3) - - # check that timers are set properly in add_callback() assert_hasattr(plotter, "app_window", MainWindow) assert_hasattr(plotter, "_callback_timer", QTimer) assert_hasattr(plotter, "counters", list) + assert plotter._last_update_time == -np.inf + sphere = pyvista.Sphere() + plotter.add_mesh(sphere) + mycallback = CallBack(sphere) window = plotter.app_window # MainWindow callback_timer = plotter._callback_timer # QTimer - counter = plotter.counters[-1] # Counter + assert callback_timer.isActive() # ensure that the window is showed assert not window.isVisible() @@ -620,23 +617,31 @@ def update_app_icon(slf): plotter.set_icon(os.path.join( os.path.dirname(pyvistaqt.__file__), "data", "pyvista_logo_square.png")) + callback_timer.stop() + assert not callback_timer.isActive() + + # check that timers are set properly in add_callback() + plotter.add_callback(mycallback, interval=200, count=3) + callback_timer = plotter._callback_timer # QTimer + assert callback_timer.isActive() + counter = plotter.counters[-1] # Counter # ensure that self.callback_timer send a signal - callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=300) + callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=2000) callback_blocker.wait() # ensure that self.counters send a signal - counter_blocker = qtbot.wait_signals([counter.signal_finished], timeout=700) + counter_blocker = qtbot.wait_signals([counter.signal_finished], timeout=2000) counter_blocker.wait() assert not callback_timer.isActive() # counter stops the callback plotter.add_callback(mycallback, interval=200) callback_timer = plotter._callback_timer # QTimer + assert callback_timer.isActive() # ensure that self.callback_timer send a signal - callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=300) + callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=2000) callback_blocker.wait() - assert callback_timer.isActive() plotter.close() assert not callback_timer.isActive() # window stops the callback From 8d2f1f27466337d8c11ee3997cb26870e59043d4 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 15 Dec 2021 16:53:51 +0100 Subject: [PATCH 046/125] prepare release 0.6.0 --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 586d7571..070c3c26 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 6, "dev0" +VERSION_INFO = 0, 6, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 78cb352fc8a0b14802dc740f0cfb95f2b1e4ab89 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 15 Dec 2021 17:01:19 +0100 Subject: [PATCH 047/125] vs2017-win2016 brownout --- .ci/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 5fa9b5f1..18b94edd 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -175,7 +175,7 @@ stages: # DESCRIPTION: Core API testing for Windows - job: Windows pool: - vmIMage: 'VS2017-Win2016' + vmIMage: 'windows-2019' variables: AZURE_CI_WINDOWS: 'true' strategy: From 87bcce9d00b295134f43b5bf01b23ac37219672e Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 15 Dec 2021 17:16:25 +0100 Subject: [PATCH 048/125] bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 070c3c26..8f623e31 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 6, 0 +VERSION_INFO = 0, 7, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 95f2a5677c462ae2c91af10a5b77c3924959f97f Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 1 Jan 2022 11:27:53 -0700 Subject: [PATCH 049/125] upgrade codecov action; use dependabot --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43b99953..fc7cf0db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: name: 'Install pyvistaqt' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v2 if: success() name: 'Upload coverage to CodeCov' @@ -98,7 +98,7 @@ jobs: name: 'Install pyvistaqt' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v2 if: success() name: 'Upload coverage to CodeCov' @@ -146,6 +146,6 @@ jobs: - shell: bash -el {0} run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v2 if: success() name: 'Upload coverage to CodeCov' From 4d0b80a2f5aeb50ef356bdab6ca8ed4f03784961 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 1 Jan 2022 11:28:12 -0700 Subject: [PATCH 050/125] add dependabot yml --- .github/dependabot.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..6b2b6295 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/.github/workflows" + schedule: + interval: "daily" From 4d5541bc52ffd0d2bbac5e6300fe49b85287d449 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 1 Jan 2022 11:39:27 -0700 Subject: [PATCH 051/125] fix distutils deprication --- tests/test_plotting.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 132ec270..d6c83439 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -1,6 +1,6 @@ import os +from packaging.version import Version import platform -from distutils.version import LooseVersion import numpy as np import pytest @@ -253,7 +253,7 @@ def test_qt_interactor(qtbot, plotting): assert not render_timer.isActive() # check that BasePlotter.close() is called - if LooseVersion(pyvista.__version__) < '0.27.0': + if Version(pyvista.__version__) < Version('0.27.0'): assert not hasattr(vtk_widget, "iren") assert vtk_widget._closed @@ -719,8 +719,8 @@ def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): assert not render_timer.isActive() # check that BasePlotter.close() is called - if LooseVersion(pyvista.__version__) < '0.27.0': - assert not hasattr(vtk_widget, "iren") + if Version(pyvista.__version__) < Version('0.27.0'): + assert not hasattr(window.vtk_widget, "iren") assert plotter._closed # check that BasePlotter.__init__() is called only once From 99510fac7432d94cfd8894df3b3a5c7140bb81f3 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 14 Jan 2022 14:37:06 +0100 Subject: [PATCH 052/125] bump (#142) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc7cf0db..dec36b61 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.30', '0.31', '0.32'] + pyvista: ['0.31', '0.32', '0.33'] defaults: run: shell: bash From 7d81a873cd8591c852b839fd62af0cc78f9c3a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20H=C3=B6chenberger?= Date: Tue, 18 Jan 2022 11:57:42 +0100 Subject: [PATCH 053/125] Continuously update zoom level during pinch action (#143) * Refresh more frequently during pinch action * Revert "Refresh more frequently during pinch action" This reverts commit 7925c8f2181338125aedbea0f768ae57046a05cb. * try update * update testing Co-authored-by: Guillaume Favelier --- pyvistaqt/plotting.py | 1 + tests/test_plotting.py | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 3a06429b..6d3c8af4 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -328,6 +328,7 @@ def gesture_event(self, event: QGestureEvent) -> bool: if pinch: self.camera.Zoom(pinch.scaleFactor()) event.accept() + self.update() return True def key_press_event(self, obj: Any, event: Any) -> None: diff --git a/tests/test_plotting.py b/tests/test_plotting.py index d6c83439..7dba1784 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -7,8 +7,10 @@ import pyvista import vtk from qtpy.QtWidgets import QAction, QFrame, QMenuBar, QToolBar, QVBoxLayout -from qtpy.QtCore import Qt -from qtpy.QtWidgets import QTreeWidget, QStackedWidget, QCheckBox +from qtpy.QtCore import Qt, QPoint, QMimeData, QUrl +from qtpy.QtGui import QDragEnterEvent +from qtpy.QtWidgets import (QTreeWidget, QStackedWidget, QCheckBox, + QGestureEvent, QPinchGesture) from pyvistaqt.plotting import global_theme from pyvista.plotting import Renderer @@ -565,6 +567,35 @@ def test_background_plotting_menu_bar(qtbot, plotting): assert plotter._last_update_time == -np.inf +def test_drag_event(tmpdir): + output_dir = str(tmpdir.mkdir("tmpdir")) + filename = str(os.path.join(output_dir, "tmp.vtk")) + mesh = pyvista.Cone() + mesh.save(filename) + assert os.path.isfile(filename) + plotter = BackgroundPlotter() + point = QPoint(0, 0) + data = QMimeData() + data.setUrls([QUrl(filename)]) + event = QDragEnterEvent( + point, + Qt.DropAction.IgnoreAction, + data, + Qt.MouseButton.NoButton, + Qt.KeyboardModifier.NoModifier, + ) + plotter.dragEnterEvent(event) + plotter.close() + + +def test_gesture_event(): + plotter = BackgroundPlotter() + gestures = [QPinchGesture()] + event = QGestureEvent(gestures) + plotter.gesture_event(event) + plotter.close() + + def test_background_plotting_add_callback(qtbot, monkeypatch, plotting): class CallBack(object): def __init__(self, sphere): From bbc909d3212954a32435e7119464a210a67ddfc3 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Jan 2022 14:49:19 +0100 Subject: [PATCH 054/125] prepare the release --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 8f623e31..93c0b2db 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 7, "dev0" +VERSION_INFO = 0, 7, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 1c5f0d6ce47ad9033899d4ff932a8b5344152600 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Jan 2022 15:08:12 +0100 Subject: [PATCH 055/125] bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 93c0b2db..8f623e31 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 7, 0 +VERSION_INFO = 0, 7, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 5c243487c1339931cb0c00425c3bc6a955f12423 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Jan 2022 15:08:58 +0100 Subject: [PATCH 056/125] bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 8f623e31..e949c06e 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 7, "dev0" +VERSION_INFO = 0, 8, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From c207417d25f7b4a31b2e2792081fad70086fd4d7 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Sat, 19 Feb 2022 18:36:28 +0900 Subject: [PATCH 057/125] Fix CI branch master -> '*' (#146) * Fix CI branch master -> '*' * Fix by isort * Fix by black * Add disable=too-many-lines * Fix pylint error * Fix format * Update version v1.1 -> v1.3 * Fix by black==20.8b1 * Fix mypy error * Fix mypy error * Fix mypy error * Add pragma: no cover --- .github/workflows/pythonpackage.yml | 8 +++++--- pyvistaqt/editor.py | 3 ++- pyvistaqt/plotting.py | 24 ++++++++++++++++++------ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 6e9427a2..2d659db5 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -3,16 +3,18 @@ name: Python package on: push: - branches: [ master ] + branches: + - '*' pull_request: - branches: [ master ] + branches: + - '*' jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Python Code Quality and Lint - uses: ricardochaves/python-lint@v1.1.0 + uses: ricardochaves/python-lint@v1.3.0 with: python-root-list: pyvistaqt use-pylint: true diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index 86b5d878..f8f7e876 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -16,8 +16,9 @@ QVBoxLayout, QWidget, ) + try: # backwards compatibility with pyvista<0.29.0 - from pyvista._vtk import vtkActor + from pyvista._vtk import vtkActor # pylint: disable=ungrouped-imports except ImportError: # pragma: no cover from vtk import vtkActor diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 6d3c8af4..ba5385b1 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -1,3 +1,4 @@ +# pylint: disable=too-many-lines """ This module contains the QtInteractor and BackgroundPlotter. @@ -65,13 +66,20 @@ QVBoxLayout, QWidget, ) + try: - from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor + from vtkmodules.qt.QVTKRenderWindowInteractor import ( # type: ignore + QVTKRenderWindowInteractor, + ) except ImportError: # pragma: no cover - from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor + from vtk.qt.QVTKRenderWindowInteractor import ( # type: ignore + QVTKRenderWindowInteractor, + ) try: # backwards compatibility with pyvista<0.32.0 + # pylint: disable=ungrouped-imports from pyvista._vtk import vtkGenericRenderWindowInteractor except ImportError: # pragma: no cover + # pylint: disable=ungrouped-imports from vtk import vtkGenericRenderWindowInteractor from .counter import Counter @@ -357,7 +365,9 @@ def disable(self) -> None: self.setDisabled(True) return BasePlotter.disable(self) - def link_views_across_plotters(self, other_plotter, view=0, other_views=None): + def link_views_across_plotters( + self, other_plotter: Any, view: int = 0, other_views: Any = None + ) -> None: """Link the views' cameras across two plotters. Parameters @@ -385,8 +395,10 @@ def link_views_across_plotters(self, other_plotter, view=0, other_views=None): other_views = np.asarray(other_views) if not np.issubdtype(other_views.dtype, int): - raise TypeError('Expected `other_views` type is int, or list or tuple of ints, ' - f'but {other_views.dtype} is given') + raise TypeError( + "Expected `other_views` type is int, or list or tuple of ints, " + f"but {other_views.dtype} is given" + ) renderer = self.renderers[view] for view_index in other_views: @@ -643,7 +655,7 @@ def close(self) -> None: # So let's be safe and try/except this in case of a problem. try: self.app_window.close() - except Exception: + except Exception: # pragma: no cover # pylint: disable=broad-except pass def _close(self) -> None: From 7c7ded883803d43f7bde1f8d565709b06424e7d7 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Sat, 26 Feb 2022 00:00:43 +0900 Subject: [PATCH 058/125] Fix CONTRIBUTING.md to CONTRIBUTING.rst (#145) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 20ea7f87..58a294e8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,5 +7,5 @@ volunteer basis and thus we need to foster a community that can support user questions and develop new features to make this software a useful tool for all users. -Please reference the contributing guide at [pyvista/CONTRIBUTING.md](https://github.com/pyvista/pyvista/blob/master/CONTRIBUTING.md) for contributing to this repository. +Please reference the contributing guide at [pyvista/CONTRIBUTING.rst](https://github.com/pyvista/pyvista/blob/master/CONTRIBUTING.rst) for contributing to this repository. From 698d729f6dc96e6529ac01fe0f51bf85f87785cf Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 1 Mar 2022 16:49:20 +0100 Subject: [PATCH 059/125] MNT: Add support for PySide6 (#147) * prepare * fix * revert * pyqt5 * pyside * bump python version * fix * revert * revert * try again * Update .ci/setup_headless_display.sh * Update .github/workflows/ci.yml * update * fetch highest * remove cruft * just in case * update logo * fix * py3.10 * try again * fix * revert Co-authored-by: Eric Larson --- .ci/setup_headless_display.sh | 2 +- .github/workflows/ci.yml | 18 +++++++----------- docs/_static/pyvista_logo.png | Bin 298891 -> 249558 bytes docs/_static/pyvista_logo_square.png | Bin 150516 -> 107789 bytes pyvistaqt/data/pyvista_logo_square.png | Bin 150516 -> 107789 bytes pyvistaqt/dialog.py | 2 +- pyvistaqt/utils.py | 2 +- tests/test_plotting.py | 6 ++++-- 8 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.ci/setup_headless_display.sh b/.ci/setup_headless_display.sh index 49e40dce..91dadaa2 100755 --- a/.ci/setup_headless_display.sh +++ b/.ci/setup_headless_display.sh @@ -1,5 +1,5 @@ #!/bin/bash -ef sudo apt-get update -sudo apt-get install -yqq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 +sudo apt-get install -yqq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 libegl1 /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dec36b61..0a1c089c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,10 +11,12 @@ on: jobs: pip-pre: - name: ubuntu-latest / Python3.9 / PySide2 / pyvista-main / qtpy-master + name: ubuntu-latest / Python3.9 / ${{ matrix.pyside }} / pyvista-main / qtpy-master runs-on: ubuntu-latest strategy: fail-fast: false + matrix: + pyside: ['PySide2', 'PySide6'] defaults: run: shell: bash @@ -32,13 +34,11 @@ jobs: name: 'Setup python' - run: | python -m pip install --upgrade pip wheel - wget -q https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl - pip install --progress-bar off vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/main pip install --progress-bar off https://github.com/spyder-ide/qtpy/zipball/master pip install --upgrade -r requirements_test.txt name: 'Install dependencies with pip' - - run: pip install PySide2 + - run: pip install ${{ matrix.pyside }} name: 'Install Qt binding' - run: | pip install -e . @@ -51,7 +51,7 @@ jobs: name: 'Upload coverage to CodeCov' pip: - name: ${{ matrix.os }} / pip / pyvista-${{ matrix.pyvista }} + name: ${{ matrix.os }} / pip / PyQt5 / pyvista-${{ matrix.pyvista }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -64,7 +64,7 @@ jobs: env: ALLOW_PLOTTING: 'true' DISPLAY: ':99' - PYTHON_VERSION: '3.8' + PYTHON_VERSION: '3.9' steps: - uses: actions/checkout@v2 - run: .ci/setup_headless_display.sh @@ -86,11 +86,7 @@ jobs: name: 'Install dependencies with pip' - run: pip install PyQt5 name: 'Install Qt binding' - if: matrix.os == 'macos-latest' - - run: pip install PySide2 - name: 'Install Qt binding' - if: matrix.os != 'macos-latest' - - run: pip install pyvista==${{ matrix.pyvista }} + - run: pip install --upgrade "pyvista==${{ matrix.pyvista }}.*" name: 'Install PyVista' - run: | pip install -e . diff --git a/docs/_static/pyvista_logo.png b/docs/_static/pyvista_logo.png index 9e1ed091024873cda8fe77cc17d4506570df01de..acea4b014fbcfd9f20274504b06c9c7d013d8a98 100644 GIT binary patch literal 249558 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

PE3-; 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

hTs1x{_+vi(yxOy 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 r@yrjS%$PwHHdBK#S0_-K|48DmJn;LUQsS!aHGG literal 298891 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 j-^{Q2hS7XLVMDNmzIID5d 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

3w|w?{-AmLRpl4<#BMg1ekW^VIgt07SUrP>5 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 z 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 diff --git a/docs/_static/pyvista_logo_square.png b/docs/_static/pyvista_logo_square.png index 76cc1a1c58ac514d3a41db376a95d35b6e71aad9..4978301b6276544aa2f4f2aeb28f849b3bea1e0e 100644 GIT binary patch literal 107789 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ⅇV~CG_N}NXKqL0X{S;N<(!5VYI_uE|+Qy9dWBp1G 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 FO#pgFl7IjJ literal 150516 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∨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

    qX?8)w8qhq}P{NGROSs5S=sJAx=!z))N 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ⅇV~CG_N}NXKqL0X{S;N<(!5VYI_uE|+Qy9dWBp1G zQc76H6qY#0g7O`o`1z02ahR)q$$k2`?=l?ViKXAr`&GE>yZb93ShSG;%he|T)0&|2l81G^#i&l)SB7pR z_cN3M{7QtFTyf}5X5<~kMdRac@hfnrV!6)S3R1x6Lix&tYW3P*xgSo6>CR~8MBgrN zkNDd=`A-5#F&$^#ZrOj!%l_8OV3Mo(C9mYMX+xhPF+ulB7F;BTZ}{2!TBEQWO{uw+-1s3|rL=4c=km8jE=gw&?1Wt4mEAXy zMg1-{zsVr)?cmaej_AaWhq4|%za-MO*v^hWvUAD$g^d!uNbuYd$Kkw3Q?0Yus*Sf? zZ;!-ZY8k2SCJZ`^RmkmbYGZWdc7Jo6LgCuepA=lx`GmNJa_eY5fZeiNzxB+JdF@Vq zq@-mUE;h0EaB=J4QaWAtOzL^~sk`?}^gUUbj0oO<-~Vm9K4J@nKR;e9p009JsoxkR zR9PLi`#YJ}h5Wm?fpFTIsATh9^oHi22ApoU{fjBzrHkOi4F5LjrKXvQBmYmGR^P%! zI666fou4n-`+GS~ebd>a8j>oJ-D7xsTiorA=jM8)U)#NuYKNhg-%rF86}}X<2Ki@C zWaet6_m00WIp_!R`qKr+A5RV!th}oTXMD0HcM2H`%iV1DdYzF;;YQ7m66;e=&@mNN5Zi~Rl8UxZ{u*P(qo0Wple?!n+A-J12k@-fGawyqSDz%LuZ87 z2m(ypZc-`*b7sAT15@M3f(c+(vTPQTn)S9d^;J#h#oyUI9ZyfK-}-yP5G|OgpgYVo zby4+ANff}?-nfIAS_?(DeyMnXN@={fBT0#kroRAe=8~&=zLu8fs*oC@(haD6c{gUr zduB1{NAcW-aHE?>$qe)Br1b#T#Y-^c^JlX=Ez7HPR(Zak%cquZ zGb$4>Mq>fpG?Y|ojWus&Sy=a++BwCVI~ln*Q{x+z z)cl=s?(^1Mvl4`p;Y3!L9qqgOUkwPA!sn`BBdwMER)u1JrD8Irryj(|N=OO~-5{HH z%i^?_m6hQM4$bcG{Zdz!$jz>Ht(h&jQoFTmo)pf+Juv($ELj=G3RyCLw<5u5H*P68 zTh>pJ7s}tmKCqWY+e}cU22IS>Qd#fiUW=bC`phqCSiW6becE(>b-K%4IBk z^5bsXvBOvnBV?*%r4wZ?GNb&Kc=kMeEVJI-RAUY zl`?aA{J)Wh5w20Sy=|2N5E<|A$7@LS{?h|fESoFWj+CRecm3MVG4pPOyTxR(&+@XQ zGpR^tplwoDdTT8=#{jNeLi?3NP(fjC7IZl?{D5o6VGbMSdPmO=c>5r|B=38A%3hZE zMTTYcAXC^bIuJyMad#={)yf}b=mmWP#l9fwcz6y{0BeBdo6FCwJtDGy+`GJcOk$} zcsunHnyW($XAp#BHZP>!U1GS17sHQe8xYz~B4waYX{21qoH@F;JqN`?+wNEH|6x1G z?T>?>DbU(V)MCgQ&rNsHbG-Jhi%@=eoOCL#K?bQ?gNSw(|H&TsK2q99B|=^K0%`3v zT{rsR%iK?ys$J=EruQ>nXCX{UIDMHlV;Q{U609#RfW*jmi-N!T{ACriSTBcoerAU~ zhc!t!OD{EeQE_8gD=XS8F8d&^OyUN@yp=u=cM-h_I<-0Sm{4I}>K~@l z2;qgEu;=Jxs-arA<+5JKc998fmTp$cqR0U4#pUu4FRXB0o-B%0_?KryNlinC*n>IB zOX79}5jcb>oFAH2WF!=u#1~0gEZ;E?I;5ug!lSh-b8yt4{0yN*}M+*YJ^d zBU^yC8p1iPU87%w>GuEEt1M)DJ|KSQQvOEdKJ}1t*NW`QC>q~}<6*p@K~j?n%-*=F zl>m;7(8aQ!y+$=daXJ;Xdua&^K?f?NG%X(9byw>t>;l8waY?xZBmo^9UTsEe%;R>3 z%L;lcQIwtxp_?+UTr~n27rx~*c^&S53_`wG`$+F_J)#$)STcM1&8R|pXnX2n9*&Kf zBGM1>IBmjDOpA8`JXOfH6iBTc8QHHj~=HQh)HFZ6hP1?u1sV# z2h*=!jF30fmO5a5?~FD0Y%l&{HesY|T`mBz-4sT3ahCo&s+>Go%^JNox8cpf)hu;~ zT@XRThBTLj1~SnLpWVfelf@?D7gcu^Nn5S#=Wb_Yiq_}$f!haSn8hUKM+^uSaO%M6 zl)2Vr2<$elom0{85`;hELyZ)=ZtHiTTh7R1m5x+n&X^Lew85cUcU$##^{cj)LeD%= z<>lf=6M$kSWF46?hRAIrdP?5=~1RX&%p51MG!w+}j%3UVt%MvOfw zSyjY-OT^DsgUOd6Q$ZVfbL2t*s1%nd0R9}n9>HNKs=ZI6#aupg=>1?~Q<@*sn-8p( zw5js$I0;>$Asia3xS#pF63A6W`DTJ6WwLF%FJE)xzMD5Mocz`KrQ5yU#j6#(k^X&* z=V{Zt8{Y$Y4fBf81z8A#Nliy%W;@hYJ8ztA+HZTCx^RK`+wEy46da-AWfQmK5b^kx zfK1V-qVfgTgIUyMo1Ux-c~QlraObJIm&pSwfChG><8C!=3cEF^VlvR7IN7dv+ctXe z3huC2qd=eX;x8^N6CdOTjAJgjsDd<2QTl+sCoHC1R`1#emLTAPA67$13a2$%@e7|x zE?ja4MHIjw{bVt7r&2!1fa!82?S7x?t;f*l%eF$OVOe?7#IA3pUn*2fztvSsggN}g z@zs8p7Q0)U2+4ct>{Wggt#A5jC#NC{{~avZ=IkuW7lj&F*pd z$HHMlT5Ugze$|&Mf@B(8J1gyMq9R_m=_i%h2#6qi4vF??I@T6!<1}_6YOqL4Yd@Wo zsUa$pCU4_+Q00pnwP?F}`9o6dNzv5SOQ@gn4>^SejK)W`uVbtS<_vP_%*|$6z`R;^ z(NAQd!S^mt)L3;Y^tt;gP-r!Hqn`_7B^DaI`9Cf8$HM_8F16q3eSy2gxC?x_g1oew-do%hh} zRC-RCb~bT6xNy_7=Ftgo!tDt?TJ76y@fgVX4m>61@ZD}RRp)p!1$Z;c+^0QDpE_n= z=SRmrnNWNeRS8cfY6sbs^bY>CxSIcMio-q)C4yA{b!0Z46?$vDYQ0?Y@T=cu{RoG1{j2pBKG`3VIp)LY$%f4J&OOL+_$CeA zX&=Uxm7FGH&lTXe$ZT%@t!Q01QmJ&Yr*R#eRk0*0n|iFJ*ZAXB>V=g3?;2ORWEhn- z#x$>V!-Y?cZ5X*-mS8KqUi*fg8o~5YUmlxIm5nZqXO0-|SsR?rXfNLcd5Uo2s;<{aA^$pfz66zWejZPuZJ28fVEmfU|XOvo!;|A zFie6-b80zH?|OuVn@ueLYXJ;}_3yXBVW=+(7btLGo9j%$Eh0^wW905sX}9Wp_Y*kQ zX>%Pl)}-cXT;r&g83Y54vkKdq25RO;w;ilX~NwMy3a91FW0CN3s{(UKD3X|G;8N^&oJXqp-^jh7Wv`2^L#fAoFAq`cp zO4w){Y6Op=@iq@d3!#8jJBMqoB*~e~$wCW*j?iFb|L$y5C9xlRSpF5_>_cKvDAZz9&OX-B## zK2ex!xgMoqo&PGbSX0gA$ zpi~KWu8T-sJb7+ah(2Y^V7(AW6|d7?98y_2m%Hb5$~m$!d)Jm!y>t=uu@zc+)wI#Hi}&|f+4Q_HP;+7NzQP*Ew~4^aaKMO z3(Bwv7_7-LYx??%Ue?oii2D{#E*kTRcd2FzP1o?%O?tHA?L*o4P$mQ`7>Q)?!UWt#{j+$vg5+mke^s0%JN^Jf3ful?(%h5xJf z;!mHod1xy*zw8al0N%z(dyL@lK?lt{8Wc9STSp52T1Zk9)$m{qO7Mnqd`Bo;M0djK-zWTN| zp?&d8bpF81I3PO*#gFQI6~6LeypYsLKTmAg7hR{2dRdftR5@P;IU5a~jj`-LTK95% z=rWppBD!js?>06x%|~D`F|fFQT^B1S&~Bhbj3WooS`V6v4FM44y_;b|hi26^7e3r` z^@P6=_cDv7Kv-w@!6;2bjdy=zjbO9cYNxp||Ls}_s#Kpki`RV(O2+k4)qf{$ltr0K zEGt_-TMlZzZSAy2MV-xaa5!rpobry|j>%%3H1j+}RNi4@8hK@t^$rQh9Z|EIp_h@83#DWf>&2E>85b`irA2mB-j*v|c6nQXxqQT`HqRQ1-v39-Ve|ZZj+SAw zEpP6rR8jJVc`i1rKXZ3u=`akMyOENUT5LH41sIiBtv1n!(wIi6$*&EU$VH=YKtbS) z&$u;X_4uXT3nRPNP4;V242-&K{LU&`sV9(B87)h@KCP6RS1B~9QUe2Z_JeoA286>9 zHNtjj=QGo0%C@LzjyEaN$Bd${$InxCmBTJIUlYg$b9C7Li)P(F0eHz_^7~ zEuCoreRRnK*imPN{hJ%VEaDRkRvk<15oOpZ-<&iIYV4JArVay_#I^VK0SBO;VxB1T z{$pfo-wFF8Dp_A09@zPxa_@d0G8#rM#1Fx>xxL*lyo&?rz87(wnxOZUqQ|QYWblVo zW0$qnG9^pxIo>AIRYCO6KZ$pU5 ziOaUnc5`hE{2r8GzR!WMhW&Ql)hP(RGow|T%#O(MZ7x!v>CFr)X31ZU-$IwSk{`|2 zmtW~?VXBJZ_;Bg^c>1ju$u2B?72`+!cS2#JVk;zMo5v^A+0rb@rj6#l##D*ozQV+uGPUP^v#o`ozFlz{N)+IV88eq*>gNDY>?M zc7dJaDc830^LlM6^_~Aq_kPBN)mdC;fA8R+{Z7@Z*Xc6JwwjfG*qOw-wFueDz_S8Y zQ8zcZMeyP?Ch>Gw;@?Yo%6l_O z-8&{zk^yOSoJ(bPo|4S`tsuL#m~KYgdUks6isrA6n)4zL_58(y&k|?Ww!VeP=u1A( z)+Gkh!yd7C&DVwD$R~sUGF-f=LEV2@Ch3si9AP6sX?v}Rk?7NpW;C#9ee9ZwK!sUv zsgJ+cc%u44GjLd*HrT8UCqkA+YO_T#GiirXyB$>NI~S|Onm}v<3Y`@|mNQoWJ_)EXSF(=t;r zeefWVU(HH3&*4K%w)g|~)rJmD2*)C4}L%04hcYA~iTeGJW>kTY3D5bU0#BC&^EbpMMUFXet2h)yWduG_Jf~)iX^2Ruv zs*oV8LUH6@WEPvP{_Vd>McWa7EHyu?HXgha^A#ucmqC|3fJ4)=M@eM9E#Ydlak~)5 zn-;a=C=Hq#m3Hx$9Ft54qmX^m;)KeTze|NI+4wqb`QiNU-q4mDqvp3nqmB?mi{>1o zkLIP_sN={DYyEE|~}~V<$RJ0r*kr)W!03hMq6V0i(mX zlEcVO`s{~=5wHozv!=j@&cO}j&q)VS*cIFES-#&ZYnlG^k5UA=z2e72XWum7K{XkD zJQZ13YNzR`;#GRQcBhf+@pohA@y?a0GZQq=95?;TR~nWEZ`u)jQHc`PoBy$jnKL~# zci}-d5%0pzb0j@C|0`+Od`vbucdf~C;RT6=uqN$;;Fv;IV(_#2c5N)G-eA5hFM7n( zy+e<5>e_trBJltReaOgF^t{q0?eryGeLDy?c4;=XiC3uIvqSBCG2n72zD5=?ZhL}> zLT|@5owWSQPqHU;%WrY&RqokaRu9~oi7D$jNPDftE%_f01Yeo;Wt@ts9?@NrHmJ_r zDjQ2s7THe_1sb&)Ypac)Sm*SHS!X48JxikPR)E6M^&o zc-zF*x1h9q99du7$1Ud#O&{Jldv=E_W{1|4?8i&N$(MpHS-V|>5$--6Z*WI8f}Rau zdG(&RQcc&q`}~XL<2-gHtRbQCKjC>JWL4%x-QXFj_?s14etR))gC%NH^P9=9hH+nd z+C=*BFSoVN%NS&wr+bF;82{^@h(wXjAcdF9D~|^@?$sNBjh2R=YHbI-tGKlNG3j`d zxn-yh3k5m57ex;oKEChS6u6&_I+X>T&EqH8Ctj$W1$|R=2sL`AADJU9VbRm;8A8v= zw0J2i$y3p9Ozy@O0aj=Inv&6XAVL@DdoVj#V&>T3+NylAKNT@QwPf4(<7(3}HsW>q zq)edyK+?C6LkJqvwTpgib@GP)_0S#biyl_zsggxinO$RHp?QOsvF1uixNOxa@3kM> zq1OFCivC%Dpz&Gb_G70jd}@3Q+{)2FygYXLOMR2ukPZ<-NjvQ%@Ha)-ljhP7bM^D* z&$m-0K6^uCM{_TqDigL?L@$Q8lmiY6S-YppgJ=y|U*$(W;1{?9G7hf8M9ZK&gz3oL zUYb4EoN{9QU-Zad6u7=Cj@kV=ll)Y;stog;snzXb9=zrExaf`6vbFBRfAP}rNoG%} z#OP;X@H^=2_EH0x;nfQUYWHfYzDrYTo1baR5_xZy4jw)!A;V?`my_col!*8L^Vy(- zf-awu`()=BA!iAn)ayGW5RO`vU2|?tWYo(XW#}jE?qwv0+YLw*OWUi`ARr*P?gm~; zX~CL*Sk?cq3j1O8HGQyNiB0xN(Yb3*zSy^Sf3ps@$(P@bNtsJ&t)2Vy@sJBwRqDsO z`tN!& zQi>F(WyUd!@iOv1e;9v`gl<>PbLHjb{;c~vn#XbUNLIYWOCmO4?L9s){|f!sr>JfI z8*A2eMZTgFCH#x?%d1USU$x`fjwys!idZpF+;@bOwO zuiZe}j!tm3(>7g>c53_hwr)@Vpgr+i%XGpK?mCTuBGEwupGG?HZPmWtBuEC)gIp88 z7ZSW5X?k_x-$rwSK1&zMmbvc-1o;t|b>#4j`tI%$Dz~2l-#gS9B33#K8y*fD*&KHb zzRr+IF3L9g^XJdk$DTB5YHCgkO&=HEH=pfg>EL@QL2qKf{|zhn4OnQ!@rxGdb2LJXvPuOzZL4v?wdc)V{&``Ld zNfs32d-J1^ZQ7j8gJoHL z-|u|U@B34)mS_}2L*-DJV}IozC&pa2biuoK&4?S+ftoSO=hBYh(r*${OKm+F?epqx zONZ|`ON!&K8j2sPfAQ zX<=}#adcZdZi!Ui#hR!Kg!7kBBF(dkZOLydo6*n-8x!9_WN!xO5g3>W_qxb;-t-9W z=5lI~lV}IuPj2yu?ge88jsGdK$erm--uj@r&-y<&2-zUXq%9Mw6_67rM zHe)89cTXa0?W_~-_QR;O_IT$<*S~}_+Ge+2@3Q27W&_g&p@d3v$g-iq!OsETP9dJX z9U3TvEGMrrD`2h>#8p?P7HD>LChD5g(cR-8l2v?TmZFFBWb^M>voPD|jp*cJ#2Nl+ zX0JO*VkGM{+^=1ES!?yy8O$|@1opWb0L9oG1{-@7exNr*nY8c>8RRA{5vWTKxewzW7e(;rXk zwlN!U^YYA0*UH^09m-4<5}6ltG_crUnvcp|Vj7sCx1W@LY0Ua)@LPnY_Ffp82TEJw5_)Qf?qeAH;WB7jm9bO8 z)vPYaAyR@2e!E4Ox4}KoP?)^@83=jnjnBW9aK{IcN3$sxb0B49@Pw+;dG1{vBub(j zE#1~z*>28pkFlaibGcNDYY5Z=@OmYkS**=5cJ;& zH3>P3=C4tJJ$G*itn|bC(zAEvQ*$VexU_hsR@LVnkL6aE{BNq=N!Ti5utVY`LycYE zK0$V6N5en24*p4S=(l*+vgm=eX-o2Z*at%eY})}>c*gmTc?yjXPmOQ>MR)^|iS}pu zeGTosQm>K0(9xSe2~&_o-u|yzg!1b={|dOxY4S^(W8P_US)SG|bFx@8qbO6X*3~*z z8N5gMOu|9=wy{Mru=d&qC+JTQ6WKxX>uN6d!Q@MP%l1;b@$1!_IO@)1#Zcx2LycBz}CxywwJ9(BX(~WB(EjuE%1zpSl7_y zV}SX@N|X8VZ8`{#jxw)RH`GAhl>=A;&-xz*_FU0=S~|acy31q_z9(dDyAA-pP_O&I zk(7g*QTGd%b#Jztj-L4Lx9|(KRo#J%1yU8g2cVcOv_vS8ibCJMQ5C(fS#7ssT5T?M zm}DqpaM*0mrXGlbUv$=%XA0lu(-q>Sr}LRCvT5=^6(F42ufW_V=R?L2nTeb)^V{9~ zzxnfF@}8a%i`wn5mBH7fbF+t>m#B1$FK2du`AgUj)gEqa3zO80=?bfB+Kg)sI1+|d zzdy;xAZ|1>pZO^_T!$FZFO5m}xeB1fSEyCH@@b{ogqSBQ9`iT%0mGQcleRrw&Ni#2 zAl9>9h=xK-wobO#(iZBm4(H^?rZ$5#<7J*L3C5)gw&bKohZUDg6jnF7M!N~0asf`O z1{fU%y1*SrzvbQTgofMS@=4(yXLVf}=+DCMH8kQo4lVNfa%0{RU#p4x5E9t)GZbCp z+aC;L1Dh{@Xj`(L6WByf8UoJGD)wUpdpislKu%xm%tt6{z9uBU|3HG%VN3hT_RlBD zp6|;Vb6ch^0XvRj9Kp|{s&RcWmrq>>zC%1UcuY5$=~r{!!o-@B$-bm%-=NB4>*0QX zag6JwxyhFp?PA_HZ%BU*k4+(Ef#`7mFfbfzhH4<9jU|T5d{4PkR{rj-dL5U`F5m1g zL8nF@y1DbNaoN|!oh}-dG|EhYA#jPfrzqJecZ%)_qMmnR89O;Page>{{j!?g^NdO( zgDFA}mFz{BBodpwcolr=W8vepSZRaane+(2=q$9YbbAWPGsx3^pi|c{?5Cp)8o$II zXg!=o)$Me7$2Ik9p1a`)#hlC^eUQ~-_`K4c4=^|STP3*dfnNYNH!;Q5g?(XnmL zBX;m_8Tzy+M$IZ5o^1fhdxIW|2~mSE$~5O;0}Kw?Ii_^Km|?f}x2w#S;O@N&qAb9R za-c+tMdQu#N!1`J3#p8ar4|uK{UEe86%>5>on_k^!? zLpu|x8d@OmN&8iBlv&Qsm5)Rhmd{`AI8}71%(7-KLPZ9O`XrMNur-;*9G{VWoz>nI z29rc}uSM;NLOcZylEOy?*FSRywHw6eo~Jf4x;Og8sDdh|uG?B_vgnSv5r)twrfWBt z%->Uq9&fpYE9zqoDjx(N|O)%u#M=m6qEDl3n znhFzs(MEqyXSVMrA->2t?+BXJT0Y|2r8@rd;BGA}oVyxI?!^J1wpuuQ)s{ze4Avjk z8O36Lr$Ch7GZ6*K7}&W1A`U-#z|?zSu@}??QHXfvPS6|D=JrM|6x#@Fm6=i!Qkd+- zEq9zQcNJ=`@J&%pUfFuE^5~UUg=H(yNFTDm_)`OS zHA1XqQI9ZpTK{=Jw_6E9zRh*>ut47(&)c;$q4` zuGG1+9E+BD-p7G zp6-mX$zgu5qBD_`WS+>yB<$Jes_yEv4l~Tjk#k64Ok^=soMaG-d8S@uFmPEN7_Y}@ zTEkk_h$$7YqV$k|7D`-`tg`#} zOGP!Qm^0ER7A>5Lpx(@4TL%D?nYI{c7lgdI&T(^V(Q}u&93uK7%XTpn(L|i0SN_nz zg9RV9=fh9}6$6ikHbu4|%8>fDTC|J`-1pplh!KZl^XVFwh^XM~wQTykL?e`RhO2Z9<9fIP{;=0x!nw?Zz9(Q&ldsY6 zFPs))Ko2R(t=caj?6KQMKG-|m(-G@QQpZgxI2U)(u)|>@thRIiFa2Qvr8=F-*rF4G zBG}0ljz6XfqgpDM$?Nl_=e%BeZihK%BGFu?Jvo*yHYt#G zQ_DBpP~xC(xRk#=KaIRKWxN7QJBi$u>TjY*oJLR=$ zU*{xoA=~?cw?zn>S%{}UJ>bVR>gXj|J@k$`a+SqCWKT3#_e0SVQ_-;WooBZq7=7p} z5J-|b%5$x4s6xH671}NV8VlQgT|>SmNC;c;{TF#dR$LL!UneCG(h#eO5=@q;faD#F{nplPxxC+BWVZxpq~b70-hy)XTa zN<)WnH*jGk#-9*Z(cEC6snVfxsY6ND@r(-OiX-H^Va1CR5OBiSV~Z5WFnU5?ayPsT zqNVdZ^Mkt2${N-;)i^76N-W+5i_RQ>W5e$>t|>wH@%&6x%@SJL+=QrFoaIkfpF+CkKU#$z7LLfRYgtN>TmkdhZMz+vL&z&g2$)r zz&5Xm>#n{{%;k^CXcZPfil*$!dW~~p_z+@ilUG!Syo6>}7CP8O8lEKztCG9()E1Vi z;}{iXUb=#UE{(MS2kEY9_UzUP>znAQ$$NomJc;DkBE|`!m3+Z~;h4i7yC z=!_4?NVT0lA6!?+UhJ}Yi`vsvpy z?XfV+llcj0r4=T%YMD8;dYx9wa|2?zycY}GaMq}1*8u0A%SxC*fLP7Wt+TYPQl)rk zdHX`1v|JZKoS)GftxXSo9HuS8+XuEPjMZ%5fIcBaQh8D$$4ChHbLaiB?&=B_ZHH?= z#z*GEliJ&-*%ZyEOkNd>C^CQ>!+n+*q3|%`+uD+sjpv(}XIL-13vYZ?Q%6j(QZw~; zsC#D@qxzCz@hgyu1+n`QR!8u@;SeDfIfn4P!fju_ zkN@E2g$H(P&MsWc{uxQ{yobn=(F=>eg~CB6*~Du?MUHrCkv>Z|DGB(a{C)oB`|rL+ zty9%1iB&*tbPlt7_%AqnVCpSk$h9M$6|UDvUa^5MX21Pdito6W@^bccApC&31rrhM zm9S0&zZteW%+CXWQfQzIiDXd4sw zH3fAM<+qLG984)HOSsk=oVH#DIo8P3=wE>sgD8ujcEuc zE$vSK$y+u+h?Q2T>oXQrRq*akKCf|%evmZcOMM71FM0_!jDR&oM`%o;pFXo@Ta8ut zwLmT>CD0vL>T-;trG0pRW~pCd5xg}g5sebe>JTy>-f1Cb4#McWU|<+v_n703(>qWp zKFFgb2uelht^c4G1nPD=Z)pnxz85yZRzRS|BcL!nzLkFsB%?>;@BM*|z2v!s*yNq^j5T8~GHgS>*AhPKJ z_Wt&FOy}!P^MJ)`IC!P|OzhC`WTz==PfD*jdMRPgVO2f`w3=CsgU zmoS^sHl+m2>teVUQd`v9V&0Mwrw}G56sidgX*Qd^dU+Y!EkBd2-eApA>cYSx&3;rn z7r$EMMEF|=39urrG=3L|)aXzH6CQ2ZXNW56Tu$6<~8r`>=CDdW{ zrESdk^-m^yP=r2f!&Y<}QdP?;nyPd9Fyj|yXMZKKxfkRzDL2$@|6Xpr(x>p}=Vu_O z`LfCa)4}ztLT?K_byAtxul=fk{maqYiM?!#_>|^|!rX#tragCtqRd{2#)~w*83(BJtb-^k{JE;P?-0GD4S#e zGGRp&^}6>n;kyZR2ZJD}Ict6OnpnV&zGW>4E;sPsO*mWc%BeEI(2p=p^`Q2a<1gdw zRuER(9(Bwu~K2xY4V)h4X8wa{gy3ga$uu7L^*vNj~2bpub`>184%WMSac z6FcKV+{xo$x1U8QE*{&R)`;A~5@O?r4j{T)d|dB>no;&KL;_Y5RYVYkdJG893vC=Q zot_5_U!l>_kIU=Fstdl4@~$$V8+I{}$U zY3Vt`;9ppW7Blb8;9Ti-o!;^?PA)eCFixYSy~Hw-1g$*lC36$BvX5YM70jmdFAs3( zk-iStNG`lTbS3p5UBIah%a(a_oAKS#lm7Is>*?}mZlbm#`lAF8Ol99k{jcHt_ARs z43`W$bjo=K9%Ou*kU+>jVXfJjAjoU)v^Z72=lSGI7SRAn+XiOuD%i>9ur#0cUT%NE zW^-r#aq9Az>*8^J%fc514|Xe@URW@+c;F5$%A!WEBJ_j^GLvGzpL6VYe(&w4qJ8LI z+itGBrAdv}{$K6tcJ7?^Ln=%b2j3lMH-d+fjhq4MMZ)ae^@fx-w6p$AVIJNkCHbF` zaznSHo~(z?)5`Og3+f|LylK7Ojv<$7*>bKmCjk?MnTRJgFHXAvr-74nq|lLIpueZs zmL#Q@ox1S+%7;g5)7XYm#p~#^#y4h$_27ESpc6H$6Uj)f==}cl4!DKV*KYMvtRsH^ zK-ST-3E5Eh_l(T#h;q^&>}q~$RHkWs$CZ5Lo{xskYfhWYt@T|(y?zNnFC7h-g!q!> zE-Xjb(bi+W*~0x4=_qsk{)E{0rT?*eQ>z2><3}l#B9d;_kUw(tRVChjB^z_}`* z#!?Bl-#k-B&-2WG-U6%B6KfwFe~K21{-Z9r!T{=_&gK>=veiZ$b@iZf{|(@R>Ft(OxXLKj1CvpkQpQ=MZa>Ga2aE7CEVcoZ zz&i&Qst167%VCIcj!8amQJyQ63AHav{*7_S76Dy5xr6qx-y$i^J*3$lKNoq3nP$j{ zjv7@tf_!L!lQms0FDNB5W4cWy)R3$4IN&)TF?tu2Z@&o7I%2}w?ndMc zKx~f%Gb&vnbeOiWC~@zqq;jb{sYr33%NKEi%beu*B>3$o(8vONEFpcq$pHslSU&jbFQkcczp6dRgG_5jY@8xoZ*otjqoSBoQKJ#<=&Z--nLH-FmY#674G8 zzY+4dEBt*(?!n)5g*T{q17+q-4?e_`F}xL+WSCExu7817r*}!qKGtBu|jX zgs;)$GFg&mvQXEW} zdNH0?2GnW|<5A$I8dujG!GT`4t>BZkft@SXG>v&h21Hcq+#5fUo?D;Jccrs(I!Enw z69>4Yg?Q?vwMU{5e%QO;W-WnhfxTE;xD3*mR3-{PK)3jkDqv4{OXMikukodC7ZM@7 zT=FTBC}lT$x8S?S07)mKkMzzV-w+WoPR8=KUoL|hb$L9fyn`JTw>)>5QN2RLS3NMJ z{|SPOgZADPBc<@UdHm-Kdl@|A-DZNIj>Ub>x1tY~`gPxc_Jfyd7yEnf&B>S3v1Lkb zli}`cyP)Mxt25*K@rGjD++@5`epkHzI$5ZfkIOGlzIg0!!|($o_YSc^ytm!`6dus$^0A;APa}a|)am!% z1z2GjwS=Ebe+(?O+A;~X>^CoYX}w9X?DIKk$ye!v*yxv(V^EZ2qoq7)c6m8{M}4Y$ z&Uw#YN2-GE!87aLo1Fv5wwO;RPgyaeRc&t)@%jfQh&*wFrF#d^{8_@G3KY^o74s|&zp>TKE z9=r-AlAM(QOC0fkUKmhjbkXVQxXAYQ!`wLR)uvY>+&*P^l|sIeu z$;_t#i*xNPbs*vr9lh^Ty{r~ShVm@BHia{Zx?>n|E1n*{2kG+(`~DWz{tueydRxsr zzfiai3@EIfs9b>zI%=akus~1?%Ian}X-dL_sL;dSS3}zKR?LQ9 zFSo{eV#PP$!r!~jas=hP`+1ST>2h7HEyb6OtSSH1X z0sd%jvA3O(wFvNX-aq>_R3XFx?jDsgC-3~1PW4smYIIYz!(k_2wRp|>YKQ9^MS2lU z3q<7nGrP{v-s-?S`CF|-d%sfiaQN`ydTQ_Iuv3;-Q*n^zSnH!z(RNCIe-5$*KfU-* zLt+c@T9)oYY0h>&{m#1RP@2&dFiR`hAm^eSaGApMOAHI5?_`jzaIm1I$?^71E3!gE@7ynAQtR) zZnvU_Ao5-nq89!;*Zt*p#;v`K{B8k5)1`4}^QBi{CfEjWM#U6>k1mYlSzy$*bcs$3|9@i+( zg{u_UEgdV58!h%MMXWtm`UFeW9^B=EvMVEW0dma@vm~jV;G((00MK4ydt-Z<#B*K} zZ!4{A@q1NFaYxOd7>u{RxQtM*3X#gDdwjHVY5E7x!RPp`EC>R+fB2xkx_AJ0`xN`Q z-;9d7yi-vlKG8cr5uVhdmqqsRWy#?obScX3ushq5 z!+Mer5IF|MkWBryo;O~!7u!{0m5*xYhns+?Z*9c42=ib5y7*OGhk3{vAuJ1yOGz#I z3wxtHM=!nZjf&Ooq~wA6*fQ0bL&(JJc>ZiW_23?180$86LX$`TPWw~;lQj`OLK_i{GF z0E7lUfUrA(^kzBTAw*O1-F#Q>GaR_6?d$Y=eb7azIuLPPnbJ(WVE+4tP&)9PPlo<- zF*i5=CE`yY_Hu-&*EBj-{@M7WG6|;m=FCy0Ze0dGlXi>0O8O>=V$C0T`f_yUN+;TO z9Wqc^`Vla6*#J^X=M3esKd5ur=B(~G=S^kSgMl~PGM#8K+J@PA`u94C_HmMUA~ga0 z3>LZ+GGD>sWm})zz2O>pqRqslc+8U6LE`Y~r*hNYn|4;)Ea=&;!b1tgI3lgmL=Tbz z+9$Fkx2LGdF^QwhP^bf5|IoT+U)EI8hqnUl6c?YYer)^=PV~7}UT2FQi0iWC< zQ}0e>SfA0FHs)F+xT_cWkE*ej%&9hqfoQ!CTT5SCV*n%z&Idh&7RW{H9a0$aQE(_* zlugm)G%J!X6p*>}=E6Mbv^$Lx^z(IOzg4^eTuPBGNtc>@4*}33Ojk4v`f1SCgSl)r zwIGgyV(vWeSwLE=tZ)yAdi?h#Y}2a9j}hb;FNJ1@H;yjxxRQfQfziQh$4_+Q1aAEf z)M<(gLI19N=oUb6SeY1_Pm)G7mHePOY)04R5aiN^yjB=5u#_eXS`MA`lzX9ETu8SQ zwf{y%<`?#@@0teZ2|av zP%VOfYa7V9=f>4EQ(L|YFzVD<3zDFfrB#*nY>Zm;_3{j(c=lU(&1yzTmPd4P?GP&}??L{z)ht1~sY1WS`o;=w zeAX>X=b$m;dl9X-ZFmP+oP`>Qm46o?wYNK=P#0>NxR(Z!8G+FU*vH3sCQxJrip)x< z?FeDiMD$;PQ7fR*(0yM--;#zPRf7QC#|n9&9GDj4`LDM|4vfxs3BWCkJStxPo15^c z{I@CYIQ{3>Bu zTN?Q>5q$FaV`wLP5v1(PuI(ps@is6|qpipxh>bWXE>FWej$oLmg|2?Z=sZ>LR_YY; zLzLl(`RDr&IHT4TIEpWCs(jBAQ0sxqsPY}mUiav}8w1nx!*Fi?iR~8Uu<{6Gxmt^H zZ=Etu$*rkkw984HvZo7eUP%Z3Khm|f@;Q{>$S(sAvQHtqh>ZRG!1RkZ@aHDNMi*;ZTX0ADM4KR%@I}!FL$~`j zvSF5D`j%gz#DNT~rKXb;Hjk^Rr!3S~Ul_U01;hVhvgOeqh&V_7En{MIW(>nMZKCynY>W67E+Z z`lhgoI~$VK99Rw2?-F2tnTs~46l@$I_1C&{==i-MJbZ1VmOqPx9D&_K*0^!zHMV$P z%46B%sFwiZ^B48yW+ruZ;BAE#x#0ygW=>^`@a)725`F`4 z9MIuI!Kqx3fOSn5-S#>nIUMZYmD2&Bg+>|Ods5A}?3eZAF1c^suU5w$+HxEp(4#&| z+KSM6Mzgg@Skm6wYQ!||r%Bo3f4@=Sphr=tFQoq()@my`xSpRG2<+A{Yt?*y%PGD* z>0BCTSz?HaCmWu|hFfaZTbTSnjWc>oJ%YGdY)yn!Anx6={<$g-akfJ$0A7o`+}Bhy z^obxQF79*wp#A=1!sC*~)XyI?5SD?!o+miXl9tNM=RdepSK$Uumj4Qsw5x|9Y`Ly` zmao3+J4!iON0^nbEDf$W16)MSPVs2l5(WC0WSRXqA$1qTvw(}B<3vQ=R_|WsIM=)qv*&4c;mvRN%3ygfDNs2oR+ULIK+aSvxlc90WhgL|4NAwTL3w@4&3jt>e9?QWussId6yfE{GZ@0# z!9?fx`u;d0xR>d3#9(Y&D56O4E=cYNin=HTG_UAt(urO+% z_%nk-yg&>Mod?ql=7=ojh|aN{E9+&f07td5qH$tL>&aR(pBUKtgdFy}dNKx1|A8i( zsD|I-1T@^7?+4$$oX)Xzv zKr6WOHYa^1ewM%0r$$<7It^krV(b5YKO8UD5OW7%$=k-z-l@E|`HWG$Mii!d}d02F3eXF3_vQYLuTxDYGd6vPs8QWZA)Aa+gNNqm?jwOefnzo^=tGY z%vtm!;>Ca~$Ni+Ue^4JNW)bH-52_cd-OL)da`>O1hk9>0(yv04Yv#CA6NuhO-@+G| z&}V0DT{$L2!L*8X|vpNV@3G3uCkJNEMH4m_2*euC!=js+#Q ztW({dIB~S&fRO02U{o@(&IXQjAW~Ze#kRt>8H0|d&_9#cr;Tl+J6Gq)8h9`?k%_2< zcm$WeSXe?*xV8O=`^Z}4J8kVwWGH^*ENL3hzMZQ@Si-}0Y*Zg0AJ&^a9b>fjRNVnV zs7(ktZ0Mw2pmV{7Z4Sf6Yj8@;;n>Xn&D`?BzPNtlcQ>~Adn4NWg;J2;ZCL%!kEuF( z%oS0C*1t5U|4!?ES)rG9M`PEP1Mjsj`%8i!vnXSEwfYW!SuFKY_os7dQayt#A;JNx zn(9Fh2&Il1s2$M~KhX!6VyUPlVXkU@c=)GRr_n;}KfSL`rqAF_ldzKNMaNj&AgO-c z-uq5mVfbB2;*yE2=kK15@paT9%v#}KA7ut2cq`|Iu4q3UBd=bpI^cP*1YAsi=C zBY!nw@;Qr@4uth7?r31VqNEN|;rZ!PB!Ie=v;%%ljHx2sb^ypV*&z1-qn?l=Z`{pjiu^xMrusnXockj>m z=B{2Ao?2m85^NKSbWpexDH1>ky-qC#6baqGWDA$zd%Ys(o+>{5SJ3Oi2R^q13QRv0 z^={?cO@}<9nvT<_Altvl{PM3lhF|&pR*NrZiNIcHLNyOfdkedw(RyF`O`-J$Wnpn) zvYGYyfyC~a<&m+%R;|7!Q6(qHN~rIxnVO&M;m6Bz&=UKtB7+K`%+x? zT!^P!ie-n2FLUIcwEN~O zykVvBO_(8a|IROp+#Gl`^Cm*k{=MrThsP>CipLT6d(t{=f@j8)BMQX53AI@Vb;@@f ztY7DuwYhbfhno(G(F1>*Sw`Y@f#uW*Q8{)Z9E43^0xn!jK4Rq#qfI-49=O#}FA=_? zwud6{BodYNdK==L)(>RG9_QtAPdk<9Z*;aLTdPsBs)ej|bim4lj3NSk?JjpbY3_S_ zo3?}@CP3nAANn&>;!OEgPnYvx5?iPftqBzHyH3M&&!~5>+`vsk=rVvj9>C!26qKoa zwZ1Y~5mdvbrq^mI?N%Sy$HcPi!6~v8=y9 z$-fwNYU+cY+E95BY3Da3o5=o&Wi=Op!Qu+e!#^-8+Gqt9!|MMcza?ED?5<^Kb#=rM zWGuw=@^%Vt$>o?ivq#+V#4?m($)wMgU0CQDC2A#6MRDC;4Ec4HJC4o)xf*Vx{uxS; zN48!eOi?rCWtqKeytKm=k=U^2)V6eh3((-Cf)76}(vu}y?6FO7;Cnztyr$rMAVtF9 zCS3oW6LUnKOwtHAzVZ=(hsRX0lB4mjVBm|xmpuPM8EIV+p<`yRRQ<~8uwU%4IqTE~pT3DQ6&(^IsqaJxC!VLe z(uj0#Sg5KLN}PO+9{7*7mCY?}P#+Z)-|E=sRzrQrwtT~IV$j(VqS8js>-E<8Y&u}A z80u=AW`_C+dUQ+9^~azKJaJC6PDhv zEj6cIYy>w2zi49iNIDd@tAf{qjyQmJG?I{$icx`7`nbeyfv1mQ&ZQq+#DQCqlvg`X zrQ?I`L5XSGgV`D$RDz}78kJXU&ntO8hxG%NL)?M^t&I-k+_!}U6LKS!hp-39JS?@` zgQr6a-^~xTXbo%jgzSK75%DM`22+#DwlFlatE4FS;Af50?@6M3i?O=x0c|7r6zSd^ zFJQ5t9iIQKidAdESdDtJ3P(Sk&|i4tQRCZ%pYVo|$GWiY<~k4wHhqLQ{I+JbFQ0#z z9h!+dQ}430JH5{AT-o*T#nrM8L(gWUE~kJB%!xFNrv}W`nC))AwvEdZ=c27veBi1% znYdG&MGdxO!K3WHtj$SomtGU_#p6L&X4W+kx3cw)i@jK*`yc;uW3?Tm_&2HVR1~e~}iV!|@o4ouOtLe<@ToZP4cek}GrD5Ys0DcrJ zzYvJE?hO(IhUir54kV)DN9;Qd+guswW%1c#SU3~^om1`V^(D+2E1?V?R5Lwn6nFf$ zD|)7*rwf6&&CbrfQ++2aRrTz~avQJx5=>qs-C)0?kMgY9@01<0)CV>jJ9}nh|(mj*4 zhe?jqw1>2NY790dwkN7IU<6g&Qn~Dmh{hDmGgI$Y0NvBSKv39E1;-B`VRHStC^W%w z5+Md(y&439x9D0Z$<6ZG|^#DY(`Q?NmwhUA#4|OqCSdYQgaxw+l!h zKa$pfcjm-jXSlnC!8;-=_5ssCeRSAfhx#zTbLC|3=~R&>hfQv6hW=$Uo1D)#weun$ zENt^~D3)`ue`f8g@}bR&0GngPGM+*vz)mpIQ++;qsG+7>$n{;!cseKE{hv@JQnByC zI)cm30}N~YssSGlVvSUdk5~fE^)I@WV^`M-s(<4W1N6&jKW^}MTxy{BRGwr0?*`lq z1e3C8FY-zxIN7bZ1|FOtjD@{&w93%J(mzz$Yn@*Ve?l0m+HUC#4YC!1UJBj(W2kMB zY3l(udIXaTu(HD|Q0(pRUqdpTxkTM*RYmWpk{k}abqA>e6bW30&cvM6Uy+kfo(Cy6 zfSnfZt$V4YFDKFHr2SHFuSm(g%|+2c0-cUWyuT}*3_V8vp6YdE)(2YIEtwFw)RW_D zNjbpVi%xyy6r82JUd!R!|8BKMcN~DyeC`O-6OR~wVuKl|m)6ua@f6SaUq1QyR2*JY zP~qHpPz%m&sylX3j?Z+fr{EGiGo9o}p#J|Z3DT6bf!=0JR61>=DVQ7peacV~E}Bi~|c$gt7zazv0n5kLK&!&o)?}7Mre~CiBDM})NL37WlCKU>00|Egg&wb2qd49l9ZS7`ydxS&XY|VWH**Zbt10(0p^}n7D>jr-_ zL{d(xFl@ZjWt1dQ@c+~^_Jk@+lbAS{{hnFKRxcyC`Z1Bn9@4^V-}w@wYrf2d03*>20|DdiAz01fKGoi)kN(uA;m0 zs2Z!XZ6%@S*K@{&mX_)t`?u%iMi*a*Qu3(yYufkvuFKPXUB@!IxY%-FQ_wqKS5^;u zUT|xAAiO7FN6Qz%&j%tzA>iuu;rb6_M7aV#@tJydn^$2~F8;{x5M^+D?RdS0n{2g1 zd3%^DSaSuQAku|u6Wj^h0emwYusw9^ZsT%WYPsE02qf11tP)j>VYR#(y3*OlILTza zT7RaLAuLbsd`&wFNh_N^*ia$zZX(ep52+XY3@5-E_JX9~^9ZiF+M6?m?43G$zY*KS znf)DFu6&?fHKALYndI@m>}o~6=|sxsMsuAZMkCwkSx3Q))=a|)#b790eEJwANU1_D zALS_+Edg-NQi6M0dS3NYTl{7A0=-lA87ZL(8+eiZH+ZIXfMB;=RQn3|2{t9fHsh)9 zNsTxEX|P!ainjHcYSGxlGy^d^`_mcnT{ZYbkG|-?UY^V%JnT}nL$`U)R1oFLSRjO- z>=$c9V+fEtpiR}8vuCNQ8O5%dLpy=}tWvk`0K0;0Savd~YOo#+w0qv4lJsxdr#$+G z84QaB9Nj@7WC=P3RFNm<3EmK-&{-MT-)&K5-JnVix4POWR`5Ic%$|SiT3}*FrW{^8Tzj?2;g6n4o3Q^BpT?_| zZ3;R+1WSOQRzR?q{u_TOM1i*!npuSKw*)v#bz8W8sKDL~l z_>ZyhxecA&gIxOV+=(D*l$Te))9@o>CS0!nT6vfAb*c@4=Q$uWybfr|w8C#;?lAcK z!X7J$1ZLB#sZKWkcI69;DsFPQeK}P{UL*90N%QmgW)aLt(CXYZcXcFkiGr_dU-0h& z?pFTC(m6lm`TlMEu9oeVvFt5dTP@pe*~XoXWo_AZ%eJv>+cutSpYQWa{Q>8Bo%b8Z z@j4)j%(8$o<;SQ(;$N+Mc$XcpJv#6FPL1Ojaqm}CeF6JQpVeB__LVm;fuABk@02_T z44-!sszpDgW$gaskxKuKRLbVlb9tmf+?ZnyFcrZ_2zA+0 z*kvRb{@^8R1LfZd3~Mn)i*OgS(zu{){1mAw&;q7Q#{xI6H25xcH{8sWS17epp{wEQETEw1LYTr&Q|G_-H zAJJpq3??N7!aBwXV#^n&E2k#IJ`8lCY;+tPVS9cn9{F#YhK$n@$r0XQ4#fGv;+g^I zeg&QN%PDwz1avI9ltn0S4wAik+`}d4O*KhcU5{OEqrnS5&nLg+iJB9`{f*+rtQCR38))uh`pRDd*t>sWYpyDkjLl~)? zdy+`aoXzjY#j>W{dA&S_a5xM4FAHPEI_qPRg3GU~Oi zHqdpyi-|1fu>s8kAawwref6K%@%P;(Knu`$I< z?T~}W0FZwMllJKHe<%B2o!Ni_2gLWj%=wX}p7~l=tNWHy8@@Ayq@#a{od8HqZ_uc> z!WN2{+}B@qIF6J~cR{xS$P4?;cRPc~H%BLRbAc|pXc8g>d;EepZoE)M z#&X;*kcv1jTSCE@uTRe_A1MJVOI)ph5D&Nn_6GrIx;&RP}|ne)PB}II^Ref$f{WLV=_H> zN4!Vty*;jHbi6(>*=}ciX8ru)Y#Ti^@8w!;IVe3hCW`{b?PTNM14je3^o&aZUch{)A|>yKf-Px6hmY^uGRasFKk5 z&Ub&lXT=`YHa;Ep>{?d#kw(10{HQmWe%{rLPnn~Lj6=lO?(DCOpSD;0lK!Um0dB5- zV~D@8r53j`XSNJH!g^$M=WwY%R2`#eHofv;?%Yx>cP78q)j})ZJNp3Oxg)=+ujU83~IAug@7PLpqE0hf$n=iQS1q#~YuW=uOwsYjR3r8Qk<>AZ?ZA7~qq zkc0m)xoppQk4ggO?`Y}V9!p{Fo7`2rsF|Pk>5mn?km>j`+EIQTc7mEW`DTHy2xYIg zVcc_f@-^o@YX4_i9F^)kay;%GBhF*Kb7SGCm1CLS+o8e4y7#k^ZO@$uYj8uWnVS0) z3{vvgtx9j8u!ullGC3vLo!NA>cbnZ4s+<~w6Ha4I@+w2aXOEQY#ZLp{aHhH8k zqhPJZU>bt8=eDj|(UJ91YuTvAj@7qh)z zHVqak1)1}*Ks)5&V}r6bh7OpV?ka(?pc}kD0_8R~+MkvNC5nm$99Hys(dR}p)2CtF zrbBM1yd-R?#)p1vrAe=WPvQeI?gQaV_RhvQ8&JEV{B`twzhi!R9kK0r-RHYaK=8xK zSbXD%=DR6chsP0-XwYiQdf4T^e+opK0z^ULkspOE3=jzBZB=D$tA5L`OC$CLmcDhA zudb6G$jHi()AIk$PDZ(`d^@Q=9c^`Q7K9Z&tI%$Db0pqWVB*8ggy`(te2rdu4f=PN z(y$zyF=u61x09QOYc&|MP7DjQ-1b5v%H1scP>HA>>frNk*#M7{ZX*V<@sPFcZH^kE zh>cK@3dhxZ8M2ady~|YxOz32ratBU(HDn+2EU<3QzUqkM9kri`wz0Uau|;xC_d-6A z^aUKA3*LGBjNsF)$+sK3b*tNN%kUP5=)z>9l?>@VBD8y5Wy?eCZ3}MV2WJ;~9Y3$d zX+~bfauOKbRp73Yk1QDElic8Syz~h2owwilXS5k5vT~e2F)vYO5S8Zf@*~yUciCoo zOE-0w*7U+w@&n!}ZHj&rS}gWHaPL|8sTc?6=Cb@~ues@9$J?I41pNeG$#abW+xSdg zwIZVF)}k88^!X2Q$QD@%m;=$)=Ajda30p4DmUv3q{1`=q`GzOM#2I1xbO#5b`x-FU zNu|oPO62hEsjcW)GX^%y>f}$3&*)oAkElgOsM3W4odt^TCzhz~h@Cr*{nM8Ea!k#) zD>$i4@1EE<5u3a22>z8Fn{@9yh40Lr5AYxPZZ7m1pDXl;K9i~1s1PsD?b!{b?>{FC zzCEnJ+G%TOAOlgA^Q-!uo5zQD2frnwGl~&>k5i$Tk%b^wY4$m(2+4bt^)|TF5D$nx zYjoML-0;wiGZ&ouwyS>-;CY3)*-e2^t67HGT+wL)`mc4D!00n~CZKgEiWSLPcAf>2 zn5Mr2bO29sXSxu<26-d&z{0eXS}w}nIvwU`vXRs4$G}ld$|8n*%UPnV$bcYUDi3NMUaJoW5prf% z)DuIGH9*KYU8G4WjN5)0RyXyw@kdM;{drHN$48z`zAeJ+>b#G~V(i9^!fMe#g$4^8PeU zRc#^V_u%pPx;C?#8CN3w9%fo&(M9cX{wC_huZZz*t4DHMrjbaw=Dw@(+L`lpEAH>= zqlF`P25Z~nxoL!0|JPIian&;I`E~li;&33C+RCrm%bZQLK*y){fz zBT?o|*_+oZKg)?w6Y<+&JkVu=(dSt=(H!6HF`rWl#6oj{oY8)`cMM2DGcR}IQR^4g zEOGHRimCO?SbbKVIq^aQbj5-62FzOUxM9zejD>I>qN4wqM(pbpDThdqsM^APNe%=Z zzJ#ot;V_Y@(~i7%9n7XTRK<_WR?3~T@vq*EAhKTc(+LGQU%8rsDDKa`P8-*7cRpfu z)gnURqY{dtD%t;`mBL~T@Cwkn3nhC!NkMQ@@DTQ}yF#`XpQ(S2YOEUugm0rU>FA;u z@1mXYcrFuxv3AWn@3d*kebY-OJ{sU#jUbn;r&tQQt6LDhu#|G2+3tI05{BVG%lM2C z3mR!Gxw4JbkWApgFf{zfYMRS_s-Xh4_}4SmB(vvq;zEM7JwNQnM>jjq7X8ph0pSvM z3CPwLz>^i$`EQzS_$C;l4WrA6-S!Yy9`{oN*a@7 zxf#q9e2Fq$4gX4>-4YSE@YmrbK_g_P;XZf%MyjwNOy_yny|=+%Ys<0t&&De=Zdf1v zT(~YReBP(NSTq8eb>W`fNvz1Q?*?USI^#tG@K|bd@ktruOA{G)IH<&w6Df}MO|}y* zj~a8T_Vs)0k$xIK?w2kFZM>X< zRq77|C3Zh_+`!DQ+hJSITbTh9z<O| z4Y*xaEA=vCPN-^j1i0u2)Tf=cKk)Jbi#kXEdbCE{xM3ptBN>;@OvxPJkD+ng`&4 zl<{o8u;A_@@p3C*DnwOpgK(j23A^lFv$_K?6kv!9cq!MpMeOm!T)4$&3*Jb!)ih5331bHWjrQeDl&GglcJa{z_CFhI@SieTckGP~XcdQ^abLBqi8H)BJW z$4!SMdF&esf}3YACHpMR7=fU~3z+bZBp~|kA_BMEEwl34q0s^$SNU6>>Os1`Ek5?J zJ>O6^x9m-ESCts%`)1ock^ikWzR(inRiMWxDqajcjnPz#( z!KX!_A2mFG*GRCq2;qVd;?h^=Igz!=8>W?=Xr)pCR;{JAs zf$y5RpM518c+LNYjfTcI7y(aEGkrf?C8nd{^sO)oRa%a?cxms{8tm2dtUuA7w0yRN z`U);FxPQyS)*LxyM1;A!;GI*HBn#x)!~LM6z`6KZU$}fNb#kdvG`U6ysgZRImmmze zTfl{y1ho1DCl}y0-Dors-9mF!vXb>O#M|bsprcyPoQmRFHWfJT**6A;hRRpy=^3@} zv@npbd04-TJbFm7bmb$qA^4=ijNCmexf{C={y4WS~S2}F7?|2D*sw* zs*}-CG|DUK`k$}i%_e9r>zfmquesjlOLUjJqg*>%2xY*t>xSn?c=QD)f*hVYWcLy2iy_qF6|>8I?1zD`>1 zjBekZxYuknlpYBJX~Op>iNjB;+-7|WG!KyjOA07|g_|0sM1Kw6N zOdu~wL1Y(Ten}*G=;u=Lsxrrk{^I7ow4#w9 zT1PT;=Z%yKHw~;?K%Mini-7mJqxXFwc%jPXT0!sIf%yd~LYJ*XVGfTbW@D}P1|~X8 zdaZjHAezf0gy!vux-JySkNA*(E_9k1Z56@_1@|Et@>v&E(_GZ1?<{G#_dbNH1xsXI z!!M+!cWqJ|XThfP6U{PmK6nPLtn15(wIW$lCi2pq%lD=%jlouYGQCITU+>=d;a6OA z4-vIGtHb}`4)F3-;$!E?2)?K3FwnwT$C-1azntp?2gR`%XNvAFOtM6{)#_F>0&1q;9j*1+0he)9Ppbw1QS7{%Xugp`nT8HF^FM4>cYvADX%@O{!st{=k{#wr2_;CTVhuZr#+#A0+Rio<+#c;y` zJWkJjFqM#Dh8!E4&{5-%q4wT~iN;ZQ2bnvI%eBQ+)OPy!9@QnE1>Pd}g6AFF)abLe%SW{>@Vw%ht0x&O|MNRX|{Dp2ADMW#1`} zu1ruCwBomhUC!>xkoJl{O0+&c91ofX$^rt8a!h`3eo3$N_t=M?EUBZ}8sb&J^QJINAf4%51K!Eud}sFBg}0>GMw~< zxcaw8b!EDB^W`utTS<21?MBq9%xjBLzG)`%(~M7X-&OgC1Zk z#e;m(*l2#o5zcn?+I#(XPl=n~S^wQrymZ#B8;A{!X{w>15!LW`FJiJFC%V#7${wD- zi&@cPfDU21kQ6Nm%?>U16mDWX? zL`nKzty-ALUA|sI*|FSE-B~W$3~Xf`QpU{S#yvsT*Rg?rLhkIe52j#|orA^X6G8^@ z=xB#U=bdYNSO`v&J z`)OmJ)Z8DPJu@Ia-9|O6YVK6=)$dwL^Y#`xxBzzLffZ^N_#_y$0s%E`hAi5OrY*^U z*O;JZ{In#n^^Di*x=>RLSLkeFDw@%6f)0|Q+gUmM+W>4EpxlHdW61)`piB;$7m@m} zOr?#MqzYp5yLNb&M5;WOW(qCk|LQ>qpZav{mKQb9q`qiv2lILxL9X0J&0j~4@U0=v zof#jck=3+0-nTysdg=FkGcp4BS@4)Y32fRK?aEH+@_4h=d|a&5vr&ophX|9ob({Cz zzf)KGC(nn(ZkOcWw7K^6@f(P`^C@{yO_xpxaeH@*yaeIMF z382U(Cvm)qTsg=TyBt&~RE3e}-te_eiKymySrw7HYIOAFvnOR?4gwB+CfZNVd!ARD z8VFTL){Io$y+Gc=UCcs8wM17ZibK_e_qa2j-@T+jD3I%283ssAkJ2?68r?hRa@*VQ z-fJ+vT0Q60B~t% zlavpMbpspHNnE|PMK&gI@4xy_TNh9vT&sVV)>+5v5T|^)2EAwr$m^gxRT5e5d9c4# zXfWPyBc!+%xSsgU3k3KbS`-xp@>ZHH&ow18`4=!Q#G%srceix-@gzP8WlBT$Tp-Z) zId*W~n&Bd8()6XB$(IVd5Mj-fmMuaTdCxEBW0`l#(tahECx%~h;yT8jRzLI)Yp8o! zCWwc0-evI&zp!pv-?p|g(|1mYX;{DH^=YZH*&OAzWjXh$hazT;9G(@3y;RXQ#bxqK|r%Je7pQrQ86dB!Bx<{&oXpahXLo@d}nFB zb@LcbM*M7MM-;=*Qh96vS!ZaURrR(3mjNWm8*$W zh2cg|>D*EHY(LN_`zRAs7cMkaQS0gnPCBi>rz3>e=seFW@NOW=$K_saQ6ozlTxj$> zJhUaDy-dDF+wVFj6XHJno4jF7nHRGD{<8ba{>$zYdqi*clC#NYfVjB3<<^+1!~IVh z>~J95ND*H3<-7Q&ZP&1oxo!xOULHX!VUQ}(j>S`U8Np2p+MVYIe(F-==UP%@2Jcd~ z#&;GRq?VbrB#<QB*;`)mR|c`WKe9x+7pVXkiAp$^Xe^y%e*$Qhh$(=20pl{S1y|pHzlL z#z%uWW|WvDEkl2r6CIXSuf@cePx+=onJ0tMo_+V0(jcL*h~(v%-(r)BwTux2Yzykq z5prS0lstDSuTC4*a4Y&016R*3qr6v+HEz0UpL~b&` zj<<}SY!2BTPPd*Ww*Lj7kG~tkWa`A6hjhg_~^FI+?A*CG*Z>A>wg`)<7 zZ?3;24N@a1oV+=FsdpA-)%%t;;{>%aTwc9&qrJ#(pwK^Lu`=c=f;ROyj>9b9toYMd z$M2`Ne8n525S>{x71UL7(tha6Rpm)PRoDPYgNX?lijVQDB7;+oD^n_vO-y(%VdiB_ z{?+UA%f6z0-2=DHOEA4M_rFY6FMRegD=*yY`Vx(AK z8SVmqCqI~a%W;D5C0%f>e#teI?e}KT;cB3p#%U@RRcdlfwC$9O_a&IogyJ(*4vr>l zfBv$Ya$U2#~nyI^_7vL(yoEE2;APq z+N#YvcO@>K7jOei_2DNfEq!!ch*wtN(XnI=n~|3rL_PB$bvx-w2YBR5C2z!*Ct%%G z0*&(~|J1|HAACwFB|xdyBHe&&2-df@Qe3{0*hOZ^71!q(fDuVgvW8vuJ_1J&Mz4;=0LpKVCn)j#Q@VMa@x z=fQQUi&ZXPjDksY+=TxnjsbZ21E=P>4`(Ht6NTWb(ijm7J!-Oe8HvJjs!>&zlb>o6 z$y<@I(rqrWSbsNtp)HRL^bwGLs$RlI+=<9g{)|z~`%W9@hkh7S_Yvbwjf0s_vL4e?W-!sS<=5NG=9z4Jlp zqv=egzXw}~)&WIfHu@8_%n`c$aeaSmo@pv8sNENo_k1p+I626^7TkW^crJewpZM=& zcx{gk4J^gn9FX+NnSb25ubb$-G5w|Y@@+LZli54vT-VPlyf;}>BRQ;zH zy2*A5t@In!jd`8jTuztxT~Lh6p(dh2vGnUx*)0dClG*RZ4BG1Nro46t&c{91ke+YU zUBMVBt|~OR3$nhuY8w2i=KQ$2PB0*nHh#I&Lin;u#EmkxKN+hkkY$Z<>D5>koFe%UQ7x(#~4gb4CFXzTli zhT3^|-1*^ruY^G%92`&QMUN(2l}h;E170#+PGvWb;)BxEK^BAs2=SG+C$Jn|esdr( z$86og%Ct4WXyJSZ;)L)F6@3n{OPj5kR^jt^SzJhNB0%%!GTXI+so!3Hi`+d1+1v?= z4%VH&ijo{zY#pDfq#2V?7kC#wkDpKMt-q%a{C*Dq-F`*{;ac}luKBdP>>)EwPC-S8 zU=(uEy{sF&-`?AKCgZ8V6KL!6Ug$8rM_59S5*nWKdUL4OJ>}2Rdfb6w&l+*CNb&vV zC|1P60TM`S(PsNYtVY3izo_XT$zajlN^Ue`^VfC*ZL##7=6bYtoYe()hoGnBD?VWm z;tDo^Su$a6A-2oJ^x-L|%*S$ggcNq-((J(d6DU#kAdxb^c(KecoljY5E@D{&HzLtR zS1Nv-9mm<^;gq|m1_`ggC^WI80^dU4bP-(Jc){xk`uAs{hAPD8?Ftu%P)vrJuSN=*kO z6Hh)b971Eit$1k6`6RQLoY0ieS^oO`br-Ga=*Uv*537$UvGe!#{|=2)y--nRBiGqy zvloDFRi%dj=O$jppsef#bup)4l?mSp(+lAP`{w>4%b1rt^YA5*&?neqa!mKr*E^BJ zag8&~)S5hXE#%j216i1x(17xwDjL}47Sbks80Hvq*WXyY-CI{H=Vj8p>x3{;N{cbyZfErP)E9pIb^&WWmcqUj(6O?CJWncU#j@W1Al)oJFyaL(Ny}XN z_wtutL|2K2ztVpES8sM11w~KE>T;myw?iq^AhlTcu-I zq$^V~Xvq@Ec3m7Uj`aCYyZg#wiJiMt33MDxvh zNLJM?rE~1UntxKxa8Pz{OWqxG^F?w-eBW44%wS#8r^GFqL(AToc8@HX_ERh?H^N73 zHd+GOm-nEaTYl`c}8HLlKFJCm7|2Pj}k}9k&P}JqkqE4K3W>_SlruIDMby!Yf+!}eL|LWyMguZD2 zsQj)j)uh5A!pQ09!qfPl@h~y1?XZ|G;GKPW@yD$iMr;a2v`hyd3FiAh6$h$y4Ogn_ z2TO*}{;3bWfUsvfD*=FO_+HR4gh4n3(2}I5C@0&wxGGlnNp;+B##-}0#_m-~B4TSX zgZ!SE9QKZC=I4v$oE=qB$E88F{qlGtTkiV2exCDNJ z^i&pBy-!;rk)Ex}1$Yb_r0q4f`_L+|l7XW)4gAmWx?9X`xBcJIsTWGg{7+QpEZ?;o z_cFrs&L$hY`U5@QELs*?wVvlb6l9wJ+F~GLY#OT`=7CGv%JH=k4G&PX_DrRetKvVVK4b zwDq`Mzx3Ssw+rB#9QB$EG-UciNLou#rKN8BToH|ItqNYYD@m@(G-_2_pU0PO)PV+d(@)pxzKAEBtJKyYkSt%DMSD#fD;73A7W&Uoa=t5|BFl@ z|J3?RwkPj825I8(GzXA!&Nt59Fbi$HifE#~B_>7m|QGUJ8kqXT;uZUnf7{ zaWaYahs;lHjNs&})bX7$>W_ZhuQe>bxjR|Zx+7qlI!T;Uiy{%!h0Ob=+R|d&9}Z>Q zqfu``u||2!B{fRUSgsawE^6R~OY1X(kig4}v_!IqPJmL44uD;(=uy*jtpe$G<`$&Y z{XG=cs#?h93tjaI%T$McOGFvY6t(|sHgjqjSbErm;qY#ZJ^TLGNiLks-3~SUIvncE zbmFY4<698C8V4!Wc-$Jl^@yXhu?)8nq`6-QKCFGLX)hl)0szVc_|R&7d`P7|Ovhz`a)(BgY!awzri5n` zE&f3nh_3i#*@L<>|0?k-B*$7*s@s zRzrxw07(qV1p9`1fZU7eyZ=b@tHR7V4gVyKn+DXrruzm+v!N7F9I+5Gaz)PU3N26A z$j%=t=dZgk3)T`SgYM*_Ij`SaGpg)xb6o_-o4s&ot5?<2)#RcV?5+^$7h4Mx*|lQ48-6# z?%#OHCoF0>z{J^H(~6O@wik$8TL(*(qz;{X`PtuRuC&Xfax`Un-hDM1?yV*_lFkUV zD2Y>|G8qo`BKQeK$zHZxow*=j6gk|lZu9bX+J0M_>;Yz*fkVN7S;cojB#_mAU#CFw za$$4z+=r?HQV3@_Mf0S(Y>fjDjzdwhqG7bA8sI^oyut5c!pdg$v22O6o030sn*PW( zbwu?SK9IR>UqxDj79iGly7*^U@?hC1XLpQGkvc1Li&%;*MczA}Wy50j^?_nJ`nSL@ zf!FE5bseF#vo^8&C`uD~#pQmLNcmL>F-6Wes(d9qMbX(P4E*6EDEL|oax${GGSei` z!{)ty^WGA@+v#ir0N!kIIpf*0{11GWzIP2_nzJj2yG|8?_ZSR&R_UywtHh)5n{YKcvn&)f&z~*CpzjKM~ zOhO~fWQk0t+5x`%w_BX(2J0ZbqZ;Mg-GTG_N&z|;Mx|Xk{%;&ifP8& zI+LPu{UJWuIrh$Z-bC|Xu^)2dX5KY)u}=^Qx(AC*tL-j7E2z#2*&7pKeiId=A^JSE03GZh7`OSO& z=b{gC(jaizFwCDuiSB8`A}!!O>I{p8fL&0i!u;v4%dWb?d!q$GV*}Bl;BsKA(bjQy zQ9QNIsV@6){p&D5qh22y__Q%%7s@GLc$l#fELFap8o=8L1$`5zat`T|Z_e?x@xsjd zi0`Tbl_K~!`-?SKy+bxAvSAU z_z$E%6Ne@eUhI{ZK!TVPA}soMlapucQ{Y922{)<%P#7vo3Tp}$(Fo4$krCw|`RUNe zpTZ!0DO1bVs`&k*W2@^WVTM0B2r#yty1}tQF)V_FiNtl+gvAK9~MI zN_jjld@d@nEht&bu^6LL&_Go|o?OVIYZVg{`3)T*rEg9PsQ*mp(h?ifOVT6oST034 zfXQ@rlg8PS9))-mp@CR=hPaIN7yd$>uC-Ra3h9;M_9>IMy2db@wqqLbEqkt7B{5QD zvA#*B$@sx^Z@3KQL(Tn$BtFA2K1Clu)8BkOVWiJD6*O82ET$6r;gt5rE{rjiGi;OM z+pwsPVh66_VHdvNaLRN?Lt31!k*zt?xr z-4l44Hw`6D5fgK8WlR31A`8zN5NAeH-IHEQkX?mitq!TF9Z2GPEM@U>vD{`0$=+lf zIN)kD+9+K1;KmNBW?gmPKfQ-|ShamW2+^lTpZisv+qkF6etP``#0(gn@Dc$y43Q_8 zqSD#_(62m48N}t!;2dlOAA!bJ-PwlklC(hf5v3!+UQ+J{<8u;hL zt9$9e9}Rf9orUBQcv}(GZEcmTm@U5ru?6_+`8t6$h!8AN6=d}V^*tu-*Q-MAocQUq zo3VBU=9iwWKu;t+b-^>NuUA8rfYSYy@Vq%PqBm~!Hqa8sASFnub|w>^#iJ%B2|Aam z#aQ$U+k&kK)hJrKv0iJop2s8h=bRt$mv>quF?DB3RORjgx5i_ix0lv`&6||8x1heC zHuOInot{)$6i`)2zGal^ySeVyb=PnAxrDygykSf z=9~nagkiVJor!N7`*8lBbV*B7%8CUzZQz##NBOU^eE!mD*(V2Wi)EsI*WC6S5I^jF zR!&~{4jKP4+tA3;cbWK8j`QNcnKQH8xM~DTfJ?LQda11Z{RdIl^b~{{Lpg=>9SE4U zDkdt4{Kz3XY7>O>4p6Sk731y@lCk+{)Q=2F>ZOhk-E$u+P{s**f4g6QSuWG83kIwh ze-Qfsiy5EE|0dmv67@V^KB@xVh!zS^TJ7V(=Dk?3Aa%Z660nd97-9K|Q_%+SdNvRP z^N8eTu|<`ys!wwZb}p>%&gG3@Ke5wSm6`H5^r({Y6aO_#ZG#T?$fA@uvwr>5NX_!7 zTIy8X6modX=9RW;lbKUnsYS`LR*TyC-nrqDNfDqH@%*-hDKdB`2^ppr-qUTZHlp7w zc%Ug{Z0$W(^XJ?mr4Dx?;)$6XcK6^+h`YuZ_(?LFY#&y5^bq*|!+~HrkZ+ z!faeQXQHi68w$%J3lhKNFDT_*b})v8(&p#fU#*8BdbBJkP4!w{-%p!9&G!GYmAi>- z&LKE&f6mZVnC+AjgbSaXSWQ*RqG!+!B zu1E%LIm;)t=6dWO*YTk`mzd|2fTwCm)MJXDR4T(t4vIJ1;2?`;jeSW=dXhBoDFw%cDR1+wG&4igg(+uFOuGk2g~1 zeaAZyh)No7AP|0AGYtS4T7n+_MthqJDiNmsvu#PNgVIab{aP#lj}~llg5s|NbF^3_ z^vg-3dSsthgGue#A`5EeQ~&O0GR;}Y-haR+4*eyj+%F(yD-{1hQd|cg9I-{OSQoFd zxkMYK>kxW)G1578IaYp2D z`Aq?;r}-SxjJ4(m^`v|+@#!+gqL@QB<*U+mAtt(FRV)N`BRJ4StnV=dSkJlW!V=ck zQXzYhT2U$=Yb4J}9O~Fp;O~#j5a^YXW2(-b>6`bKx~t*TM!O%JFl%oF*UJqrOCJ`h z3^TyXC68OvyVqi;!Iff)u8}ufv>pRZ5>YO(nF*5Ljrn)I#^dH!9-wOPe|_0)sBHS{ zxr;8U_t0)W`ZC3)YQb{p(KC8NB&=af;o1bQx)x#_xyE$*VOfoyr`3GrCyrl^@ikkUHVHyI^7ijkT(100T;&JHtBX^+42G1g8Ogk*rS4m@m4k$|v_`57 zwY)*gPq-_d4N zK4gn%`_wVC3*PWUVLS;pwYC2!$EUtQ>@+?kW(PURDQ6)9S^<~|I6~@TTaZPBBhI$ zrZ;VfdMp+x+Mdl$UkK<^xT{#ti!UJ zVg0>a|1~{Mn8EEb4UlY>Ta{!F75`mk=D|Xg6?UtCn9;IEOz~aeM?sU==DyGMH>cxo zO6Kim4qx>(&}Y~}&}R<}J=Y~l2qcS&0&2P)RBaaexJ}1?+^;DnRW1$#=B}Ju=kK(A ziFdG-rNM%{!~g2C^oQ*S3L*RyGQOWFD-QT0$9Bj+mCoTx@vBP+{vkJIC^RJ@KZzSa z{JVlrX%HcNvXx}~iygT!Gf>D@G>ecF7^IXmSEI$z;BZMvTAXq%s*@smNUx6HO$ zl;~}q^*erg6BD*UtC15t!*pbh86hZ{rAF&vBy-7*`Y+RW^o8be4q1`Y!5;}7YD{HV zmp|7snwYGdM}H~R8H%H=&;8`6H?Q5o>j*a zMsU*6oq##4F{G(5oYB|XN`U-leMTqsc3Ys}z_*O$Ej5>iYg&v1knpV}Xn@JLK0tmu z_(FRf?>xP^!?75moZ`Vqm-Pg@EuV(zT3M;7yT+t$60t)4|$(3$jvAEC-mhhJsB6Eq2p&Y_c6Objw#Sps#3Ib5*iyIj+Rx!+ys%w z5QMR%iU#pZNV1(Af5=5x2K4UNkA>6NQ4_N^_5Es6v}>`7fjJK8`-o(wI9P*CB8`F! z{*7$|qOP#LYBpHDO_z({+pxn}Cu^_K1FQKWn|spxnVJnu*N+W8hs#t#o53oO8-1|v zneATl77Ei#avNt2UmbRM$tjkEz0}}rNsb4&P0Hcm5UJS)g@1$wnAXo-hq)K`ehZoY zt4GV!YKD~l%Ku00f$KZ*nO-bmQA$q+le9-H^guH2+J+OD(p ziGXHbMjS_OeqHitne?`DxOloN>;s#3!1Z+2#jK+%&6{+FfL|Lgst}%25<4naXH*^w z-|P`H7aw`Tod^9(Q?9MP4kL4Ldw`4+_8eMVWd_rYN?knP+F!s=(Icw7cp7MysMyB&`dcKITx+}Pl7`EV*w7c^q4$5 z3pH$X973^^z#sKx3j#SHCPDS@PapKuJMFS3-#oVo1V8C&9ri z8E$;ZyeU6t9whS4Y&(xm==A2rbpG@P>j_DT(8k@V(}`HvLPY=a1UXZ=4Ws;U8#c#^ zEPDTTFyFXpSe`%*w;sLrTzU$@1ZZB>9Y5QFUWxVn)y=bcvF`q?7sjy5*1q+^4+8)(JfLwDr1LoJ}G0kT1e#Pz2)MfvfA#iYbJ-ND{U5H8^K=fgN>)_~iatfN4?)l)_%;{FB zVW4MgMWFc)sKmnK;0$$3K#d)n(d%bwyM*koI*Gd*kAss#Y8t-a2DNr`&#itfn!({X zo!eapX_L>IV>U*^)CdbT$28|>e8V@;xF0hgpQ2&k<{5l;$hO5SYWI5o{>=@3aiU=e zc`?YCPG`(ZfDWUDufp_5Z3#_@6SH;1_0l;acV7aNG5BU3pmhs}>0dN;(V(w*Rl&cA zRVAm}o|^1ywKN?@l{Ot-)1~hohUjgUWa{>pc6capcVU)y2g8#EOvwq*xUH@aeuw{a zR+{ge>EW5I9>crw1oSjyT;_Iz!lxzVQx2Hs47P?(DoWqSr3|mbtp~z3vbW|(B(f)$ z>reHU>xsmC+?P6AW15CqTil~rkVFOJdEasV zCO98$o59HQOt>|YxZ*Mc~4 zX@T||h89p)7L#{^Ya62@T%2BmGHAytz9_?^@wSW1lA&{J1eE&qD|ZA z{XdSbDk`pR3F7YV8XSVVJHcIoLj-qsClDkM+y-}dp9vn^-3jjQ@Xmc7XU#15JJY+n zy1I6k(`0T%u|3snTSswhUx<;-+R>%Kbq)y-JAbo5y?2D#f69sV)GT*JKkEPap;{|W z8!jb&^9#kFVoQI55zj{(*^HDl({-fm4(?;kA-yQmgG}!@O6+bX92tAihSI}zTOUTC z7$O{9DT;JgEXP^(pO9+->Sz$^kp>KrpH8l8H5seGYxn`gE9g=nsHJMv^!(q2;U2_h>1!8wg$Esd*Xka|QISdai7ozOMGh)7 zd;eB5I>79A5)Imao;uHnR51aHE?B1t&|mH&)aO=12Y0CHxPFZ;N+i;fH+tOS66Gd{ zeiNySD(frS!y>@`WaR}XX`Vpy!8+z-A>{DjtY8jT(oHjk6n%IkTE=gKpzr1|OX0=A zZ+FAT1HDsgU0CDaGNaoWZIjnIQbo8xs7u{|I50=%W}(yP`}q(A4XxkSYsTmwrs_*F zN|~6ID=Lb!H~aW-XnOx<*IX5oj$|mL=ccHEZJ1fkozZb1hPrm7L+|9nofY334wI{3 zX}o}3a8fFy+~-FZFVbPxxhNPkPX*&76#F(43p5w+Zzc&HGgTl@XP70Z;?$r2|tlF-)Hb1nQ0&^;lq$u|J(@!xOslE<3oH$ylpn)GE z`31DHZcj4#`2|0I#Nm!L6~RS@JFl^|T+Y|zd|gh^GuR2}#V5w6)tcd2E3;0=*(^O4 z_t8E)meWiPHGY0x^r(!ggy$!!LKgMAi-bR80C{O{v|3lBO)s*aO%($P$N+A}-dQ#S>3MwI#y>LowkdrU%T; znoH-&TddDDJU;7DZeN4mc{UyfFp7sDa=zI1av#Ch z#>S34?)wq+l6*w-X^aqGIXfqw)bhOIjN?VQ%%;mR$W0QuUxGayOqR}KO^!pR4)iGMarmzzg=SP1Q5@0E)=q08p zbH6|Ls>#eggww2O{K>lft2~P_vx<^g-m#>OKN>@)N4(Mgz7qPjq4GY*^Ef**aWK(! z(e8ZMPe`(6Y)?aLn{{}OaPJ%O3AIk3<}_Ya=cQW>bGa}nzqvf_BC32{rY3n~MPs=V zp%1fL-fG!cWpwt7Pew zjn$Htw2LYYli;VDxeBsl%S`RD*yQ`xw17EnP5KYqJ4eS9WM+YTCcHl# z{dOXu8o_=^xlzsn`60-!UPrmk{_f=8XS*i|AV7WRl=B7ZJK5Vy0A=V{WZFFa5XEx< zW%wAQ6dsQ%MZEjVy)WWEv?mup*Q zdQrRA&#XV_w{fd;6O`9w-o_C=1ttq$CBc^DX`w9QFG6jl={Hde;McmEtF~$Pk=9RK z8ss&wEj>rcEqq{nXFB_$=F3%Q-S%%RTTw#4wQk@w;^64yOZo0iaq-vTOvm=AED`U- z=O~7p*}*S*QFqM*8U`8;|0XiN!+1T(2W+~p_kbo6OO5$3QyfKvS4g6h>ZyR!3t^;l z>rl)@o`@}|Xh*+27?Ah$mzY`TY0#NWL&bNjQKbGVd z;#`vkS`1er54Qc`UvuV-yiYsBh*xfBh<;z*A;d54Y6)Xxi__nVjvyKa-`kc)9(tQ6lzGPvt9s<(96FJf^Rw z$^+it=%=YI6&FWtBB@!#5h$dVB=D}R*`1?7ww!*n zw(9datTQL#;Qok;qG4k*mXjM8atwGK*#ii<-Jk5>uSO?Eb~m>kjQj#@DliuNWunitjgs z1EvYF{Kotjf~>4*X(##z!P`xPP)L7&(z;2JWh0XOh(cplP;yX~K_pgiV%7_Pca|X%d#3<%@Cj2E>hudC6)sNlU1;zq8 z>Lkza z-0LI0USk)(3o^MG|IGQi2tAd`uZ0lfp5bqgo^)!Wg@u>v{NRcKY zWA=7>Ze@a>VDMu6j|V}_&pn_;`^34`C)6%A{g|Gy zGAfj}N&Pc(2KgV0!6yfiVC*l&1K0nw*qyefW%CQFWVKUL6ElB{p45Tvk0uzl@!qDd zxHrcM$JaLEu%vtf-(mB$*?w1N@WIf8AR%GWv+~EC9r3l>E?cqK6t*;F0<9X5+85tm z`J=LuWO~Be7*+=>WgiQ_71cgfjh(D}1Z9fVgk8*Ff?*!|9L>Jry^b00pBPOLXewS# zN@EhG8xY&+gQF4?xxV?i5O6Nl;Z=z$N>~s9=M|1VY}z|Fc*r3Z)d3`LtRV{I_Y=4C zqW0D}B{5$=;-I9uzlDB+>E*QLo-U8r_-`-wHDWvp7bdT_;|s#L|c67sA3 zyzZYlp<}ctTQmLt&+Zy>mTH^#z>12GYo@|4k7P5(m>Tb$^Tk}%1# zU)avfZjjJKboI1gy5oAq&K#mhwLvxj8^gMdv8Q{q-cE^dmE&W;N*FL7J8HiyqL%V3 z$Euf6bOxCpY>F^bGyT2om$2g%Ca6+%M+#hPnmK+^jXQwZctu1Cvis0Myi(G-uCN&gOMcv#}&M8fum?mi+^PePbT_tcpi7a-&U8 zt7tg5qal@y?Vg_GEoWA}h7ZGAlS9Mf5+k~5Ivyh3vExXwKTv0^O?BiPjrW6q#qBKR zC1s_^Dz0caVD3Jix9=ihvx%k7G1@E?jBwoKIaIHn)Ik>09xPO8o#R|`$N@r; zLb|U}{%x93e0j}{l?3$P#pYxT0igojB^->Box?{AC-}V^jm%2yI8r`qn}MGlE=*bs z{gx-tbBxug;tlK*6D$;!piazw* zgRw<|R2n7$JNsklsD3m)&&~GvWzA`OJ*gLP_nh}B9is+>tjTJk7xJ%VdT-`NJiO_3 z)T9QrZ46T$;Pr)kFV5GjdO6TuFSbH0{wBghbvDn- zDtoXB=Pb%Sgdc`|h?p{5k#sa>;7r(p-M)vEOV1MWs_SV_00^MmvfNl((cubWJC|Tn zj=50ly6Zr1#2;Sq?vIOTvN{$_c$amN*4){g?X72sU$Aga-Z{w<2F*8173Ku`>%9WA zIIu@MY;_EH(7*ebM~Vkt5F_0lm1&6v$ZyMx*x9N6)}2LH!BT`mgk_trcg&YD2gxU8mbb#ujS?V-~=?Y~Nr22_%`X^w+hs@R@b2kh$`$D7`jg&+2$x=}~-0VKl7 zbVPW$TTTLL9KKO_k4j%WL6Pa#sqL^*G+wt$gEwJ|0d-Dx?Fv!Ii9t6Gp3iso@V^HN zu_O_VyK;g>4l=Ni(RkhQ|VdVMLcr721 z4f`L>yc|=U1IbCT-&S5|>IKOYR_nd*@~CK~x`cay<9B=e4IKR4fFWhb$nMhG!Lu|= zd94=WWSC3PyE&UJplUO5E`bI?H|tvx7Op}Ovs3PKFFEH^Jb%n&$;jL7hAU$u?pxwpQLCK0sB4K_U|pFhU_-M#nv*0 zgQh5cN(<R+)?R9Wn+!wivEfAMd$Q ze@RH%4(Oc(3r5Ra1QP}nEC3cHV$;3l@As&*0+YeTlByOTyfwD)_-|Zx>(7ZFQNu_h z<(?kWrvqOPx%Y>@Q~1gR-eo68SX~q4oatg?iH|G)C1b(OmzH%jWnT(za`WhA1!Elp z5ccnX&mhG^!yBXllW1XdVF-0iZmU=mn+Wejabldit1CoJPDUSTP?0&p*h7V8_7;j_ zu_)ia>{uh;YZl2u{ND3X4q$~_J6&5kR!5DN^fwquj!B^psvT$r1Vezd0)P!9l~@v@ zm6>T3M_WR3!8#}z6_va#W4Z}7`jD<_$MIDoD3`rG9663p#8I^HmH~e>Fu2_RqWkj=n@H)Mn2g;VK zrqzaK{}g$@-xg*I`tsmPeDzlLdv%_JDY`qZ&H*>ag%D2Y>PCXVVoX|{dUxvE@P8HL z5sBMTS&a0gIBNJ2T zt*pf^(-LVmd=YcKb6bfrGV==Y6i28gp&i5%PPz_nirZ}|(AY^@b5DJ;Gr5TsbM3nK;5YrCf4ed(-v(!BlW=to76!gqW-A|YD8;DuLXFA!MW%ik>M!JzEJbNSHbkz!t4V7B3acTB2I|%+ zmonLu4CRBtf_?HXf?giVkMNumi3wW7=GOkO`KIlrI5D4R(J(lx!Z2yMn9#x>sul$> zX;?c{+mj7)8dDX8U%qKH3&ubukwShm{563&i2s{nIc@Qy`^ILcZ9j+an_kloVyzKb zQ>C`qr;fgAdtYM8(ygIx2@FrP7XM4(J$uuaxX0u3jV+zw}%sXP>k+U~Jo ztb`|1*Ds@2-Qcleu(f?Gm@vOX=Y?C4+f7a1j|1%yr zKHE(*M%>bmj11+GGaIQynuBs{T47tK(Pr?)SbC=z-}~@8Z+b|f!c;#|*_B6+A1xZoJK7^^5PqMz^5AUv zm_FW|EWFh0vH$=fB+zfE-4y2a05^2PjqWdIrt+S6*Hz+c&=CI(-!$X}74x1ZW(EOs zO`NaKBk`_5@veay=Of1*exg~&9h>UhPq0tE?ff$$ISnr|kD|36y#$w+E8wFm5TWol zl0Vp-`>*^ElaN>rI=> z-5{k{cV*s~_0HJ&9l^>k(h;~nm&|zWr@71_$xqHsUP)%xpVdt+_lUUEt|7}cl2=AZ zQIU!Kd7JDuWb>`T_Y~mM&6T$Za8QZq*tu2EfAbN6QsL2{m7}#9!gIa~OzAO=QXv@Z zy2*JYCQD#BkYnXu@NhvWd*9?cE7PUAwV*J5udqmOVnTTwCpSKqR&FJZVnxJ;{3m=V zBm;GIs>nU1*oe&fhQHr|>2PE_97U4;7}P)>oEcgz-B0EC{>01t-Za*?n%`RIa~fG>7_XB3t;ib(#} zu3x>i_`^wck>dxYZIVJOi4d6*FnnNpkdRRdne5Os61MsZ<7v6LLM|?ldT0ueQP62c zXc8w&^_$PxEniy6Oaf2Y_U6P?o&Sk=A3K_eZN2}@Ug3+@19|CBpxff$y8gCCouK*P zpOMw_&yu#f<>(Z@`s_?K;g`^WpzS>CA$auAt-ZbF5$+=DqP_1~*bk&eAY?oP8{6e{ z4>ybHl~z`Zjgkq4j&jU4h5C;{I)HgI=!J*Q=XIgupV&oK@5b-VFsFE0kssC5-$Jx# zkYmt_E6S6*=N+W93Xq~vic5+z#}$)Vu``IJ)noW61(M4lUse*oR4i624(!7e62 zcgn%-_ragx$}MnC_TJ>@4oi{;A$XrbqA?@8F5RGw7JxpS7~YTVl%d!=2ywJ^d!&rJwnP(QCPf@fg+*U7_3w(uCw3$m|sJoq`rK4A39b;w%7CX zJNl1J#B-k*TQOf`Z|=GGzUS_Hj@#@im69-C z*A**^ew#xQbXI(`S;@B6!vB$r&c*-O6B%$J`@a{5BuES+Q*s3VJh&3Q*}2|byfu(m zX_#jy;zjP4`I!gJzotNL2s`ExKHpKETfw;LNd6uc&A(XxBTQaBabm@zO?Z0+}lqcL1+$g>FV{`1P3b(L>LbtZe8k*d1+6vd{) z%q(oMv1YVY(!*R37$9Vt?gi1Fk^|Fy#x7i4D0WwD7@qajhnOUQOb?Mqk?Rj3-NoOX>QjqGHxNtV?!P#-~K7QTV{yac4q;P zpUsM7l=3GT8<9=q63tYxEFOiDO(Pt6D65pz}kP5w*M7gNGvncfBazn%x-r zW4`{&6z2$do)ndHidL%(kN;Wn>Le;!Wqh+k&A}D6IjhjlVmJkp*P-s-ri=uIBi;z{98OsgiF?aI8vZRZGwj4DVG7H$ISoAXGdyY_DA zPv(ApWkgurBMz_h)LPrf*%=a!Dv18P`!d^vR8L3Fo!1bOAW7BQ zRL9pt3|)~cjG9-~$1HC4bRnxpr?YcsGVKJ-?>i*Ro^k)5tQ)Frrj-V15kLU-5#sMH zsX~9^bb&aNVs-V^f1i{O!$=Ig*#@XhR> zd{fwFJFWb-RUF9Flns9d!u9v3uuF->2KSu#h<|zhA=Au-GfbV;7ruWBo~SM=2Mdf# ztaB8!1>CU8pRO$_;_nPpuHEvC){*??Vn537K1Jkz1hvq(5f1N)=#W&N2C<8@lkSer zXZ1WOp`!d-#$Kj=ovxYGA;OBECI-#B?;y@k+_0#YRH!R*njk%vj_i(dqrK`CTfg*h zxH-BXo|8lnBUN&!>^S#MIs)z^c~~xaI**Tz#nwDZOdd*1#YohS0P&b`d*7jt^vK^k znaK*h?qFO(s50Xv4u4U1s@Ye`9plc6rCqPd3SQs(1k$A%jO2BG(C21*e~ZEfKY0fu z?kSrve>dusG1)SrLFKQ;A)ZMcCZu=>l#~4_r&beL{pP?`V3>}lCA%H$PxE~syqRJndcdnLYtKkA|Dgps<8KfrwJ+F0HPCB`3GYlQE<>|7ZYR}ecpV!^D$obGHdR(DuOdp2VFGM}#ghd5&EI z_+v;(AMP(aIS&^cveVrI7GWest>nhuy+SmczA3%<-R$>r^@9T8Xv9@hcD(>OQ6axm zY{F!D8wK*?5kv~6dwzeZjB+^t+Vr37nfy*B=eO@E|4H)fWOMQ>W*am)R6_n&|ziw2DzT}vwSFM zpyD(1cVLdNJf6L()jzNbt3#dJcSfD_iuCl4cZsZPhCOmME}OuQ`=MhYz}d?XhN$`T z1*3RiLiWxxoYr#lg4)U+ra9*&yGmbBYn9xtpRP-c@!<&x_lB^^yZ)oGt2x$Tc z)ke`Gnlvac%*z2pM9Yd}&mFhqsUwF#){x%6hoOULB>gx+)YOQ#WY$QnocTN-ic{0; zX-S?_z-Yc^p#nY6_c<80q&6TJ>ue*99t_x^lmzhmfqBqg33Z2Dd6>x_D|F3SY93xA z%@0-z@nRu*Zl>K?fo9>UjwBI}wbmqn`^psbs=57+FHlD&I7WTZrQbWON$fSF{WYUA z-PWw?$4?Drc!a9%Pa!}T1MvA8z*!2Ul&O6-m!4R&AlV(O-R9_vkn(7ZY-ZCejF6Nj z6sd1Zg;agS#)Fc?NJT<%!a4||LOfYvm6a+D-Gr+AEB&h=ULv=u0R(GkL^GK;)#1vE z8_Giy!YefSa5e39r)|w;KTPwu>N-Iji$7R;h}M($DIp~hGGDbK<63-Bxx0{aA=g@n{X5VPQ7Nhs|N`uomZbn&UB9V06xM*LESj}InLxgf+oFxL+ zXG@~vDT^3pWIDHY%q1vT*t2xO@3`$tK>jWaqCUn2BZLF(Iu-ohG_^3V^3dwl&aCs` zYHG{BwXPRz4t{B5W-6p)_h(&GNt)4lFpFQquh&bhDQb}SpmQ46 z0||zD^cKqyccCbu-ws>I&-q^aTNaE1r+H#!=b!2x;G9G+YP33$F=lwwplW-B)_-QJ zrt(jVt}gH0yRSV&ZA@I&0E1}23Q>2HI(4LN@mwI3cWh_#p>tcDG~zAanj{J`(@VC} zp&9+GqP0O?^keYeDHl6gehq2$+(nRga|GbM$y+5CV%f6?H`wo`BXT;{c`zCw%N*3c zag{h)zhU)F_ozjN{&XKX(1cQPqj2R@agrSgZAx^>ov~7Le?w|>yk_2V+O!`-g{+TN zzzJMz0(P&uc%E1!n|W38JBCU$2lG-$n8?&TtlGOMkrCJ=By#FrAAD_j$%6A5@4UQx z)nH%$XnbIx$D*W^H*#SnP8YoTI|#xPJd7Hhn4o2%ORk>eDJU+MgR|+Pp?B|eov&PS zId}xOJ@%;kyG5WjZo{s9-Wcj$mQ0Uyl2IGi=%kkx6Q89#X?|&n8{5SnJ+3k zt3Ahc7jk*xr_&_G42Wz8!nF5Hc3p$`!R0ubd^L+0kbaO+Pk&3f|2wc&t$Y9F5>Pin zpo8zR9+Ag1Tyi^`v&q6~=>)XcQ<> zx!Ea1222}$`dd98zabYzQnRfPK)y$DV?*AOHD24uO}~CePwqX2q7WQA-S~!V$I?L_ zB(Ju!cbWB1uhionUq7bKkdnMI^iG2KRcHyk z9!2o`mS0V!F#}h4Ja{D^}KOTwG#RZ8yBFt*x-|aBMP)Px@YPd0Sg>k+NFz ziz-UKgw-mD>0C_lQQmFZydG04`&;Ftsp!7wKrtH_$*PvEV`vj#csLhJyts9tfflht zYP{{P9rvlKW0tU0yxH?bWwuq<_i;cq4}Ma;Aoz1+e_C9lA_#%}P7iQ`pujK3=V^_#wAM_H7VFc8upciH zqX@wz@5UZTjj^%l9PK_ZAVs1^@;5u~AU&de6G4I1`!71Vn4C{_l>Oa~A}B_Y!^C%2 zH^g@PO0;37AZC*-R<=u0s27<9#BdqkwiO(3HiW$00SzCVdlkL#u!}ElMdX8aQEpAL z&T;;|2+#2o6OG21djysXV0J=D=L0T19?)$uOfqCkc?w=o){2)v-a99bAcpI-%NTe^ zlYXBS3>eb93d@V^{6>;VlDqFh7Xa<>Fg!83L0FCLoK4zanEvzMGD+-B+}bv3sxp=3 zund{_Q`a?R;9J#M+3H8;l?;OhFu|Qt0tK?cxncqiwB>i?!%IjQsk`e&PBuK})K-3; zsJd#Yw*j2ZD;b*Uht$`*{k>4}&UN>(Mw01$c8L+=K3RT$TgcLC^PzEYarML5X(lSh z`3e&Ztgw?ndl~BzYa%YL!jE`5KE8~{N8G3%am5uSslD=XT;E^~6ydM{1{WwNzmy7DQ|o`L;b z3xF;zL|t>IH{As}PB%K9SV?56>OruHJ%=@R1ugB_IY%BLB?GuwM2ZrAj6fv1omZ9k zI>P?>y@Q;SC^1;BDMeU3_2>ZqU+UE-Tx9XnO8uAUxuVRxDlgc)zeojb)L8Q4U#B(= zj^CM=jMN8v_bRd_4Q0P?A_k93|4eyt)wf&PTO&r>){hPQ65f4d>SpTIcDb^DX|M{A6VEl3<4Qa!QYbJUfy6k!Ohk{I?_rAnhlbGzNz|Oa= zZKITE0l_(jT9vscP7?9`TVLP72lgiy)4me88UD z?MbSIF*=;-F)rAox^?G$R6fuxww2kfpw;T|KBgC4>0hYYhNIC^yG9KAI<1)J^?uBt zX%vlkqoUtc@nwBJyCi{w)6d?OA_0BGbFyR_F)~d(r351Azf0a;`CJOX|6o<1S)b0- z#;mVDCYe6GqK<>tZjl$zp;wTQ(7qfCtF?VIb!)&io9_&t_7!Q^God0buDNcm$_(dM zwghJ1@ZpZ1c0#;o6ehC0dXD$lwB5^39Iuf#kheIn#9mEcrN|j5LlDBh+Q8^HBgIwo zppWsy*7$uIO5!oCXl@{;s0?$&+wzWTv}0jl6iVs~7c)rli@+~6&rbBf2v*sUos{K zq)@*l!yoDPc<{R#)<}SQ7gL_zJGpMy73j}3cpSn~^VHp=e3gg+*f<&M(LtL18 z4?*#^;DIn`9B@{Q5ax!~&T-N~^sg8}&LLC#$8Z(55;z$que(llc1sH_ z(Vt-{Q!J00PN6cDlOH^}pYvu?PhW^304CO&`JobrTvp*Wc4nw=c%Q#NOD`Z6z1+jM6rwbtY)D)*8nImos%pK79KQVcHGPuYBl4JBN z-GAG#fpHN$BVxY#sXN~%rV#ZwM?B_tK|HS>l9kxupVginvIMn&bvrV2 z(S?c76nXXY#5S-6@xP5s7GQSBy654^FPrrkQ8T&xd6n+UHqdMQasPbnpk2_6;ng4ALMaerJ5JYs--nm*bKXzAXhZ{a2qVxAf>E%3D42+;j^Vq82or|QNOW1` zR2wPVPb`J4_xJSA7{N{`ZRbHx#&}Y#8`5dD)<6$yydSq z@qPR2_?Y>*QaQ?suXVv!)J^Qg*5hAk;`W_>;P~EwJwL7tpiB>Ki7sqS?Az_|ontn; z+FnENe@{UriynS9W)1UAPJ*vkb*NKRyo{p@BZs_mt5_zlum#xdUYsS@Z+@yU*2FB= zbWOVT39lv^HPI8>xdvR#duHDEaOs1F;)MJ^$8(d5=w*4e`^HQ@qO}E|vgM`O*GnyV zDsq$eF8p;JU)EvUmdbcM@309d6qMvK%e-g4U>$vHt83SH)1}x#yv{2{Zq~In5`GgDUUTdfN@h@8~s>-T*Db??)5k>TtFZDo0h3!l1 zgm}@h&H^m*dc>TxK-mR(RKrb|fj)BhTu?7cWOH*SXqU9%M9Pd!H*kaMyC?y~UG zEJIV|F|8e~j9BsHVE+8BESl1I0UglX-i0>7>Fa==pP$S8TYg-O>WAb@BTvNSIrw8k zV|N!ub{B6^_W1rZSLu)pmuFB@&1SQT582x}G`wXxq=D(#wPR zeh`Y&dr)>t<(h}`ZvWAqrnWBi;Y0w6ESm&b5_^+O?UM>EHsSuH<`_B=a-~4N&(8=_pspkb-NALE>a3IdX}OXA6n}iMepo%Z zmb9>d3X~M#7Fmqkj??ZMdUvqhVbwlkU=1Ky`#2hbJD{JL)!XOUZ2aJa-~F(mho7I=jj?!+?uC(i1W#6yUEMpps9-r zNIb6dM&BdZox|OZnF-#MXJ$Y-xkmIoZN1Z>t(EE)>DeYv_F&+opG3CWlyvKle^QMp z3t;2TD3lVgk>;`MIo5IJJ^UDXzIN39RfDn2*Az?sH}@?kcS_c@H~3<7=P6AfzSQ9; z5&n^T_wN899^Oz(vmr+9?W^uW)f3?VCk(sg+nz;rs6`aLt(%&?JXa!&!v!*oXuU!oQL$-DMEw`Th(%E-d8^u+Y-im;%% zK5mm|w-Z4IVP`~G61Xtaz(C)`dWu`S` z%Q>HQ!pd*fws+>0Ms?gdj^gHjbI|A988_7`CGTJ;Vw9A$XM4=<2bG#VeQu|gpgp|q zzSthXuZrn#qj8qEVOr8sy1>&Bsi-L?mk*i1J`>x-eX8n@Z6x5wNhcTH79{sECxrUi zp|j|@G#d@QzcBJ*`0YBCl;Q(5ch1A87e=+XOa$nGZOuq#Y0pAxpQ(<*drkkdsQ}lu zm|D12)M85=peS*kIo;q_<@(!s};tiAg7d z|Arv~H!8FQxgMH8>%A%VeH$o$^XZs5Jc8{8?5FYJ;kihOLTxti!f+~L8J(A*h=6z> z=DC%at(n)z#iH~2sqq>GEB^Ni1zVHUE3D&GOY9-?g=FrXJC=9DqkZp&zy8#Wmab;i*3RqB zWUT{y*uehlJ-{+@U~wd-WS)$Ui7$qH@Tg4xno_TSs*A>JMta~SgMZNkwn@otX8<@U zx298L+pR@h0+WCKWPHroSR0$-KjUV8_l;y>;tG;qm0gY-Co?e7klo1ulgfKk&a1hN zn`laZjyY1mPjfP80-2HgXlt^@P{O(IeYv=mt(E88$ zHemOArMKbcnJpW3C&aN9gu^6)@EpCx{~n5OYu0b0Ux%XGx@DD+Aq7Jfn2!U_?J-lC z;mJ}hQJUeIm^9fmLF?t%0U9X<^`4I(*id+4gNDrJP>>I-&u9S1`8MzHMAA{ZYAOqG zN!~X<<7X%f6L@&T4d3sXiUWHX$UMb5a0lchjgUlnL*bp&RD@4`ZPbolVBC_MB-|Me zdlr1yw?dTv3wHDLDX6ghKAap}-_`ae;MIxhs%iN$$a_>!TmzEbFcoDgj*l@zZHKVG zKNCo)$*yc#R$0*o7{TnYXDjG_qgnISuB-0;ybE-MhJkGS}M zo0cnO`mT11u0l6GAALS|AVq21yZmO)9&MNBzkHc6DYDb+&#k+5Ojj|s7DZg31nwqb zs`q&IitB2XxMM%x5{HeeQM(18WM`HmrKddPOzYVJZO_17qaf&`lie4p*s3mA(CNi~ zJmb3J1Ro!RnQ-|JEiC2}j}It-=2~Io4b})HELY~js^=KyeTgU59;olK$W!u_FA$7b z?+JVg8bS)q8n+oHDgVU$o?bWn8j^NlP_Z^;NA37Bsy7zJz1ME)vu!Tg z4mNSS@nZD8V5vUI*Rd-N?PftBTx#FG7U!mXpGw}g#0?d|>XztU!G>%lSMGX_HeysDp!^S z73bK2$MI4x92l@&ySO6eU2!>J=tz9LPz6f`D8cVS-NWM5a$nWSC8u=9?J|AxH_=`1 z+PkF7)(wlKK>PZ1je~Mi%^lyUFc-zo7eJda3ZMCPF)|kF>q4@W7@)9{N#*6Oxq)Dw ztzs`KXiUGz(sxN6BWfJ4+Z8@IJfPp(UJdp>6}FwFM4McgR&jc|bf=M;E;z79E_UuW zx2PeLSCeJAw8TY7i3hvUpud+ExT}!^gKB|osYAg@iTO^l`u*M73gz9+;{ES9$v7(B z=1eQ|WTZpz4r~sEymTn?L7@jH0z#z1hc-uWn~CQ}GIM`y=0)41Ae&Ho8(f(&*4D5e zIV9YC(0omoB@a6BEWlz9S-vBmFK@h%(sO?Jz5K(Rk?Z+C4ha=V=CBe7?60-Rhe3d= zC4YOt&aYS}=;A902b6ear5CGav!a)hD%US+3$b~s!N7&?2=h&#(NZ5QMWkEgNs_qP zpOJt*qUd}w%If>{P-dQnu{lv}-D!#6btE57bic#$)HsdPy1tNiV^FjH6`rwW-tvW#GVrn>44Zn5=0Au2&U zO{vYQ0HispdFUz%q**9L8G%YNW5gS)i>nn)I54ejAQYT1l}zX)6r*+UFGZ&5sz=_~ zNkW)QdFxT#{bdGq%_1Yj%;qp|0JxGJXF%KVCi;7!iTFlazS8|Ou2Xnku z6_ge8oAVJYdH@Tguc+qfb+9}6C54kF%QEuTv`ku>5i59``)?T11*}3vou(JzV)DD? zvpGY+)*+=#=u%VD;Uo~-*9mq#^v@-LPhQ`qLiA4r!n&g}2U-i&a-oQYI4mrDWr-v% zjHl1DmX$%JSTOlgz*Vhcdt3Zml+{P>bC#c8JBaMCSnEgT%L^$Oz9$-GQ_9NOQc7RB zcf*UwSRLSUU9^y=mYiXG_?cPa%3 z?KTnO*TGJ!^znrM5D9XoW;KLbSzII=EW3ddGtE*|+iVD4d-imr3j0+}Na>bQTsBe_ z2|pIOaV}l|2z5cKay=>&zT|Ulya00#t(RVWiL0&e%9C=;RFozpRr=*;Q?^+W(cQkw zCRbAH8FaHv#`oqyR}=1$RHUu9E^7?3Ot6V_>F)INV-Ije+PHh_lps09>a7sq_c_qG zm1jg=OVtk!1CH&JHSIW5EGdU|9N-m2C{91CTz8sh44?;icLoANinJBBI|U|94XJjr zxoGQfYmyxe^GW2=)lH{dq}>a?W@#OMfv2rBSQ0XRJJDNj@D6%@4<^xm+*)K9^b7-t$Ni%V6 zyCfP$EI!B7{ASYPK1mOxP7{=4sS+1=MH*ie{%B))8^+akoevB$oZou1(@6;b{E4DW z-NkqOQP2NgsRlj~-UF}EEpuaT6o_|iQ(IaO(hkIW*S*}1p*%H8&|9+;hrho5BQz3M zDAYMw$sLS;xR&ZRh}WF2;C5 zY_{JZjL-pwvMjJNEtC4yWH$I?n;)Pj+PUz7_xbd)R5ln}VQ8v2t(lBUnuDw4tFa@2 z7 zM7osj6eOg(L8QBL=u%3$OS-#5T9A&RQy6;aj`#TcKkr<8m=ALu_Sv=eTKf(K1{EEr zkp7TbmjSk~`rLNLS+BJe%?34QwC|uE3%7qYt6l~)K>eZNQ>VQq63{~2RL%vw_*WeksiEEgr~M8ERF4e8 zBHwm8fAL1GbC7utZ{DI-rr{EIW5KsAe)IoX2Qg;LT>Zu@v=P+Ijq? z#s+Ps^x#hzFn@2S$`Zd=`%_6F{|&?U@!t|B*HX?5d@)$U@wS!0_wK1wNEoJ@X{IG7 zAvX0JOFCvdC)VK=4))M#FEcA!s~x1)1fS=-RL{*MUMYE*6i+`ey^m2B#Peybx{c}E z^*1uuZI#zWER~}@z~8BMsNNhLFq4fzH}$Y$UW!i|ocG8k8%A4eZdVTRNtbf6;vSEs zfMMsL&#lIh!;eeZ$OU{?=9{f5N-5XycQj~D|NMFkg8utqarC@TSsQ2cJP~xQs*T{$ zh2>#{d{;WZz*_T1OHFP}uN?7oHRpOv&t3PbuJY-)X}(iq2QkO8!i40jogx-DH~06k zKZWhJ!TqoIT@!hxJBqE1^&MR3b-!>pwW5)GLpcO~t6@=S^7o zdvzNM$Yo5ylfNZofFqB8CArK=_hR%~zbGP;Hq%ax|{` zQK0*d( z$>i{siQC&)5C{ym{$GTFqbo$YjzOU{@tN>IMas z*#2CGeJ!d-rwbt)??At7&8ri zg-K0@H?&YCI$n5kr<%MjnSDKT`Ir5)|a=pCP zw&*lMd7F>Udj&tFZ09RcaeTMU`i{`J@`lbhC~-?vHOfW>yB=Aeu~56vD!ULmOz|wr zOmJ^F!(|${!qu5)|D4I=)O9TF#uSx7KYyd;EX6#qj)wj+UzgkJam><-xl5`0g1RwB($^y1-bdK zZ6B-l`Gy_S?+HkJ2kjd>BX3m&Da682NFQ>ggG2lyoW&e@8xY0fkSnnxFx4RflX)wD zBMkW(Fk+5*q7Rx^^C55;UByzJcR9S7g1nVP;QMR0DzxqVyXil!)5V`RlOU4j_M?=X zU1h2Fs3rTsL-KiVc@n(P3b}52%FQ|IAIzP8BT0zpq|g}YHp=r^#O^pl@fRt7Ffku4 z^Se97mYgWzW{e7Gld=t%buZE3yA*S{Z*jGL+0<_fX8Vxsy#;4xVhI1L?$x5kY!AT@ zlUcdES<{7g{n;LoFhh^HmQ+lN<);^|F+1Gy=mUy7#} z9*ZdQ=wR>a#cM~uU-;ejEf1!{%?;Wnq3I`G@~4aE|-Alc7FvVb7)5Syv?YMXFF$^QY~0$q`>$x&ZRv6_3aCremB4^EXKtd6BmR zH}T6QK3&*$5Dgn5XQ))YfdAueK1%e@a`t?F~pf^r$Lqjy)+ zfX2y@(A-xBLG}bzIwsY!;x@mYrz?C;=FkH$^Vu3?8i-jdK$-z8uTq!#5*7!VH}o+Z z+D47guwLhUdb%0SRfXF}R{?D9n!`|vFJl)P7HsS+g}y$FwTowe_4%@k^1VsF9hO#G z{hWabcuPAvUT!@1YM_*t3grIytz34ZsL%Du%tfNCU65|%gWfq?}2B||NsrwC#lnAFGo zt(NP@wFBDI1>dtl{}L8pUt< zdj0c2?dA=5V9r{>oS%Ry0ITm%#i2Yl@1pZq`17u}XR}isCzX0zU?)Q{FHw0)Wn%>% zoq{k!;33?zHLK5nE>ReM2V4o$Aa?*FHs+#IK_d(3_8T`0WuB*VyryqyLR@{ErN^Oi z`y8ayRs7-V%&d=tdxIUQOZ9PGK@8aF8Q?Ha$^P^DT}xC&%?)m zA(T@>_T_PFV?F(2ri^e&ggF19xWw?W%}><5P_9{oXayW8pWM}g-m-7^G_!D=*r2 zS%#}kS*MoQ^}hQ#j60U~M1BhsMVm6#B^Poh`P%%6QxvTzROSrEE0-$Rtn=5LF5)pQ z<@Kltxcb$}&OVBNHPzZ_ZtdH~wDsyWMVR2Sw6`iIzZIJ4{CCD9W;Tn9_+Wh@3v$6& zZVpz*g0lr9_XxDoye&r^3SRJokHsUkCZI->=EH(_WU`>V`!{YIiL<0;|KKDZ$w{Kd zIRHb?#EX$-G&G5rQ}z~~V7@o2Tm##&Ya-&y9gjB8(7iDQBulBUPCCxPuhYi`{0lu; zB$|ykwB2NpwOGUul_nH-8sK}lpDfYoT5F&-Xo0)~Hd2*!zme_P+7@qGvO1aJTk`1+ zEqCjFx>{qR3(!g~hiD(>$3zAduzpb*-Dome6+5eXALWsxTWubU=;ZkEEh`yw1c4d< zX%1@xx!O=1pJ>8T^g*CGa02`b55NNA$s~cVZ*wb4B1fw_5d$(i6qaD+Gz@e>xw8=_ z6TH_^wOn0AY?h%T)b;sU#sIOGT@gs$f-(KyIGv5uZRn z8$(ewYDX2Fc_fwLF!P|o=7Sn)Yi_Ps6_+9{PK$noxRMQU2aH)fGl!sGc=$1KnN?F; zy2ZW;k+)|wh0oxyT|?G|o5@uVp^A|q?%Ni%=Qn~Yqe-kv9QW2$)AGbOeFggWUVgX` z6s&ao%MAG0vv3OgDw4LAw{}lc;Mnt$Ztb?g8TvZ6K93x*=9jl;gp?>}8+n9$ zYGrJ2cm2RgqkMUNHAToh?#bSbVMxs9)uND>pzfVbT9|o%V9!0@y*C$vO8DMjp+f4k z&Q?3w<&g*7W^>%F3{|tsi146SZuF^hkQX*?VX`Qp-Q;=7bMAryHhe~AX+Q5DGHgLP zFTN+=c-+r)HhBw3pmv-UW$3rNALBpV92Wqm&y59+HZs9I`-8Xs-U3&GqgH&HC_@L- zEOFyzn)bG~sDG|UU+ngRD%~DWcO1^!ZB9_AeRPo*XWk=+5x|%bjK^M)l`z}TIr+a6 zK3?q~lcV20_ylT5;ZERdN?4+8)aS4ffUy`UPEV8nKzFueU*c4LWEye~5O3`naG;{S zMmJ(`Tjrr7X=m2kFIA_Rj^Cg9>-X5N>E&UDVmCxO+-864|*LF~8mtGXl#~OX^ zCKLHv1t;IEe%p$ris}|~a&A`qI&^#A_8_;kBs*@8gY9v8BVSk0a82BDYh!YEkBj-n zlZUIjthZbAE`oFsDg3GAwU za%P!c>ZTFECDfIh3dFxSWX)Up-o}Y35z6iX?*ZtJn28qiA}?5{57IDVeARtp z21wxo_3hOj?l${>3b+xCFKoVZh3oIJ{9@&!s{9+PJ*o9ky|m@d(yd58Oj9qxU0{Ux zoT$>kUHld$xzFxS|ER^Qu0Y^ikoaa4;gi^Bc7>WM8<5-rJm2Gqea5|sS@D695W5)R z1bPPTUz{9geh+&ut&Y<@qbvG#VQM19&v~7lNy+EPMc=dJRJzN=43b#CSXUBEJ(&NB zrF7?~YG0pxxv#O(PlJqLMLv}9YYsk-;7{pxt$%tf2^ z4rqoYH6-(@)wYIkjlv<9Ea*#U=TGq4Gh0)8{Z8HfTz#mFuo_M}>9)#&+1GFnlnavx z<<;V=Kg!s;3n@yA;E`|Nw4y~^q3eCiXO+IZz5#+|a2bX9&~dx14O#-b1`euw@7SHvINWLaEyN`w9VlMxK(i^gQZ-s2k6R#AD(mewPtY`tI-WRY zUnTk-TU*)%{h^s3>3J58vl~ExM=nO`{UN-|Br9t(#8q9?9x_QLWw z9EQ%VnY;p7Ro!VtwSXpLIE$0uC)9n=^B0nP-DW+{fH_UNJ+Z?~@6$%<^QapniDAGP zI~(_WNYcN17j@InJiWs#eK0!A#6D5=F^BNlx3Y?CofGq-`E&6h=pg;8?v_V$qG`Pe zY53`mbvVdlukDUulC^MQ9sNT=4}Ldj#W}^~**jS8j}Xg1gC540?9rVSmcrXuKu!o@ zen?VBP@z+7*jI&Gn6%?oX-0bmK8=(-oBr=mey&w80hxgM^3U4kpN=oTCo#G#Qh!B1 zVB|+V^v9=v=AkJ2@==q^p@UBPvo;H*5^eYmj6fG8)%Asx<-?!luF|5RXVU{5;cJ`i zX|z>++|HD+GW>a=O9ZWv{yXRKMk8MLN+bI}fG>)QfO(*x%Z~$27-8>S{jTf{bL_rV zXZZKy@G?iK!t5k{Uzo?Qb$<&|wE~mo_hYi>y9nX$anb$A`&#?`FS1#}cj%ZN7jt^O zTU-j5f*Nhl$N0ny&y~6@sKyx7Xd5=z!daoMd6<%23oES8Z!DOJH;Fy@y- zvLr$o`A-O}bkY4^hh8PTQkpuD4AG|9;p9Ifs1}h@_$-viX~Lz+g_l5y0Z27y=}xrB z(+8rwQOz%1J@)C>Zfi^hE|e6yY~TB=ulTHR4t*WSQel4kzie;#pJWYNO<#_vvFC-K z|-S!$PPKzWh|!&Zp8VgD#OWtihJfzj!hpsFs* zI0$OK3uW_3V-K;FXl;I}%iOi!K$d@mZ_s%-0(F%f?%FdBco)xTSZ9HgkQXUsi6soF zLsl5fe-SZC3*dVEI^(U=0&DTUv@1jnhbt5mp-2>?dk`rTp^xrLj_tHLU3mCPbb6HQ z^?zc-9_XdRn{4?Um9n&%uf4EWJ!&F<=g7wb8;d?tSPsf>q+5S&N z?CQfIJdmO;qD-&^2}EZ+iXG}@O0@QtcKY4#Z&fYhe#^YB$7$ea(I@c4;}io4)Y$qK zF6PLJ$gJ2vPX5|gXQ@G^-`-Du2*1a0&EKRod)1?7!9ZO}NurC>Z#Q#${7&I4YNHs& zjTMjVnOmgRc~XbybnY1BnVM^OA=1?n<=RmTX z%S{*X#4HAlRST{8+<$Jdp7C%v@j*%SxItgh&tS%TN_QHygdB3vm$Y$)i&uQ&axYWk-{dhws^{=~%u&!^u>m)9luV95b? zv8!LCgNB^(EoYGxkJs`b1U5$-uMcPmKlW`^^Cq5891@aV9=4VIMoIR?%fU$&VAJ~T zed|lY-t)GeXUvFo`FB_u&4$3D0CKZ;>t!S1O2EpPSiKUOsmkoFBJ>&75eh5X8vI}# z%5{Kvx^-8-vlOidz*5Np&{x#dERcg4w|7$+hqd*h%^0t^S*K}nd9QB=-kxdRX4A3o zYMX!G8WNL1_|rxBV-U*_vdM24;SGi9qb2zhNsnmDQf$AfiJ{5A`V#5M15L#8hp{&s z3Z6x(W9?u<^UlN6R7@)=c0e8lh^wbp4dKw-##L=!{+`u&5wL4=9|Zh`WEY=irTc@T zUuDuZa6>hVp-&z1*j1H5j84No%@vDc1Xnf+XgoEw{o*#`8dF18sO{f(d}#X&iMCLj zS+I*-CwnTBcZgTz(tQ}Ki!$m2Ou%{a^w+;qFBCkJ;#cnn9Q*dRxclqTYPU>< zPP@K7g?9v$(n~DlXAEH)8s6KF;XgP{iZYq(e^ie^q~)XqF^1;iweO=MU=hXx*QEKh zP2U1MD5oyi?!Tj*USGUSxwLtZJ&a~peakZUJ#aA+Im9t}$})~e{G-C zZ}vBjBp^mauUP7f9(8r*P0%{I8sP!+n$u;<^())CMz}vPsr#Yt;-G)b`nn+>o<@E> zg_PsWPj2ti+jlr84f)${1z@b`u5sZ$ueetP?tS|0I^Q&mX2nJ-)wsXnU%| zfb6fm5og(W5w?VBA2QlnDmh(%V1_`%r>OkWj`%HB>Fkp@ggfBs$P=&foK*epH1uy(tgf z*{*pFw!2azg?cAxz>9De%IBdA^N?i}fw{Jc*b$al*C!8Q&~zVr1p9o$twZqClXGe| z+3PzV0?KmOfcAnC5F~`VuL`XW2pLfB)!OXauq2J_TBptDZ#`#&LopuFt#(jpgaeYn zzKt#cN`C7cYOu-ZCCZ4UDqRl64uxTn*!P>D>z2a3`)Dim>(WD!yn()Jwp6?4-c-D= z{Og?${f!BSA?1Vz<>@V-e0xu$i~{t!PwiZuhq{f)?bMow1BEFb&%0zYT~hW3r!;S+ ztXai>Cw#F}Zu0%(mkNHqk#;hkz~=OGrgYjj^Kt{TvlH;d6RiB25Y6tpmyA}o^Bq|@ zoesWVo)Gy7ZE)a;NrcRhBslmU#8hY2qrUCq_)~1?!f#G@U=JQnB*1<%maa;}NKn?6 z$lzZ`;LcrMxixa)Oy}SEx+BC>-2B5=)DPxNc+om*^WIbHy?V{}(cpJpKy@MvT z^_9H+i8gETD*SwDZ77#HEXlq(WGS7oUA0trYQ2tqy5vU}@!70-AY;4qVt{qjqz|h* z6mSn5DpmdLlxeL%GfPBWYc)M>9vvraf9(@Gkxk_@AjQO+qFj4-8&R_BH|KkkTur*( zxlR;3HaN5+0={Edi_Nr7w`vb$xje`H$f3-1wM&8wDzwIw(JTN<9 z92sZ#T0o1})>iE5(f~#Ks^1HbZi7iVzZsV!5K)bHBj7JbDk;hvB%yTcgum<& zaLL4dS)n6nhCKGSPehvKR*MSdNYh8JzOBa(Q<*$i%7NG)`b!PMKMXL37_g+shDvI5S;MJBu#l2#xEdXZmKQ2Ei?a__>?bJZwdmSxVU ztnR0^*yAq$MFj*6;iM$xAebBBq&lURN-e0Rup{lXA9cxQdD87EQ5q(zebTzm9tF(! z>t5Okf#QDX?;_J3R9+1(_({z)@4v1NuGTkb%A=v4_mWY*UG__O! zh{cXLvcfA3mS6+|TjHIus^JVmpHMW#*uo}&8RVg@UGct3);yHdNER{Z+I8mdGzoHi z*3}e-I`e}aNbc7aXJkF-xUY2pM zG09AFTjph<-26(iBR{n}4Wgv?zAA}IA@#TbG9PY@1Tbqya}x5S(Adrc=VxfKR;#Wz z1y={Nv?r*a<*DqfZ{no~(X*pHd<&d0c)L^ds~H(q-zd{)D4@I6A5U=@3hffqHzQ{G zVB|gW_JD8(HHTqE=T2gGLWlYS$`S_()#E`8Abx)Epok5J@Kg|z#WbpLaAUy-F_hc? zWE-$rsXKZU_PvTSp5bz1ER;pRU?uZ}rO*qZ%ICfdz4u0@4;3?^T@en))9E5hRty(h z|EJs(pwvGJuf666jScTLXxJs`pbO0n!z=rcV6vw%= zmWm{-RU7ptr?N?As)Vdt-8ij^%&!N=BEB5q94@KCb|PV%jq992DDWh0z)M*_=&uWj zMm26v%oh)(N(YrIsKLZTH7BG(qdnlQB!*E8*q{Kcj%HMtGTn&0PI?D>NN+idzc)BY zv%F^>0BiWI&9)2I?9wsT#rF7PRiTC!bUN~3oGe_BJ%!5$X&ar;^urlEP43@!);76k zMUXcu3skqwKAj>rD*&~CJn-xLTXw9jw37?5Ut0stJ{AlH%kzR}(+4yEX>?j_xM-YpjMKiD9W4d#=s_09y%8{c8n*tVGJmM~3vJP#93 zIr5wt_T`z9`1WGwdRn}09H>T^oLU-4Z8ZzGmx~q*orD6JLWz|vHOwr5|F*3xsKaj+ zI|x50oFWIB*>fL0S0LbUR-VU2UPfo{3y&3kFy4Ag5%t0?^sC0jU#P(FzY9)m5!-*_ z-B27l|e>I zX+@MEDV)1STU|Qo2;?-p$#rC(CvVJ$dcd*)IRu@?BjppPSq8z*Rh$>%NZ_Lw!$EKy z|7kG4a?2(~Z52zvU_ZtVi(O#}4hHqq%x^M>E=F(1$chC}e%rlgGuj)f_t6KG+Lvx_ z_VvUV9y@yP(tfS_o>4jQ!P>TUwV+`dZ+Jx_n&qgU?~F(WSh0!LpD#>aQY!qe9lYJI z&}nOw%m(I>-x2sur#^~Atmgssu~)O}W6Bdul@&^V&wcMk@g2Jm79*<^LmnUer=W-AWT(o4w(s#_GZn$Yfc=d|w|W@ka7S zeONY}xGl6I^+Iji!okft=keerO`Me6?htz1x2h0vNK0FhkbaBgY_7sS1Ru;d4d)k| zF?f-qcvbSiw{DVKQ&PgJ(GX<0#Mk zHESy-4$r5vD^}A_Idej0LKBpwnJWpA>%g)rwX&^=G7`5j|BysC_hrXoN_|nv*b*1b z48KHBcSsx(7+88z;_bNNSQ1l`_3Qi^DTmA6==9TeD@yk3;ZZ>T|FI;>sD|R7jgi_H z>*qIKOxq%;Yye={_9AdosGXE2N;F?;!($zWz>gwy?931O#Q1ERey=%NYbV|4EeGGL z+}hLG^EU{dUk0@q86a8R1EEzb^D{&XSbslEQYlJIb*NA zEHZ^8dCrtKe|c!J8MzYW61_^IN{!t%SuekNtw?FPck=fX<3)+eWA!BsG|;|I=vVDK zGq;2GWu_LJygvDLj_&oC3Zrkh*;|i=2g*djBe#g+cOcT0JGPZh)MP5<<<^J%S4V%j zx@XSA2~OEpa7M%2@ktBU6C@3`#7$;esb5M(=yho(4aJYJB1PJ&BRXQSn%bD<%aD6> z4rAwPx1iN;LgJbUSKgsqKU~CC)%%qFudbeWS9AH#yh4Uu0<{_NM|M6m5w~0^t(?`U z)}`{poea}VtL4wImAYD)3rPOp8bArhCe5Eu^$`xUMi#YI7WJ+waZ6-omRIlY*A+wa zjWnY)VvUO2S%}qp8Pq#9170oN(AsA}N*EiEBmW2)<1UIE<%$+&fbe2#oZZDr-jjD* zrhBtHUT~bi^tu76nAjmn$snuV&&Z`sI)%Bc5Q>mq$jhmSJKI7MR#5K+?Q#NGkx8 z`ZaRL9-_{Y*q=8fZ{pm3W@=SiGOxUqmLywYOadA5AUKNohpm77czeRc67CVT0~*eI6RlUxz5V)CL~YbUO(s7S=PtJrLe(oQ&*^&v+()iGv^2yDfG zBHA3nZ?QDMLe~cU?>sntu)^}TpVy7nwa8Hv++CUi$6l4Rb-=bamAlD5qpf#DbS%vA zRNv-x$cyE&q6%9c*?IsMj&sf|SDtC1gpM!2$W6So}f}%URcZ&w8 zCX7ZDC%N0S^M>8p7VTh1sq`kaJ@0tKz~KtvE~i&u>b z%r1Q`4`9w#|0;B1or?X|v6q{fLN$Sjt2c9J-7lP*jf71gyr^aL?s4Hg>j;k6S79te=S!1 zNWP|hRm4^oFF8)%P1`^7-4nV4j-VUBo(9o@wX3vtJ&BRUnRGg!yaQEd6aiFoK9;VjPLC%$u*L;hZ)n*Rex&B-ZMucUAz6fn$EgpwKuU;8_3h z>AQ7kTz9iXr7$JmeXf=3^9!3I|>H6L9gy;Z*gvYkqNpMgh++@??-y=1j;~ zr*igFPCv@GSLjO;ID6=vicrWhMWXUgJHgLK+IUIUuU+AmX|8^l^|O?{MPJqOuNL z{HC(If+Fok&cjZY#rhE=Qy@tq!=YFtn}fwUU*h4i`51ufgDVfjsO0o0u#f1%db~t@ zuo6SF#A>0?IKI^_o@oSVcEk~NO-2ss$W-ts=)N?g&q25Bnk5aqkFD5OV$^VRF(rfd znTX^c4N@>^zSxTg&Q^368Y&tLQDV7QyML>jQ&pJSP!3-jzXK`9hLI)y-*)t=v|mUP)s;T9!|NP5uj=hEaR?I=H*Ktk1UBUdYGfDnEt(gZ*)DiE5Xp!gSiKTz58TVPrGr<|1Rt@ zdH%Bn6ud{QIezvJ0CcYZdeS+!lloqKNG|#9Q!uNKs5mgG4ZjT2FeAmmZXVbMAYe`y zo5Sq~7fanap1x8Q-gY*ZW6SmX{fBRhah`?LL0Xz(*6H3k>AUoo!g2Ov&HXK{ZUy4f zNPzLsLECe@y$L5l`33qJ1C1}@0urh^_ZDg*$FT(3!g9sg1bl+>i6e*O2W6x`wvdkzteLU`KcR@nnoa2~h7dZOq79Bs%B1b*g9418086i_iFseXrJ zYmPEjB!7Icd45O8jd59IMU z$-#ctX@yvwWV&pG={L`d>5`yF)bB-Y8z@&gY{c*rLV?WSs})6j!h2>{j_u#w*kAMjVtjh?Vy%LdNEZ}mpGW4Z4tVNVrsg1q8xt?AQsfWN#n($Avu9m-gT zfpfWa9ylf@I2_e-g6Vw%&>Cd|y~r7k=*yL7gCL+Q9?zw+e&(r&?r~Eak*>PUDge8uWQ99X*bXl3rlInEfbsF{m@HX%Sl^qD}y|HL9}e?OcUbB5$4hADLiPPZK>w5zIr zD|$z59ZmrLJT25JACmdxM^{o$T)urfBhLn4AalO>D(@=D1i+?+tR7t-uHm42_%?-N!ZWB1I75iX{~la{JZo6(eM8$ z!ILQt)EogRI-H?a%U{LyjuP7>`XjecvpVE(Rv#pW`G+D?OQt}xLu!_J`mpUfUo#M? z+@pJixLxbgyPgmvIYgO$2~})c7e=iG<{vhrB=MK}sF<47q_~8Y5(OB|Jwfoup?VJ( zRsrzktzQG&{09c8O5}>6>EXhZ$3%)3p30^!aHl~4&zA1=v60##zFSlTD4ks3>iajygwgm2@92-gGDsd^2?6=mjoQAZ33IvF)Ta5O z5HedUw-TgrI-(S@{aPQ@6E2CoFpAfE{ef_%E3wr%K=Zc>qO&txLMVTCKC3Q!A zai35AIUE^|1RVo}Y$WtTf-?pSKJtwD_GmpWBB6i!1Y#QGPAE8N`Jq zxhQ&nvjgWO0$2y5^hfF=Z8~WQP`_7h5tR^34zEgl8Cl2Cww=ZDF2%|dUj1snKunQ} zz(W$;759pbA@11kG_>9JmyOwl$=6x5jRB0^;YPCNsGA2qTcF7I2c?q!-{y;YCeUke zHMxq|s)gzu>^$$Hl~@|s8w z6;t);V;yjrCQ@oeiM6vu1d8<$S{h5=<&Q$2u#@8Nd1;vcB!yN3nvJE#-TByr@B$}t z*!=WLILuN4%?|9*f}z26P!N_wO^KUwSV%zjlVxGk{o7aL@FXRQaOb@~6-XJ?FiI0& zR+Yr;#DGcXIP$Iz3?ZoEciDT2TyZh#qocs4?({)#ET)G|OWuA~-1kr*t#*lY1Y1W^ zNSl~lsF=?F=QoUlO_iA4j&cZZM>>7?4X&fWS~D+FO}jSHNa%+*YHUndNJ7ngiw$qrOtpt=0`>h_x9C%Bn_d_ zz_#RPq@Ye1ir)!JB}#*c<7E&LsPR%Ao+P--glMGM|5Hqfm;bG zds+*Sl#L@8fVw`A(Ecy^{mu`tr#JjyX#acU_x^K}mCf#gbH8m8eZ+D~*-1Ca=E1w0 zFO*TZ5^H5v*>dXE-XNwINFe?+a2vn_NC*K%#hV81EZ;bQ!1pj{`Tw7k$)=<`?nuF; zzeqN@hPDDG?Ubcz?!RJ9kBYp>m8hOL-&|S%KAFgp7)1ZRWfJkO`$IlCAoIfP1Q+96 z!v5jh-d+|c(?Y&B)B{uHdHc*V<)F=}w2BNU1s^L693}u)9DjYZ*9U>m?h)s~f2EZv z#i?IcrurXIHLipk+%IGKPM#RT%x|6>`Dxt3O&+B!9DJa9O9X^D9EgzJqtpEvM_-_D z4TwUE{-@J*k*)o7kaJbyh_d}&LN>BFr*ttBNq|hE*-bO$Cg z9xBHFWxaz06#DF3ijp&l8ijBwo7jWqVVKMzKqm-041ERmCr3O$n{#x>wevPtjpa{@ z1ge!_@Bf~_V}bC$8Nq2|*sgW+(aJiV2e+1=IwU+qI!B3^Z=R@|%Ckd48{(#>5Sgg% zuq6paZ{`snMQfv2Fq!<{Gb{)NO(uZe`_3TJVn{%x&ps)3p=~Dta2?J{ifGnq_J(T$ z0^jIB%Skl#@AcdHCc_bFLI@;e84EcS)xuf+wuc5)d80;x9moJ%k(wK2x3(hG$K@*x zN~CaZmlbZ!okaW!eCD1|6<$jDz4IrlP6S-b+Q1^XhqH$GrWdbF=f*bB3O95bnN zOP_HOvh)#7J5i(zzbBG4mDwHn%+L#PSIv2TuZczn4& zp_dwe5ZbuCh|y%Od>+V9k6A35wU*^0o%-4`d zu)|R_D^HoH37k%z434E!TvRC`m;YqL%^ii2JoiyGS2G%mf7ZRy&&PA!!{RGTvF~*MbMegD-h&hyXhl%^LuuMu zs)xA(KVG+&JTuzvaEGT~#IaPum!;#wMkGc3R4*rz=2BVsSL+LUlrkQqEBb;p7BWJQ zzdI#6n`!9{h1ddIEQ@+QUd74F%V+KE?960+E(ZJ`l97Gado&P(2tY*;sm}p9KD(tm zqF&GJDMNl#J;tJ51-kbu73VAv(U_CEy|2L)bu56RwUM_mWD=(Ixa-8845ufD3G!0- z`%c@)f0t1vr3X<^iyh3CzFn-x!N3}2NhnReAh_}ZGCrl8o>G3rvVC-M}qjx)d*7aK(ghn93_cg0I zCUNBs9n+K@QyNlIwM|nRyg}a@Kb`jeTFhI|*_i+u^z}`wxGpSmU9|rF-aQoCudaUa zhQjYw4I#EBBEqpBZ>7~ChriYND*EIBj6&g~PUtid($eL7JM$3c5AHq_6lJo1(Ex$I za8JG37;Jt%{Wdh@hZAQ|f2X11+UK#s)#7g^?Er#hkUj5eC5s|}90k?zdU|d<&$ABp z3cP#BRHPEkJ$m(su8QFOWT-R%^8lpL95@h(C>*Bk@5WK$B^3e{sn=tI^xnn4D)W6< z^R<@=z1LS_76kvIoj&%O4xIpRu@VD9wzsj{cX_QcVAr_TnubhVx$Av()j662d)XVW zUHJe4RnP|nE(^S5?H;X{^fgB?jA#p@dG-`(DPqP3{nrzrAY>l5GqG@9V$+o`u`fBL-p5F=9HQ_V%ImdZz7Lf3)^Dsr_(C35+pJ5kO&k<;dR9lDc7foHDMKQi-|~G=1$Mb`TsvO9_!BXdj?nrH@)XE0{)}#^XH-%MkD5&xA%^tw;!-EUm#Kc zH5>~LQ%b7er*XG~Df z7yKTvipMcx&9yG?yv~BT5QkUY(uq?~9U9?h){7nVEnp_!_2;Qax!Qkoznvz4rj|^! zb@F*_UAR`2)s3xekM&J{_PyrWau$4wx%#V(y6?{1_B!aDHi$F->t{W9k{|au<-|)b zkH_?yQTge+$>vfz1R9S-!kc=R3ZVsUnu*d++;|%JGDqnYWB)gOn-MwQUfz#deC~XH z`YYxa)rV6Q3zMs_&R}28XD8 zFKuBL(o(*UzhneG&Od-3&oPSEy6%IommzEoqyx ztTXE;)3BZDplW9EiJ>nW-|1{6b#iI^K3DgBZZ2YO_X7C4cY3<&6fJ;iv<2$F>>HLF zf}sj{REym%U(U!jJAo~Dg$$nL-DDv%Y+z9f%yauYU$B*Rl*tnk!&uhW9JK*x%DoFI zhmOo0V6HnS;KoFB-JtW*2-O!v2)h)l3iS8@Bh;dW$e~a|2J9~|E`JW zi(PHm9x4*J?Nr9q-7fF%NNy}%CTeWFc4A(UX$ROfvl!Yqi(Y)#crIJ~{8sa-f5&#q zAG<33UwpoOi0g;n@@wvWGJRiPP<;3K>aS^GuJ^ZIt&-YPy-aj>TJ*;9^C^F=4F0k* zJcygUrv9T-QNK)G&Si$U{OfPldQWDLoo%)Z7+t^v>i&C6PTKkJ8vEmYtqYBT>Jub@ z!9St5tm$28?rioAAa@*AYG~|C0+oLofMKgJTekH|_HMsM`KX$zn_t8k8WIH$7__e2 z`}Nq$49*R(*@GztkRHpNaoffkqYaXKtUPHkG+o{@8f4+*k;biBm8XQ;r`NN zwfu{p)dC&T)5OrGxn*vjlU329qmS=>2im0pw98;-pVOw7q6`d+L1yKYs=vtme&NyO z(`I{_7!sxc9lA1e9@FiQz%r^(;DABnwoSrcOypZrE^7npcSi z{qm20Zpf`-WjJ6Vni|>nTdsi@o}p}C?DW55FTMZkYkBF9vUhD~$1yS(}m{6=fzvf+u%aQwapZ%vFuhA|) za|IYIo=HqR!4IBHK0jB^gmc~#%?&?*p?hft!{I3sCY<}eUHkp9^LP63GXG|dcwp@} zmD9jy;$(lj@?ZV?zFqoQc>lQD5nv!rKBITRp!MJ1M?1g0xBdO&)Z+GUN1yY*m4Ch0 zX3LK+MJ_ELK!yU7T2lSTtM}u6esPb_@Bd`_9O%gJx;5*J_iw1UHgg{XgO4yHPw>0B z^ZzY~t^M=x((bR1e|`SOcE9NOtQV$Ffkw>YOt|sv-pl?+OFKH&wrpB@7T9_*XOigX z_!qEk3ov}&dN43EFidDlp1{Ds-~kL<5C>Q;F(|My@-Q$sa4|_RFf@p;7yzX;ITCTxkRCXaa6--D2*nK(flx4YK#_@qxHi;Rf?_u*#%!Z6&(zEei`Tl22WQ%mvv4F FO#pgFl7IjJ literal 150516 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∨tw-O@9p^bkV`C@nD55Q9idHv`PRdER&L{T<&Q;Kv;NnESrgwbr@LC@StP z(}ENV@kVD)O;$9btJ+M(KCXY{${AfeC!QM59%#msFG?C)Sa{8o>@LBs^?rOKrC5Fn zc~;f?%sEV@I-u)~SN`t-pc}*woWfbo_Vo_l?}y-FB?= z_Ww}!P*ppQ^DQ=0vz|PXglZMqw9xTEO|G~nGHu31+Cth^Pt%JB@L2jDB_HJJJk5y* zw(_Q~fFENx0O`q=G`nuh1Y@AF{@$+TAWlpdMhMh875pT$DysNO!1#QLr}cZS8)j~F z>uPYY`NFyTX~)2Vd&-hjdc~ECe<^u>*0qU!4Zr{f#IPCeo7aG5aUd57@Qf5H{0!zz z6149#Gr1ON+KB#(a5dx>UTUfAfKYwy_~2wcd%0m0%vO1X^9~qA-T9QDwg0{5nW_i} zYXm$tt*Ogr%SxzQ2O%)7+DL(+hu&?KSke zEiNIJ#Lcr+wch;gxG{1#MRX$~zS5yo|F#w?;7#%?GH^spcn7r8(~;TGP?Lj%2EUuRsjKfvJ#3TFUhyPR`I-g+C?@BNd3t<0z!%#*J2?2+uJW(ZA{F}%fE_*W`sN!wziGY(SKu5 z`M6K%{5W~3m2+vsQ%A6ZBq@ft{145anA~m7fV36yy4hz!K9Eq2Wz(Llfq&;haxkJ5#=tzD!}FlG;uQrio_U?b7`nJv}i! z5!zc*uaX%4gkD9#RE%ak3bCSIYXmD+u6Nd`Fc2k4#8(J|a5g*?Kb#tOgN*LzkW}5m|-`u`~a2Tu#UPk{CG4zf6 z;^bm*w4LAgN5}+7oRejJrt*!3&u&#E7!a$*a;tU;5Yv1b(XZ^ z4dAmZZyS9(!iBF7tr289eIA>0tI|mPvt_GxwttD;+#xFVcwr%L*)B<1Rp7OZ{Uo`- zZ1jxn5mDzq{8FIi6OIcEHVmmGYOVaSGFAjO?svM<6V)riKM*h^3bJn`3&KeF2PAb% zOeKkoSHW_kF}vU0FHZ|*tcxLldJ5?7ZMMEO{TW-x$p!es+-=*>yOIdZId1+(E3swe)PHIVW(TC8z&Tfe_?-9uQ59(cDRH;B}I%F{&e#t z(+l-NoqKg;(k_HL=pawXlyTcRwJXtHcy6$jz3zVggEbQ$snbOdT83OatBja-ZVE?CbqjT$g`5 z8@?6Pjv?Rv&*wmbn&rjNFTx-SLz)n3%uCZtz`JVU1)mq={T(F0cWOrwGraBgtTlQZ zhwr@%m7Pn_vG(DM_L2)IQXa&w;t&$AY5-978sLaaR9(yy?C!QS&jF4Z1jL%7^Y8Xc zpnC^(<|?T+Vp6S7uiW$ld^kf9Utxs$5w1xcrC&2*QWJ`>YEN2&8jvcl#wmuL3kk9{ z#4THy5G^;}xCU+gk&5^t)j_88xCJ=p3>Q!nS>Vx&-@V5GS%Khx$Ja095Y+A$-){c4 zkOO%{WQg}q0*lBYI6VSCVo?K!K435K%f3h=6jR%ptg$J_9+ix~gl+9OsYn>B(Jo_bz{r>Hg9OyXpgUQiteEBy= ze&WejfCGGGJ6pmQrBfRUPtP#^Cr>3I0XP?QJqh78$vs&`V(W1gcEpoJlJt9xZ0B53 z7c)$2kveyp{_6p%Y;Ty0YMAy64?q;{aHpSIKuE6c*vdQTCq7yyvRCe4KSgUsRCWhfmswPBdU~va4y?>7fw?h*ua- zpT>wtmE@U(x3-Fm4YM&a*g*DAXWKT!Btrnc+ObTV-NR--b#!UBxmdoG@mHqj^{?_7 zXBf{2rNIPCChTFUo?1=5b?9AuZZLm|3fU6{^+wKL_4I59QbfjUKi}|6zj^@_W?pF) zI{oaN?4ZlD!Nh2RYBETOPBgL3_#$&{b2Vj&$o0O~sTIMNlp40i1@4wUb?&@eUpbPY-L}RQRwbts6vdA#1 zhl!2W5kSzZomKS?le(w#!MKUGwWwpJ-W-2to9B(@E4BiT0p+dvGv}2CE&72+zs=D< z_pUYY9`z~+UHRt*^8$*B{F7fw6-&S7vDfND<&Ki8Ma!+ZYCRGk<^}2ib`TS4~xs2q$Z6 zh_7czI3VBd^Y%WkYQDMMTY5<1(6%hw?S+jtIF}2uhcvUZ?mb@MTY%5GBC*)#y7-g> zYyZkL^*#J~t?9GrNja^qN};N)4TLG9HN|{my&BZ?B}mJM8d4yqA703#*hH-pL0ngu znq34*R3mb^*WMPghd&PIbKGrTP&hndQ5K6t%Jb6pN>f^yHKi{%Dx>ucSNP-ZTtF6ZKsolW{k>JaQ1YwE_{78U` z)`{x6D_V6uz=li+#!Uqi6yKj*aS4=^(GY-?lNkOF(yw`gkOmq^aiqF49D+)%>&&_< zJcdta9h{B6A1`=etpTP&Q96!Gy4e%6J!}$mS_z&vIyw#vrtRqHXy4&oL}$EtG_H~U z4z*c0J3A(JY|&_i&Y&KuckQ=EpRbCzXnWxfmZ;sAUw8F#~SN`rh~z} zo(b(r`kx#`LHJXVmm?+(pxZlaGyu=hdGnFId06&{WFu=w-KHg4JhPo1rpXgS2(PcG z#|P}qzf~9@y_iksFY1@6B#&IDdgH2C@y~jIq>u)6L2cgkm&HAg3WStAW=XUDN?-fg zo)vYl@h!P~gZc;-k8(}$1MZ$t4!|S!DuL}=%}^|LS113XJV{@V2VZ39SHkZA>A&z_ z@*TzEf!$4&)W4xqMrr`Jg;ZwTv%43gKE-P z>ywIzO;Al5t&h$;$6PJawF_Vnyq+E?T0?6JkFv&K%K)!(pobd^(eAjdd)()OosPwocsg@Q_>B4oc=g@Q6Js9LCutSKbxjGd@VWW` zxBo8g!liXTp(+D9hi4gSHfhKX;h~QOaKBW%ANu{Yi-tfxLOt-_IJN}Z-JevJC66>p zSHafm7@n`%gs({>m!+S#ZN#~x{f>044&J@^^6o{^ErAzyg$4!&mQUy$VC8$e*VncB z@7|3}NMcTrNUi4Ui^g}V*dMg-O4qWzD=7p7noI_uP%(gnsyhw3Ad3@(-@y^`0}CeOE}f#Nsh7yBpypOO8>W5srYE!a;#8)4}UH=ZY^pSl(mUGSt07; zpz89c*9|mq&S?A{ia$q{m7t^K!@Sox;EGKE3XvAj@q52fWP1(;x(PSwL!}7J*A@Bv zJgkYDlIZ_hlFR|NEH(gx29R4$0&b=41pReGu@rUK0Sd~0g~d$5I6$QR_9@_?d@&$8 zPxWyT;KY{Zdqi$}GuAQk=?q9=^pg#01M3X?Z7!jnd+x29`ECTnlL4Ev6KD@tf0Lz< ztvG)}h03#kZ@67%l2QOy@>|vhm1$ibIz4ySwezliRYaDEu+BPFFAEDrvjn(0m`$9R zY8xik+2)8tDtrYX`AVKz)Ea@_DahDl#ZKW~DzYHwd(sZRZl)=G+4QGNh0Q zK%sYc158%Yl>veeZ%cSa5L5XD+lX9x&F{6|u?18>-I#x5i+Y1O-rx{;^Tc|WeS}_I zQTXRAp8pog2IodZnLG@)d!4k`j9q*DgM<2l|F!<<7ZEvDF8%gcPN|s#VAVA|i$49& z>9N|Z`%HbX<(b6u(HStf`AN~mzM%+6R}?%=e95)9bK^T(d|2gaE!LUxWnmf{`VUCy zk;BV(L=WmVq`Reg84;yMP_lL?0WMY_0X}KQ5I8(OTvnlj1@LbK+6AI<7CaW2FX~Rm zEII<&%3v=eP5_@LeE!_?`H$R2rt&X)jLlq;&6ZR>19NIGz1M}|RGHm79Nay5X_NYfKgCfY z?zvpy8~*z&PSqE4B8=G{$Vrk)R_8w=tMJK=ci1HghgG&+8{?lpCfTmU@urNfOhj>A zhg1v|zoB4TzEhMTHMuq7`}LtelJJ2K_?O0wA~r+eW__<9d(c&~=T5BQo)#VbC>^kHFEz!lTZv-|OZW{>wgW!1TUN zhcy546-`qWhjC@{4wb`kr#g%1Vzlxp{RJ6FlPrG3ulcLURo<~_5G8f0Ix3*?uFRab z5h|TevNi9NVCH#dvSue`Nd)xe#>+2NC zaX}C8gw6>EVwIwpT^95}C0?sBh>#KmC0}UW*Q)xJn3N-Yw1$s!SsmFqkgI|sXR6Ai z=dl{Gdo1$AnKyPOkBmyYzK4Ao$0;nUPGoe9zht3dO8(ugX<>g(FNM4)!_t31_|9mI z=it|k&8It;T}J21(q{;B0DpZYb|OZoYt-6>#fcD~U3yCi@7A&Tq5Dd52}3qJ!(E4& zDdFdL!?XjXugCsPMY#AOi7PYS6Eu<49V_65p*pzKvNexTxb-u(ANCW`Rj16hcYf+G z{MS$)uIKpg>Qc9vTVJCJI^>m`%0FH9 z(C$6u(u>c=ts;%Y>ZDrg_tt++2~#BL%Vkq2#2AnZ6H{i;ypmD+QnwkVG6)e-u}>+U+B>b{K6x6Vp{2)*j4 z1ysSrp&scQcm_N6DVDiY0IR_?ze-?Z%~lb<@JOaf9j5P^h22v+HPWHW1Bx17L+oFe9N@?>&Wxg zzU12S?tuQbVZiCj+oZFzF-%buk_vfr_c3Ma!Bx7UAl%p21d0pfxZDY=@(psxU+uEs zGHT3Q@%n2MZxZC_VAgez1;ifCddk9gnrqbstNscsskD4IhY{C46>C-SS&3?haH9<> zeJKMO`vU_C3Jx)#3amPwBzX%{)?2mQ^0v@0G;~HEE9T4kaKq$BSQ%`AAw&pT6-H zAjhs;V}qH*&%b`*ka2MM)P&8!&b}30@*(c1VS#!&#s*$tXF;3w_5hpAInBxV%a{6( zy=K@GiaL^fRY|^tcnv;(8RtHL?#GAAcECwpOz_4%+B+zL`8a2d2pSEG` z5oidp3c5vQ*eo?iB1OHGw)5tmoxTOIE_|qIFG9~3qAj!1*%FQzj{SQlx*2rXgL?0g->f84;u9B2S`V#%PSf0~U+7 z4oT(KZkG9cfBVH~toS##8QMy!suuyfPwl0)jamdE2JxWT#a2}McLv0(r?oPa8%3ap zAmi5B%P>NdEyr8-;md004KfIoKqPDG)t1VJrghxDQ!LM>)1z1d& zz(3JMq-pV%xgg}&!#uE^U?p#SAf>jPB7Ffb+r~=XtC7Nsq0nLl$scaerl&HZ0h6c~ z9<2*_-|0Bmj5}3q!6C4R?}c{Y*3kXrOds@?v;a|62Z7#arvDyam8oyDNM>p|ty$qi ziFM5iYdvf0GmI=)MoH&!jQccXuv}YK-T0RA7InG zM`^MVR*G+z$a9l-DSMJkkOdCYc^G8VIg^Ldoa$D`6|+mUQ;N!o7Jr42S^^ed07}S$ zJIqroo6R4NfMOzrnH!Dy}=^Xfi5R@9p;l1%Kfsp_A*&2IOFaZ(42c-6|@hbkTH1i62ST z5yZ8CJGHU~ryB)L24;d%RO_-Dqm)+1xd?kD02%wt{onB{X3R%zOFQobt!Ie%*4&q- zSiu+{M|ltWuuf{Z`1IZH-Z`78gKYGRv|jDW!0zY|i9ESo#hSqs#XU8A8802l3TZdt7Sp-H^{!=iRwSsr!xBhk?)7{#_|) zq}>3$NH-hc?B$T3MLPlECTf$b6LH+j6~* z6!+~YdG^VN2@9khdN#)W!Mj+Y>-N)Jn~<`C-++|>5CIe%w3})eu(I^d>CVspxn^ON zZN21gaX+}?+x-9CbUNRCcjvKP7qst07lsQpV8wQnAx>!fC&g^Ow4%7-#xvLVk}F?n z-Hdc7YN8%ia+jitYuAGRBN*oRwCYu934uEFOV!IJ%DZ>l9k3hc9(;2Mm)%P8$x89- z_Vsb(86y?+ewJGnXqOaJQ4-K}w6RC@Q{pi2Hr0pvrDU!J^xlP|!mfCTxA5TdXIuIq z(JUtK3BYI|0|-0o6wo12P%7J$n+8ktX$k}~Ro4PBdIkX78arzuvHlRWz1dVgQhlqPdCffRB?wm0CyQ!x7@zDbkIJ)qo=r z{5U9sxGt6>|Qh;sy#-jD4G=vr}zCn9_{1?Mvo4AzN^!A=}bT7j&f_6NpnQCsWaE4 zBOr*hC)E32&i|V}HNX}*N?Ab~nby0UAX%B?*1PeRC*AP-@!O&#_p((eOjVaY4dmSmQBRTA0562#{`ynjtLRs|%=F2aWR7@zuE?mi;FNPd zVx#GCw1-P+tQuy;v>y9H7xa(&!YUZl3Y)cl2wlHrhgo6@etPi6o_xihVwCLo)66r$~5IGPhO*~DI;tS)98 zl)^JAtf&&|qvAU7)4&O0sj`8qvO*m0E$r3oRM z9^bR1=GdQmo4S44Pqu3mxSbT1??Yn!q9ZgLO|~Ld8uOBN^z+?1PNE6~M?p8)wrS9V z1+B|BSe^bZO#znm{&L=hX+N9%Rg&u>ToQ?8Ti4O_{JWK^Sx?LA)Bl_E!}+kyFmyt$ z{@7qK_XRs4tcxrabbT4mYv{Ied>3B(SpAN(}955kumeOHA0Bp$F=PHkAb;J9rrVBj6cwJVLL=p z&)aPWJ2L=5niHUcQs-LOgCMH?6k>~a&i+CP5-o}3*VT*Kb(7^u~M{KN0>Z}AfM z>ecZ80m$Qrgp^zD_Pu)0F|8`=wRgFqmS;d+1-u(KlB;ffDE~rSO+Xraewmk)&N4rfXdfJZiLP?+K`q+{k7kR@WcFRq*vE-4^-uVrV}LCK^1)oQ6}@1eLz z>q*x@J6+&`F|!fn<zw%0&feK)61!r40>0r+lpkm7Fh+O56*2!7s4U?@Gv=nG(0wI5 z)nMijfNYgT7{9f#Jp-gDYVIK@Zm~Pyj}~bz--J8KDM5qFf;9p@HkbjOj|y9p-8j?p zqArJ=ZOG-x--Vo`nH&Q9()CnuFDI1S_M@!+Ap+d66{f7*NWU{^$~}<=Y5mgKu;9R*8}XIJ&4SIC zhb$Z}ef>%LkBPMRz-?P13e2W!?)EKPRBTr~e1?6@5wM^O84tjNx#`6%i?n-vz_$hN zK>7Pxv=>%OClAAP$x(&^B~NE{Jj-v+$zv5 zH@009jAN9B{onx5T72^;J#YUNjrZ9sW3j{IHo6}X_MkXH8cDlkme5E0RwAbY?Oak@ zAP=f`BHuvV5HuNO=ASX#n@)h03gY!a)wC)$LdrgVBt33k^DesV1DxQA-btKW-ZBkv z)D#z0*G>w@qJcGyy`yWeoqX-#LhV{)p`hRbeznVDJAlx`U+2csD~#ZC5#acr{TuQ* z*HJDC^qHsbcFXGAO>G!XBgIKyhwYu z>DBA`-h$>XNK4_t;MMu{EX>?NE>WrUhXsw%mvuyc9FzB5=DUMN83_@U39znoD6Z?5(SLy_3PX#l-}_hB`v-v64oSUy9X7 zVBywj;U!V~<@#Edz9TJ5GwGwKzKS=bZ>p$2g z>W*qj5d0Yf!S5sLBO169UqJed*IKtyPL5Whsn601UMNJc&HaY!Zc@DRlhwpgE$s%b zrW%iT`R1KN@5&QoCZE0s{2n%XZt36|HqVCZTrUr`1$R~i=4LV(Ub*ij`bM(om^~Jz z@5pe9*f=VO9%9}e-j);qGmvqXL z*pC0PwS4{m+gdihX0l+d(EVL;-4hqQT9~vkd-pNyZ82KkphOPs)c4+^CQWEdQPeRy zc@HUl%&=WgpS6X5`yaZb^)UPYqgp1}{c5V<<)sX4{R7_uF40ZUOP_HvdrN{8B#`ldKi;`}2~D!dic^P&sSh(fj9)qRxbvVewr@ zpbEA4^~4Cjcg23n1BwP70V*Uqv=*=i^WP6!md2ZlU0XjVHP$mLjQZq-3nu0-pFdgB zqW-$`2YNC9^jl)C+9UaxwLt(KQ2?NqJmw1H&BeQ-HJU&)wT-PJW&-fx?>xZoOWo+^ zB_4qmosHjOx&7`awG7xJ)Qs9~{RJZ509rsvk)~?mqr_WxYRgp&o>*(*0n#OLve6s} ztSj0O|1F}bDulX8N|Q+fhjD+s2)>qcfwDkm8 zzE@KbDQGa39fBa|75r(7Zxs2QrSe`|TXod~-_3h}Eh;3cEAp(sfRb!K?R`zTis2N+ ztB_c4x;tSI?S#L<)m#R1LaU?cUhB@E>ufkG6lMF}KJ*d#smM+VJ4?8fV%~IO(tde+ zSAH~|gcy=3ELyJIXmX{Ox;#Gpo{X(ycU>WXGa$OLzoBHtL$}H+4}!-o>~PO87c1`28e0 zMxGK?yUkH1bk4b;8qD6(&d{nUU}r6LUAqy;B=e+FIw#v8$ClB2`*MS}b>p4!NCIvp z)uRi}k2@E6ak@FRhe-$;NN~n3Wu@y#BetX86LGb%)%fL9Zc7=R%o$B^PYE}2x3#ZBcguQIzH4lKB=C7ZzE1%&( z=F(lC6Pa#(yoqO1hY7O1X_gbE1W>oik3D@)kQ!#wP%!oG@aXxYb<1g>4TVZ`L2kDX z0)#Mv&4zS6&Ik>HM@5>a1YJ-R**JrqBI&Fx_pY_1NXjij0cG$gOa>ip06?myKO#RL z(%q_4Upqe0WcvsC2lqc*$5WG4(oGMUT*HzfCCwPGdq$cn`+O`NI?FpEcsF9m?FAL# zd~fWiH82r$ov<1-Ic}z*&bhoHLI$s4D><#tLa@Nu--MFo<-eE`|1WJS(-=yk{s3-Di!lpZs{N|R98-eb~AkAYW-Ad;o4dyziycV)Gz#i z|F~a1sAO=rfH~luzteg+Op$8ncP@#X30m7+|8n+cJ%K65q<2u}v}lYVzt5#>>vhu{ zG@mN{M(fe5e3e=Fl}BbUT8Gj#$Tn-QPWIzcfL}3y!YGZ$WdP8dY3hR_Ykc0Cv(gno z79iMT7qg=N0>}yZ3e=TAV1S?t`3|VCemvZFlG3bAi?VHCW0n3$jK(iXq5G6TiXIdd zoWDn)vJqEs&JK~%?-zG!HaFa#doTEkMn11OkB4=146Iwxv8m8V$6A9+PjRHfN!(c+agY?0YKptwK?)u<&;%MVe;x7xRC|_Xa%pS z)9b2TI}MaD8jJ9sVx>2vcMJuY&{`OPnDsjpN$y9w2B&^icJE$!bf11KTgE(zNkhdg z#En3Xyw7WL-l4b6*(K@qm~CNMNnmhrme823wpATure)zUh*eT-ZP3o+!gmM@c%*7} zipO|oa_YG6(u9_$k>P(_Q7XLK^u|#K<3}?PMTz1U4RmR=3-YL|s-paEPjH%U1@CWv z|7oG&aT#T_24dc+#`0@GnFSU*eD9gRh4Y07AF~MVeE)>noFzI&O?=gt!{7hYY2Z@m z5f};eeLnXsKZV&)7$1h<+l*9*eu3`@6d3DYU1D94TEsd-!{v{Bhz7}OS0l9OkC

      qX?8)w8qhq}P{NGROSs5S=sJAx=!z))N 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 Any: from IPython import get_ipython ipython = get_ipython() - ipython.magic("gui qt") + ipython.run_line_magic("gui", "qt") # pylint: disable=redefined-outer-name # pylint: disable=import-outside-toplevel diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 7dba1784..1d2972d3 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -152,8 +152,9 @@ def test_editor(qtbot, plotting): with qtbot.wait_exposed(editor): editor.toggle() assert editor.isVisible() - plotter.close() + editor.close() assert not editor.isVisible() + plotter.close() # editor=True by default plotter = BackgroundPlotter(shape=(2, 1), off_screen=False) @@ -803,7 +804,8 @@ def _create_testing_scene(empty_scene, show=False, off_screen=False): border_width=10, border_color='grey', show=show, - off_screen=off_screen + off_screen=off_screen, + update_app_icon=False, ) plotter.set_background('black', top='blue') plotter.subplot(0, 0) From 4774de74dec743f477ca316b7be4667394328229 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Fri, 4 Mar 2022 18:32:52 +0100 Subject: [PATCH 060/125] MNT: update linters (#150) * update * split * fix black [skip azp] * fix isort * fix * fix pylint * add more checks * fix codespell * fix * fix * fix * ignore * remove cruft --- .github/workflows/pythonpackage.yml | 38 ++++++++++++++++++++--------- .pylintrc | 7 ++++-- Makefile | 8 +++--- pyvistaqt/counter.py | 2 +- pyvistaqt/dialog.py | 2 +- pyvistaqt/editor.py | 2 +- pyvistaqt/plotting.py | 12 ++++----- pyvistaqt/utils.py | 4 +-- 8 files changed, 45 insertions(+), 30 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 2d659db5..732782f0 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -11,18 +11,32 @@ on: jobs: build: runs-on: ubuntu-20.04 + env: + PYTHON_VERSION: '3.9' steps: - uses: actions/checkout@v2 - - name: Python Code Quality and Lint - uses: ricardochaves/python-lint@v1.3.0 + - uses: actions/setup-python@v2 with: - python-root-list: pyvistaqt - use-pylint: true - extra-pylint-options: --disable=F0401 - use-pycodestyle: true - use-flake8: true - use-black: true - use-mypy: true - use-isort: true - extra-pycodestyle-options: --ignore=E501,E203,W503 - extra-flake8-options: --ignore=E501,E203,W503 + python-version: ${{ env.PYTHON_VERSION }} + name: 'Setup python' + - run: | + python -m pip install --upgrade pip wheel + pip install -r requirements_test.txt + pip install --upgrade black isort pylint pycodestyle mypy flake8 codespell pydocstyle + name: 'Install dependencies with pip' + - run: make black + name: 'Run black' + - run: make isort + name: 'Run isort' + - run: make pylint + name: 'Run pylint' + - run: make pycodestyle + name: 'Run pycodestyle' + - run: make mypy + name: 'Run mypy' + - run: make flake8 + name: 'Run flake8' + - run: make codespell + name: 'Run codespell' + - run: make pydocstyle + name: 'Run pydocstyle' diff --git a/.pylintrc b/.pylintrc index 91166a43..a0629152 100644 --- a/.pylintrc +++ b/.pylintrc @@ -3,7 +3,7 @@ # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. -extension-pkg-whitelist=PyQt5, vtk +extension-pkg-whitelist=vtk # Specify a score threshold to be exceeded before program exits with error. fail-under=10 @@ -139,7 +139,10 @@ disable=print-statement, deprecated-sys-function, exception-escape, comprehension-escape, - bad-continuation + bad-continuation, + arguments-differ, + no-name-in-module, + no-member # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff --git a/Makefile b/Makefile index 18609a6e..502f0885 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ PYLINT_DIRS ?= ./pyvistaqt/ MYPY_DIRS ?= ./pyvistaqt/ FLAKE8_DIRS ?= ./pyvistaqt/ CODESPELL_DIRS ?= ./ -CODESPELL_SKIP ?= "*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,./docs/_build/*,./docs/images/*,./dist/*,./.ci/*" +CODESPELL_SKIP ?= "*.json,*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,./docs/_build/*,./docs/images/*,./dist/*,./.ci/*" CODESPELL_IGNORE ?= "ignore_words.txt" EXTRA_PYCODESTYLE_OPTIONS ?= --ignore="E501,E203,W503" EXTRA_FLAKE8_OPTIONS ?= --ignore="E501,E203,W503" @@ -20,15 +20,15 @@ doctest: codespell pydocstyle black: @echo "Running black" - @black $(BLACK_DIRS) + @black --check $(BLACK_DIRS) isort: @echo "Running isort" - @isort $(ISORT_DIRS) + @isort --check $(ISORT_DIRS) pylint: @echo "Running pylint" - @pylint $(PYLINT_DIRS) + @pylint $(PYLINT_DIRS) --rcfile=.pylintrc pycodestyle: @echo "Running pycodestyle" diff --git a/pyvistaqt/counter.py b/pyvistaqt/counter.py index 3a696174..e31a7a64 100644 --- a/pyvistaqt/counter.py +++ b/pyvistaqt/counter.py @@ -17,7 +17,7 @@ def __init__(self, count: int) -> None: self.count = count elif count > 0: raise TypeError( - "Expected type of `count` to be `int` but got: {}".format(type(count)) + f"Expected type of `count` to be `int` but got: {type(count)}" ) else: raise ValueError("count is not strictly positive.") diff --git a/pyvistaqt/dialog.py b/pyvistaqt/dialog.py index a8e9cea7..c531da14 100644 --- a/pyvistaqt/dialog.py +++ b/pyvistaqt/dialog.py @@ -86,7 +86,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: """Initialize the double slider.""" super().__init__(*args, **kwargs) self.decimals = 5 - self._max_int = 10 ** self.decimals + self._max_int = 10**self.decimals super().setMinimum(0) super().setMaximum(self._max_int) diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index f8f7e876..3c7fb13e 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -59,7 +59,7 @@ def update(self) -> None: for idx, renderer in enumerate(self.renderers): actors = renderer._actors # pylint: disable=protected-access widget_idx = self.stacked_widget.addWidget(_get_renderer_widget(renderer)) - top_item = QTreeWidgetItem(self.tree_widget, ["Renderer {}".format(idx)]) + top_item = QTreeWidgetItem(self.tree_widget, [f"Renderer {idx}"]) top_item.setData(0, Qt.ItemDataRole.UserRole, widget_idx) self.tree_widget.addTopLevelItem(top_item) for name, actor in actors.items(): diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index ba5385b1..ca673929 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -102,8 +102,8 @@ class _GlobalTheme: """Wrap global_theme too rcParams.""" - def __setattr__(self, k: str, v: Any) -> None: # noqa: D105 - rcParams[k] = v + def __setattr__(self, k: str, val: Any) -> None: # noqa: D105 + rcParams[k] = val def __getattr__(self, k: str) -> None: # noqa: D105 return rcParams[k] if k != "__wrapped__" else None @@ -285,7 +285,7 @@ def __init__( # Modified() and upstream objects won't be updated. This # ensures the render window stays updated without consuming too # many resources. - twait = int((auto_update ** -1) * 1000.0) + twait = int((auto_update**-1) * 1000.0) self.render_timer.timeout.connect(self.render) self.render_timer.start(twait) @@ -419,7 +419,7 @@ def dragEnterEvent(self, event: QtGui.QDragEnterEvent) -> None: # only call accept on files event.accept() except IOError as exception: # pragma: no cover - warnings.warn("Exception when dropping files: %s" % str(exception)) + warnings.warn(f"Exception when dropping files: {str(exception)}") # pylint: disable=invalid-name,useless-return def dropEvent(self, event: QtCore.QEvent) -> None: @@ -816,9 +816,7 @@ def load_camera_position() -> None: # pylint: disable=attribute-defined-outside-init self.camera_position = camera_position - self.saved_cameras_tool_bar.addAction( - "Cam %2d" % ncam, load_camera_position - ) + self.saved_cameras_tool_bar.addAction(f"Cam {ncam}", load_camera_position) if ncam < 10: self.add_key_event(str(ncam), load_camera_position) diff --git a/pyvistaqt/utils.py b/pyvistaqt/utils.py index 7a8db98e..497b3227 100644 --- a/pyvistaqt/utils.py +++ b/pyvistaqt/utils.py @@ -10,8 +10,8 @@ def _check_type(var: Any, var_name: str, var_types: List[Type[Any]]) -> None: types = tuple(var_types) if not isinstance(var, types): raise TypeError( - "Expected type for ``{}`` is {}" - " but {} was given.".format(var_name, str(types), type(var)) + f"Expected type for ``{var_name}`` is {str(types)}" + f" but {type(var)} was given." ) From 88260787cb53f551af3983407f2da198b78f9a1f Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 5 Mar 2022 22:03:37 +0100 Subject: [PATCH 061/125] MNT: mypy checklist (#151) * update * fix * sort --- Makefile | 4 ++-- mypy_checklist.txt | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 mypy_checklist.txt diff --git a/Makefile b/Makefile index 502f0885..91da904d 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ BLACK_DIRS ?= ./pyvistaqt/ ISORT_DIRS ?= ./pyvistaqt/*.py PYCODESTYLE_DIRS ?= ./pyvistaqt/ PYLINT_DIRS ?= ./pyvistaqt/ -MYPY_DIRS ?= ./pyvistaqt/ +MYPY_DIRS ?= "mypy_checklist.txt" FLAKE8_DIRS ?= ./pyvistaqt/ CODESPELL_DIRS ?= ./ CODESPELL_SKIP ?= "*.json,*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,./docs/_build/*,./docs/images/*,./dist/*,./.ci/*" @@ -36,7 +36,7 @@ pycodestyle: mypy: @echo "Running mypy" - @mypy $(MYPY_DIRS) + @mypy @$(MYPY_DIRS) flake8: @echo "Running flake8" diff --git a/mypy_checklist.txt b/mypy_checklist.txt new file mode 100644 index 00000000..d4be7635 --- /dev/null +++ b/mypy_checklist.txt @@ -0,0 +1,8 @@ +pyvistaqt/__init__.py +pyvistaqt/_version.py +pyvistaqt/counter.py +pyvistaqt/dialog.py +pyvistaqt/editor.py +pyvistaqt/plotting.py +pyvistaqt/utils.py +pyvistaqt/window.py From 446248ca14748d1a6b8f31268aed60fe76071f6c Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Thu, 10 Mar 2022 05:09:11 -0500 Subject: [PATCH 062/125] ENH: Allow subclassing MainWindow (#152) * ENH: Allow subclassing MainWindow * FIX: Black * FIX: Sort --- pyvistaqt/plotting.py | 13 ++++++++++--- tests/test_plotting.py | 8 +++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index ca673929..1d912d43 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -46,7 +46,7 @@ import time import warnings from functools import wraps -from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union +from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Type, Union import numpy as np # type: ignore import pyvista @@ -507,6 +507,9 @@ class BackgroundPlotter(QtInteractor): being automatically ``Modified``. If set to ``True``, update rate will be 1 second. + app_window_class : None, class, optional + A subclass of MainWindow to use when creating the app window. + Examples -------- >>> import pyvista as pv @@ -534,6 +537,7 @@ def __init__( menu_bar: bool = True, editor: bool = True, update_app_icon: Optional[bool] = None, + app_window_class: Optional[Type[MainWindow]] = None, **kwargs: Any, ) -> None: # pylint: disable=too-many-branches @@ -580,8 +584,11 @@ def __init__( self.ipython = _setup_ipython() self.app = _setup_application(app) self.off_screen = _setup_off_screen(off_screen) - - self.app_window = MainWindow(title=kwargs.get("title", global_theme.title)) + if app_window_class is None: + app_window_class = MainWindow + self.app_window = app_window_class( + title=kwargs.get("title", global_theme.title) + ) self.frame = QFrame(parent=self.app_window) self.frame.setFrameStyle(QFrame.NoFrame) vlayout = QVBoxLayout() diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 1d2972d3..65adcf84 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -80,13 +80,19 @@ def test_ipython(qapp): IPython.start_ipython(argv=["-c", cmd]) +class SuperWindow(MainWindow): + pass + + def test_depth_peeling(qtbot): plotter = BackgroundPlotter() qtbot.addWidget(plotter.app_window) assert not plotter.renderer.GetUseDepthPeeling() plotter.close() global_theme.depth_peeling["enabled"] = True - plotter = BackgroundPlotter() + plotter = BackgroundPlotter(app_window_class=SuperWindow) + assert isinstance(plotter.app_window, SuperWindow) + assert isinstance(plotter.app_window, MainWindow) qtbot.addWidget(plotter.app_window) assert plotter.renderer.GetUseDepthPeeling() plotter.close() From de84811e0ccb6ca98ee4c24920afa55683ac581c Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 10 Mar 2022 14:31:03 +0100 Subject: [PATCH 063/125] ENH: Add support for PyQt6 (#149) --- .coveragerc | 13 + .github/workflows/ci.yml | 8 +- Makefile | 22 +- pyvistaqt/plotting.py | 9 +- pyvistaqt/rwi.py | 787 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 820 insertions(+), 19 deletions(-) create mode 100644 .coveragerc create mode 100644 pyvistaqt/rwi.py diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..5e6ab884 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,13 @@ +[run] +branch = True +source = pyvistaqt +omit = + */setup.py + */pyvistaqt/rwi.py + +[report] +exclude_lines = + pragma: no cover + if __name__ == .__main__.: + @abstractmethod + @abstractclassmethod diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a1c089c..f511a5c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,12 +11,12 @@ on: jobs: pip-pre: - name: ubuntu-latest / Python3.9 / ${{ matrix.pyside }} / pyvista-main / qtpy-master + name: ubuntu-latest / Python3.9 / ${{ matrix.qt }} / pyvista-main / qtpy-master runs-on: ubuntu-latest strategy: fail-fast: false matrix: - pyside: ['PySide2', 'PySide6'] + qt: ['PySide2', 'PySide6', 'PyQt5', 'PyQt6'] defaults: run: shell: bash @@ -38,12 +38,14 @@ jobs: pip install --progress-bar off https://github.com/spyder-ide/qtpy/zipball/master pip install --upgrade -r requirements_test.txt name: 'Install dependencies with pip' - - run: pip install ${{ matrix.pyside }} + - run: pip install ${{ matrix.qt }} name: 'Install Qt binding' - run: | pip install -e . python -c "import pyvista; print(pyvista.Report())" name: 'Install pyvistaqt' + - run: python pyvistaqt/rwi.py + name: 'Run QVTKRenderWidgetConeExample' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - uses: codecov/codecov-action@v2 diff --git a/Makefile b/Makefile index 91da904d..4fa729b3 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Simple makefile to simplify repetitive build env management tasks under posix BLACK_DIRS ?= ./pyvistaqt/ -ISORT_DIRS ?= ./pyvistaqt/*.py +ISORT_DIRS ?= ./pyvistaqt/ PYCODESTYLE_DIRS ?= ./pyvistaqt/ PYLINT_DIRS ?= ./pyvistaqt/ MYPY_DIRS ?= "mypy_checklist.txt" @@ -9,8 +9,14 @@ FLAKE8_DIRS ?= ./pyvistaqt/ CODESPELL_DIRS ?= ./ CODESPELL_SKIP ?= "*.json,*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,./docs/_build/*,./docs/images/*,./dist/*,./.ci/*" CODESPELL_IGNORE ?= "ignore_words.txt" -EXTRA_PYCODESTYLE_OPTIONS ?= --ignore="E501,E203,W503" -EXTRA_FLAKE8_OPTIONS ?= --ignore="E501,E203,W503" + +EXTRA_BLACK_OPTIONS ?= --exclude rwi.py +EXTRA_ISORT_OPTIONS ?= --skip=rwi.py +EXTRA_PYLINT_OPTIONS ?= --ignore=rwi.py +EXTRA_PYCODESTYLE_OPTIONS ?= --ignore="E501,E203,W503" --exclude=rwi.py +EXTRA_MYPY_OPTIONS ?= --follow-imports=skip +EXTRA_FLAKE8_OPTIONS ?= --ignore="E501,E203,W503" --exclude=rwi.py +EXTRA_PYDOCSTYLE_OPTIONS = --match='(?!(test_|rwi)).*\.py' all: srcstyle doctest @@ -20,15 +26,15 @@ doctest: codespell pydocstyle black: @echo "Running black" - @black --check $(BLACK_DIRS) + @black --check $(BLACK_DIRS) $(EXTRA_BLACK_OPTIONS) isort: @echo "Running isort" - @isort --check $(ISORT_DIRS) + @isort --check $(ISORT_DIRS) $(EXTRA_ISORT_OPTIONS) pylint: @echo "Running pylint" - @pylint $(PYLINT_DIRS) --rcfile=.pylintrc + @pylint $(PYLINT_DIRS) --rcfile=.pylintrc $(EXTRA_PYLINT_OPTIONS) pycodestyle: @echo "Running pycodestyle" @@ -36,7 +42,7 @@ pycodestyle: mypy: @echo "Running mypy" - @mypy @$(MYPY_DIRS) + @mypy --config-file mypy.ini @$(MYPY_DIRS) $(EXTRA_MYPY_OPTIONS) flake8: @echo "Running flake8" @@ -48,7 +54,7 @@ codespell: pydocstyle: @echo "Running pydocstyle" - @pydocstyle pyvistaqt + @pydocstyle pyvistaqt $(EXTRA_PYDOCSTYLE_OPTIONS) coverage: @echo "Running coverage" diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 1d912d43..025f0a2e 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -67,14 +67,6 @@ QWidget, ) -try: - from vtkmodules.qt.QVTKRenderWindowInteractor import ( # type: ignore - QVTKRenderWindowInteractor, - ) -except ImportError: # pragma: no cover - from vtk.qt.QVTKRenderWindowInteractor import ( # type: ignore - QVTKRenderWindowInteractor, - ) try: # backwards compatibility with pyvista<0.32.0 # pylint: disable=ungrouped-imports from pyvista._vtk import vtkGenericRenderWindowInteractor @@ -85,6 +77,7 @@ from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog from .editor import Editor +from .rwi import QVTKRenderWindowInteractor from .utils import ( _check_type, _create_menu_bar, diff --git a/pyvistaqt/rwi.py b/pyvistaqt/rwi.py new file mode 100644 index 00000000..142f0e56 --- /dev/null +++ b/pyvistaqt/rwi.py @@ -0,0 +1,787 @@ +# modified from: https://gitlab.kitware.com/vtk/vtk +# under the OSI-approved BSD 3-clause License +# TODO: Mayavi has a potentially different version that might be better or worse +# coding=utf-8 +""" +A simple VTK widget for PyQt or PySide. +See http://www.trolltech.com for Qt documentation, +http://www.riverbankcomputing.co.uk for PyQt, and +http://pyside.github.io for PySide. + +This class is based on the vtkGenericRenderWindowInteractor and is +therefore fairly powerful. It should also play nicely with the +vtk3DWidget code. + +Created by Prabhu Ramachandran, May 2002 +Based on David Gobbi's QVTKRenderWidget.py + +Changes by Gerard Vermeulen Feb. 2003 + Win32 support. + +Changes by Gerard Vermeulen, May 2003 + Bug fixes and better integration with the Qt framework. + +Changes by Phil Thompson, Nov. 2006 + Ported to PyQt v4. + Added support for wheel events. + +Changes by Phil Thompson, Oct. 2007 + Bug fixes. + +Changes by Phil Thompson, Mar. 2008 + Added cursor support. + +Changes by Rodrigo Mologni, Sep. 2013 (Credit to Daniele Esposti) + Bug fix to PySide: Converts PyCObject to void pointer. + +Changes by Greg Schussman, Aug. 2014 + The keyPressEvent function now passes keysym instead of None. + +Changes by Alex Tsui, Apr. 2015 + Port from PyQt4 to PyQt5. + +Changes by Fabian Wenzel, Jan. 2016 + Support for Python3 + +Changes by Tobias Hänel, Sep. 2018 + Support for PySide2 + +Changes by Ruben de Bruin, Aug. 2019 + Fixes to the keyPressEvent function + +Changes by Chen Jintao, Aug. 2021 + Support for PySide6 +""" + +# Check whether a specific PyQt implementation was chosen +try: + import vtkmodules.qt + PyQtImpl = vtkmodules.qt.PyQtImpl +except ImportError: + pass + +# Check whether a specific QVTKRenderWindowInteractor base +# class was chosen, can be set to "QGLWidget" in +# PyQt implementation version lower than Pyside6, +# or "QOpenGLWidget" in Pyside6 +QVTKRWIBase = "QWidget" +try: + import vtkmodules.qt + QVTKRWIBase = vtkmodules.qt.QVTKRWIBase +except ImportError: + pass + +from vtkmodules.vtkRenderingCore import vtkRenderWindow +from vtkmodules.vtkRenderingUI import vtkGenericRenderWindowInteractor + +if PyQtImpl is None: + # Autodetect the PyQt implementation to use + try: + import PyQt6 + PyQtImpl = "PyQt6" + except ImportError: + try: + import PySide6 + PyQtImpl = "PySide6" + except ImportError: + try: + import PyQt5 + PyQtImpl = "PyQt5" + except ImportError: + try: + import PySide2 + PyQtImpl = "PySide2" + except ImportError: + try: + import PyQt4 + PyQtImpl = "PyQt4" + except ImportError: + try: + import PySide + PyQtImpl = "PySide" + except ImportError: + raise ImportError("Cannot load either PyQt or PySide") + +# Check the compatibility of PyQtImpl and QVTKRWIBase +if QVTKRWIBase != "QWidget": + if PyQtImpl in ["PyQt6", "PySide6"] and QVTKRWIBase == "QOpenGLWidget": + pass # compatible + elif PyQtImpl in ["PyQt5", "PySide2","PyQt4", "PySide"] and QVTKRWIBase == "QGLWidget": + pass # compatible + else: + raise ImportError("Cannot load " + QVTKRWIBase + " from " + PyQtImpl) + +if PyQtImpl == "PyQt6": + if QVTKRWIBase == "QOpenGLWidget": + from PyQt6.QtOpenGLWidgets import QOpenGLWidget + from PyQt6.QtWidgets import QWidget + from PyQt6.QtWidgets import QSizePolicy + from PyQt6.QtWidgets import QApplication + from PyQt6.QtWidgets import QMainWindow + from PyQt6.QtGui import QCursor + from PyQt6.QtCore import Qt + from PyQt6.QtCore import QTimer + from PyQt6.QtCore import QObject + from PyQt6.QtCore import QSize + from PyQt6.QtCore import QEvent +elif PyQtImpl == "PySide6": + if QVTKRWIBase == "QOpenGLWidget": + from PySide6.QtOpenGLWidgets import QOpenGLWidget + from PySide6.QtWidgets import QWidget + from PySide6.QtWidgets import QSizePolicy + from PySide6.QtWidgets import QApplication + from PySide6.QtWidgets import QMainWindow + from PySide6.QtGui import QCursor + from PySide6.QtCore import Qt + from PySide6.QtCore import QTimer + from PySide6.QtCore import QObject + from PySide6.QtCore import QSize + from PySide6.QtCore import QEvent +elif PyQtImpl == "PyQt5": + if QVTKRWIBase == "QGLWidget": + from PyQt5.QtOpenGL import QGLWidget + from PyQt5.QtWidgets import QWidget + from PyQt5.QtWidgets import QSizePolicy + from PyQt5.QtWidgets import QApplication + from PyQt5.QtWidgets import QMainWindow + from PyQt5.QtGui import QCursor + from PyQt5.QtCore import Qt + from PyQt5.QtCore import QTimer + from PyQt5.QtCore import QObject + from PyQt5.QtCore import QSize + from PyQt5.QtCore import QEvent +elif PyQtImpl == "PySide2": + if QVTKRWIBase == "QGLWidget": + from PySide2.QtOpenGL import QGLWidget + from PySide2.QtWidgets import QWidget + from PySide2.QtWidgets import QSizePolicy + from PySide2.QtWidgets import QApplication + from PySide2.QtWidgets import QMainWindow + from PySide2.QtGui import QCursor + from PySide2.QtCore import Qt + from PySide2.QtCore import QTimer + from PySide2.QtCore import QObject + from PySide2.QtCore import QSize + from PySide2.QtCore import QEvent +elif PyQtImpl == "PyQt4": + if QVTKRWIBase == "QGLWidget": + from PyQt4.QtOpenGL import QGLWidget + from PyQt4.QtGui import QWidget + from PyQt4.QtGui import QSizePolicy + from PyQt4.QtGui import QApplication + from PyQt4.QtGui import QMainWindow + from PyQt4.QtCore import Qt + from PyQt4.QtCore import QTimer + from PyQt4.QtCore import QObject + from PyQt4.QtCore import QSize + from PyQt4.QtCore import QEvent +elif PyQtImpl == "PySide": + if QVTKRWIBase == "QGLWidget": + from PySide.QtOpenGL import QGLWidget + from PySide.QtGui import QWidget + from PySide.QtGui import QSizePolicy + from PySide.QtGui import QApplication + from PySide.QtGui import QMainWindow + from PySide.QtCore import Qt + from PySide.QtCore import QTimer + from PySide.QtCore import QObject + from PySide.QtCore import QSize + from PySide.QtCore import QEvent +else: + raise ImportError("Unknown PyQt implementation " + repr(PyQtImpl)) + +# Define types for base class, based on string +if QVTKRWIBase == "QWidget": + QVTKRWIBaseClass = QWidget +elif QVTKRWIBase == "QGLWidget": + QVTKRWIBaseClass = QGLWidget +elif QVTKRWIBase == "QOpenGLWidget": + QVTKRWIBaseClass = QOpenGLWidget +else: + raise ImportError("Unknown base class for QVTKRenderWindowInteractor " + QVTKRWIBase) + +CursorShape = Qt.CursorShape if PyQtImpl == "PyQt6" else Qt +MouseButton = Qt.MouseButton if PyQtImpl == "PyQt6" else Qt +WindowType = Qt.WindowType if PyQtImpl == "PyQt6" else Qt +WidgetAttribute = Qt.WidgetAttribute if PyQtImpl == "PyQt6" else Qt +KeyboardModifier = Qt.KeyboardModifier if PyQtImpl == "PyQt6" else Qt +FocusPolicy = Qt.FocusPolicy if PyQtImpl == "PyQt6" else Qt +SizePolicy = QSizePolicy.Policy if PyQtImpl == "PyQt6" else QSizePolicy +ConnectionType = Qt.ConnectionType if PyQtImpl == "PyQt6" else Qt +Key = Qt.Key if PyQtImpl == "PyQt6" else Qt + +class QVTKRenderWindowInteractor(QVTKRWIBaseClass): + + """ A QVTKRenderWindowInteractor for Python and Qt. Uses a + vtkGenericRenderWindowInteractor to handle the interactions. Use + GetRenderWindow() to get the vtkRenderWindow. Create with the + keyword stereo=1 in order to generate a stereo-capable window. + + The user interface is summarized in vtkInteractorStyle.h: + + - Keypress j / Keypress t: toggle between joystick (position + sensitive) and trackball (motion sensitive) styles. In joystick + style, motion occurs continuously as long as a mouse button is + pressed. In trackball style, motion occurs when the mouse button + is pressed and the mouse pointer moves. + + - Keypress c / Keypress o: toggle between camera and object + (actor) modes. In camera mode, mouse events affect the camera + position and focal point. In object mode, mouse events affect + the actor that is under the mouse pointer. + + - Button 1: rotate the camera around its focal point (if camera + mode) or rotate the actor around its origin (if actor mode). The + rotation is in the direction defined from the center of the + renderer's viewport towards the mouse position. In joystick mode, + the magnitude of the rotation is determined by the distance the + mouse is from the center of the render window. + + - Button 2: pan the camera (if camera mode) or translate the actor + (if object mode). In joystick mode, the direction of pan or + translation is from the center of the viewport towards the mouse + position. In trackball mode, the direction of motion is the + direction the mouse moves. (Note: with 2-button mice, pan is + defined as -Button 1.) + + - Button 3: zoom the camera (if camera mode) or scale the actor + (if object mode). Zoom in/increase scale if the mouse position is + in the top half of the viewport; zoom out/decrease scale if the + mouse position is in the bottom half. In joystick mode, the amount + of zoom is controlled by the distance of the mouse pointer from + the horizontal centerline of the window. + + - Keypress 3: toggle the render window into and out of stereo + mode. By default, red-blue stereo pairs are created. Some systems + support Crystal Eyes LCD stereo glasses; you have to invoke + SetStereoTypeToCrystalEyes() on the rendering window. Note: to + use stereo you also need to pass a stereo=1 keyword argument to + the constructor. + + - Keypress e: exit the application. + + - Keypress f: fly to the picked point + + - Keypress p: perform a pick operation. The render window interactor + has an internal instance of vtkCellPicker that it uses to pick. + + - Keypress r: reset the camera view along the current view + direction. Centers the actors and moves the camera so that all actors + are visible. + + - Keypress s: modify the representation of all actors so that they + are surfaces. + + - Keypress u: invoke the user-defined function. Typically, this + keypress will bring up an interactor that you can type commands in. + + - Keypress w: modify the representation of all actors so that they + are wireframe. + """ + + # Map between VTK and Qt cursors. + _CURSOR_MAP = { + 0: CursorShape.ArrowCursor, # VTK_CURSOR_DEFAULT + 1: CursorShape.ArrowCursor, # VTK_CURSOR_ARROW + 2: CursorShape.SizeBDiagCursor, # VTK_CURSOR_SIZENE + 3: CursorShape.SizeFDiagCursor, # VTK_CURSOR_SIZENWSE + 4: CursorShape.SizeBDiagCursor, # VTK_CURSOR_SIZESW + 5: CursorShape.SizeFDiagCursor, # VTK_CURSOR_SIZESE + 6: CursorShape.SizeVerCursor, # VTK_CURSOR_SIZENS + 7: CursorShape.SizeHorCursor, # VTK_CURSOR_SIZEWE + 8: CursorShape.SizeAllCursor, # VTK_CURSOR_SIZEALL + 9: CursorShape.PointingHandCursor, # VTK_CURSOR_HAND + 10: CursorShape.CrossCursor, # VTK_CURSOR_CROSSHAIR + } + + def __init__(self, parent=None, **kw): + # the current button + self._ActiveButton = MouseButton.NoButton + + # private attributes + self.__saveX = 0 + self.__saveY = 0 + self.__saveModifiers = KeyboardModifier.NoModifier + self.__saveButtons = MouseButton.NoButton + self.__wheelDelta = 0 + + # do special handling of some keywords: + # stereo, rw + + try: + stereo = bool(kw['stereo']) + except KeyError: + stereo = False + + try: + rw = kw['rw'] + except KeyError: + rw = None + + # create base qt-level widget + if QVTKRWIBase == "QWidget": + if "wflags" in kw: + wflags = kw['wflags'] + else: + wflags = Qt.WindowType.Widget + QWidget.__init__(self, parent, wflags | WindowType.MSWindowsOwnDC) + elif QVTKRWIBase == "QGLWidget": + QGLWidget.__init__(self, parent) + elif QVTKRWIBase == "QOpenGLWidget": + QOpenGLWidget.__init__(self, parent) + + if rw: # user-supplied render window + self._RenderWindow = rw + else: + self._RenderWindow = vtkRenderWindow() + + WId = self.winId() + + # Python2 + if type(WId).__name__ == 'PyCObject': + from ctypes import pythonapi, c_void_p, py_object + + pythonapi.PyCObject_AsVoidPtr.restype = c_void_p + pythonapi.PyCObject_AsVoidPtr.argtypes = [py_object] + + WId = pythonapi.PyCObject_AsVoidPtr(WId) + + # Python3 + elif type(WId).__name__ == 'PyCapsule': + from ctypes import pythonapi, c_void_p, py_object, c_char_p + + pythonapi.PyCapsule_GetName.restype = c_char_p + pythonapi.PyCapsule_GetName.argtypes = [py_object] + + name = pythonapi.PyCapsule_GetName(WId) + + pythonapi.PyCapsule_GetPointer.restype = c_void_p + pythonapi.PyCapsule_GetPointer.argtypes = [py_object, c_char_p] + + WId = pythonapi.PyCapsule_GetPointer(WId, name) + + self._RenderWindow.SetWindowInfo(str(int(WId))) + + if stereo: # stereo mode + self._RenderWindow.StereoCapableWindowOn() + self._RenderWindow.SetStereoTypeToCrystalEyes() + + try: + self._Iren = kw['iren'] + except KeyError: + self._Iren = vtkGenericRenderWindowInteractor() + self._Iren.SetRenderWindow(self._RenderWindow) + + # do all the necessary qt setup + self.setAttribute(WidgetAttribute.WA_OpaquePaintEvent) + self.setAttribute(WidgetAttribute.WA_PaintOnScreen) + self.setMouseTracking(True) # get all mouse events + self.setFocusPolicy(FocusPolicy.WheelFocus) + self.setSizePolicy(QSizePolicy(SizePolicy.Expanding, SizePolicy.Expanding)) + + self._Timer = QTimer(self) + self._Timer.timeout.connect(self.TimerEvent) + + self._Iren.AddObserver('CreateTimerEvent', self.CreateTimer) + self._Iren.AddObserver('DestroyTimerEvent', self.DestroyTimer) + self._Iren.GetRenderWindow().AddObserver('CursorChangedEvent', + self.CursorChangedEvent) + + # If we've a parent, it does not close the child when closed. + # Connect the parent's destroyed signal to this widget's close + # slot for proper cleanup of VTK objects. + if self.parent(): + self.parent().destroyed.connect(self.close, ConnectionType.DirectConnection) + + def __getattr__(self, attr): + """Makes the object behave like a vtkGenericRenderWindowInteractor""" + if attr == '__vtk__': + return lambda t=self._Iren: t + elif hasattr(self._Iren, attr): + return getattr(self._Iren, attr) + else: + raise AttributeError(self.__class__.__name__ + + " has no attribute named " + attr) + + def Finalize(self): + ''' + Call internal cleanup method on VTK objects + ''' + self._RenderWindow.Finalize() + + def CreateTimer(self, obj, evt): + self._Timer.start(10) + + def DestroyTimer(self, obj, evt): + self._Timer.stop() + return 1 + + def TimerEvent(self): + self._Iren.TimerEvent() + + def CursorChangedEvent(self, obj, evt): + """Called when the CursorChangedEvent fires on the render window.""" + # This indirection is needed since when the event fires, the current + # cursor is not yet set so we defer this by which time the current + # cursor should have been set. + QTimer.singleShot(0, self.ShowCursor) + + def HideCursor(self): + """Hides the cursor.""" + self.setCursor(Qt.BlankCursor) + + def ShowCursor(self): + """Shows the cursor.""" + vtk_cursor = self._Iren.GetRenderWindow().GetCurrentCursor() + qt_cursor = self._CURSOR_MAP.get(vtk_cursor, Qt.ArrowCursor) + self.setCursor(qt_cursor) + + def closeEvent(self, evt): + self.Finalize() + + def sizeHint(self): + return QSize(400, 400) + + def paintEngine(self): + return None + + def paintEvent(self, ev): + self._Iren.Render() + + def resizeEvent(self, ev): + scale = self._getPixelRatio() + w = int(round(scale*self.width())) + h = int(round(scale*self.height())) + self._RenderWindow.SetDPI(int(round(72*scale))) + vtkRenderWindow.SetSize(self._RenderWindow, w, h) + self._Iren.SetSize(w, h) + self._Iren.ConfigureEvent() + self.update() + + def _GetKeyCharAndKeySym(self, ev): + """ Convert a Qt key into a char and a vtk keysym. + + This is essentially copied from the c++ implementation in + GUISupport/Qt/QVTKInteractorAdapter.cxx. + """ + # if there is a char, convert its ASCII code to a VTK keysym + try: + keyChar = ev.text()[0] + keySym = _keysyms_for_ascii[ord(keyChar)] + except IndexError: + keyChar = '\0' + keySym = None + + # next, try converting Qt key code to a VTK keysym + if keySym is None: + try: + keySym = _keysyms[ev.key()] + except KeyError: + keySym = None + + # use "None" as a fallback + if keySym is None: + keySym = "None" + + return keyChar, keySym + + def _GetCtrlShift(self, ev): + ctrl = shift = False + + if hasattr(ev, 'modifiers'): + if ev.modifiers() & Qt.ShiftModifier: + shift = True + if ev.modifiers() & Qt.ControlModifier: + ctrl = True + else: + if self.__saveModifiers & Qt.ShiftModifier: + shift = True + if self.__saveModifiers & Qt.ControlModifier: + ctrl = True + + return ctrl, shift + + @staticmethod + def _getPixelRatio(): + if PyQtImpl in ["PyQt5", "PySide2", "PySide6"]: + # Source: https://stackoverflow.com/a/40053864/3388962 + pos = QCursor.pos() + for screen in QApplication.screens(): + rect = screen.geometry() + if rect.contains(pos): + return screen.devicePixelRatio() + # Should never happen, but try to find a good fallback. + return QApplication.instance().devicePixelRatio() + else: + # Qt4 seems not to provide any cross-platform means to get the + # pixel ratio. + return 1. + + def _setEventInformation(self, x, y, ctrl, shift, + key, repeat=0, keysum=None): + scale = self._getPixelRatio() + self._Iren.SetEventInformation(int(round(x*scale)), + int(round((self.height()-y-1)*scale)), + ctrl, shift, key, repeat, keysum) + + def enterEvent(self, ev): + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(self.__saveX, self.__saveY, + ctrl, shift, chr(0), 0, None) + self._Iren.EnterEvent() + + def leaveEvent(self, ev): + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(self.__saveX, self.__saveY, + ctrl, shift, chr(0), 0, None) + self._Iren.LeaveEvent() + + def mousePressEvent(self, ev): + ctrl, shift = self._GetCtrlShift(ev) + repeat = 0 + if ev.type() == QEvent.MouseButtonDblClick: + repeat = 1 + self._setEventInformation(ev.x(), ev.y(), + ctrl, shift, chr(0), repeat, None) + + self._ActiveButton = ev.button() + + if self._ActiveButton == Qt.LeftButton: + self._Iren.LeftButtonPressEvent() + elif self._ActiveButton == Qt.RightButton: + self._Iren.RightButtonPressEvent() + elif self._ActiveButton == Qt.MidButton: + self._Iren.MiddleButtonPressEvent() + + def mouseReleaseEvent(self, ev): + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(ev.x(), ev.y(), + ctrl, shift, chr(0), 0, None) + + if self._ActiveButton == Qt.LeftButton: + self._Iren.LeftButtonReleaseEvent() + elif self._ActiveButton == Qt.RightButton: + self._Iren.RightButtonReleaseEvent() + elif self._ActiveButton == Qt.MidButton: + self._Iren.MiddleButtonReleaseEvent() + + def mouseMoveEvent(self, ev): + self.__saveModifiers = ev.modifiers() + self.__saveButtons = ev.buttons() + self.__saveX = ev.x() + self.__saveY = ev.y() + + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(ev.x(), ev.y(), + ctrl, shift, chr(0), 0, None) + self._Iren.MouseMoveEvent() + + def keyPressEvent(self, ev): + key, keySym = self._GetKeyCharAndKeySym(ev) + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(self.__saveX, self.__saveY, + ctrl, shift, key, 0, keySym) + self._Iren.KeyPressEvent() + self._Iren.CharEvent() + + def keyReleaseEvent(self, ev): + key, keySym = self._GetKeyCharAndKeySym(ev) + ctrl, shift = self._GetCtrlShift(ev) + self._setEventInformation(self.__saveX, self.__saveY, + ctrl, shift, key, 0, keySym) + self._Iren.KeyReleaseEvent() + + def wheelEvent(self, ev): + if hasattr(ev, 'delta'): + self.__wheelDelta += ev.delta() + else: + self.__wheelDelta += ev.angleDelta().y() + + if self.__wheelDelta >= 120: + self._Iren.MouseWheelForwardEvent() + self.__wheelDelta = 0 + elif self.__wheelDelta <= -120: + self._Iren.MouseWheelBackwardEvent() + self.__wheelDelta = 0 + + def GetRenderWindow(self): + return self._RenderWindow + + def Render(self): + self.update() + + +def QVTKRenderWidgetConeExample(block=False): + """A simple example that uses the QVTKRenderWindowInteractor class.""" + + from vtkmodules.vtkFiltersSources import vtkConeSource + from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderer + # load implementations for rendering and interaction factory classes + import vtkmodules.vtkRenderingOpenGL2 + import vtkmodules.vtkInteractionStyle + + # every QT app needs an app + app = QApplication.instance() + if not app: # pragma: no cover + app = QApplication(["PyVista"]) + + window = QMainWindow() + + # create the widget + widget = QVTKRenderWindowInteractor(window) + window.setCentralWidget(widget) + # if you don't want the 'q' key to exit comment this. + widget.AddObserver("ExitEvent", lambda o, e, a=app: a.quit()) + + ren = vtkRenderer() + widget.GetRenderWindow().AddRenderer(ren) + + cone = vtkConeSource() + cone.SetResolution(8) + + coneMapper = vtkPolyDataMapper() + coneMapper.SetInputConnection(cone.GetOutputPort()) + + coneActor = vtkActor() + coneActor.SetMapper(coneMapper) + + ren.AddActor(coneActor) + + # show the widget + window.show() + + widget.Initialize() + widget.Start() + + # start event processing + # Source: https://doc.qt.io/qtforpython/porting_from2.html + # 'exec_' is deprecated and will be removed in the future. + # Use 'exec' instead. + if block: + try: + app.exec() + except AttributeError: + app.exec_() + + +_keysyms_for_ascii = ( + None, None, None, None, None, None, None, None, + None, "Tab", None, None, None, None, None, None, + None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, + "space", "exclam", "quotedbl", "numbersign", + "dollar", "percent", "ampersand", "quoteright", + "parenleft", "parenright", "asterisk", "plus", + "comma", "minus", "period", "slash", + "0", "1", "2", "3", "4", "5", "6", "7", + "8", "9", "colon", "semicolon", "less", "equal", "greater", "question", + "at", "A", "B", "C", "D", "E", "F", "G", + "H", "I", "J", "K", "L", "M", "N", "O", + "P", "Q", "R", "S", "T", "U", "V", "W", + "X", "Y", "Z", "bracketleft", + "backslash", "bracketright", "asciicircum", "underscore", + "quoteleft", "a", "b", "c", "d", "e", "f", "g", + "h", "i", "j", "k", "l", "m", "n", "o", + "p", "q", "r", "s", "t", "u", "v", "w", + "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "Delete", + ) + +_keysyms = { + Key.Key_Backspace: 'BackSpace', + Key.Key_Tab: 'Tab', + Key.Key_Backtab: 'Tab', + # Key.Key_Clear : 'Clear', + Key.Key_Return: 'Return', + Key.Key_Enter: 'Return', + Key.Key_Shift: 'Shift_L', + Key.Key_Control: 'Control_L', + Key.Key_Alt: 'Alt_L', + Key.Key_Pause: 'Pause', + Key.Key_CapsLock: 'Caps_Lock', + Key.Key_Escape: 'Escape', + Key.Key_Space: 'space', + # Key.Key_Prior : 'Prior', + # Key.Key_Next : 'Next', + Key.Key_End: 'End', + Key.Key_Home: 'Home', + Key.Key_Left: 'Left', + Key.Key_Up: 'Up', + Key.Key_Right: 'Right', + Key.Key_Down: 'Down', + Key.Key_SysReq: 'Snapshot', + Key.Key_Insert: 'Insert', + Key.Key_Delete: 'Delete', + Key.Key_Help: 'Help', + Key.Key_0: '0', + Key.Key_1: '1', + Key.Key_2: '2', + Key.Key_3: '3', + Key.Key_4: '4', + Key.Key_5: '5', + Key.Key_6: '6', + Key.Key_7: '7', + Key.Key_8: '8', + Key.Key_9: '9', + Key.Key_A: 'a', + Key.Key_B: 'b', + Key.Key_C: 'c', + Key.Key_D: 'd', + Key.Key_E: 'e', + Key.Key_F: 'f', + Key.Key_G: 'g', + Key.Key_H: 'h', + Key.Key_I: 'i', + Key.Key_J: 'j', + Key.Key_K: 'k', + Key.Key_L: 'l', + Key.Key_M: 'm', + Key.Key_N: 'n', + Key.Key_O: 'o', + Key.Key_P: 'p', + Key.Key_Q: 'q', + Key.Key_R: 'r', + Key.Key_S: 's', + Key.Key_T: 't', + Key.Key_U: 'u', + Key.Key_V: 'v', + Key.Key_W: 'w', + Key.Key_X: 'x', + Key.Key_Y: 'y', + Key.Key_Z: 'z', + Key.Key_Asterisk: 'asterisk', + Key.Key_Plus: 'plus', + Key.Key_Minus: 'minus', + Key.Key_Period: 'period', + Key.Key_Slash: 'slash', + Key.Key_F1: 'F1', + Key.Key_F2: 'F2', + Key.Key_F3: 'F3', + Key.Key_F4: 'F4', + Key.Key_F5: 'F5', + Key.Key_F6: 'F6', + Key.Key_F7: 'F7', + Key.Key_F8: 'F8', + Key.Key_F9: 'F9', + Key.Key_F10: 'F10', + Key.Key_F11: 'F11', + Key.Key_F12: 'F12', + Key.Key_F13: 'F13', + Key.Key_F14: 'F14', + Key.Key_F15: 'F15', + Key.Key_F16: 'F16', + Key.Key_F17: 'F17', + Key.Key_F18: 'F18', + Key.Key_F19: 'F19', + Key.Key_F20: 'F20', + Key.Key_F21: 'F21', + Key.Key_F22: 'F22', + Key.Key_F23: 'F23', + Key.Key_F24: 'F24', + Key.Key_NumLock: 'Num_Lock', + Key.Key_ScrollLock: 'Scroll_Lock', + } + + +if __name__ == "__main__": + print(PyQtImpl) + QVTKRenderWidgetConeExample() From 962213074e066161a2feec3e2f1195aedd200fc4 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 10 Mar 2022 18:18:07 +0100 Subject: [PATCH 064/125] FIX: AttributeError MouseMoveEvent on Qt6 (#153) * fix * update testing * Update pyvistaqt/rwi.py Co-authored-by: Eric Larson * remove cruft Co-authored-by: Eric Larson --- pyvistaqt/rwi.py | 21 ++++++++++++++++----- tests/test_plotting.py | 12 ++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/pyvistaqt/rwi.py b/pyvistaqt/rwi.py index 142f0e56..a87e0de2 100644 --- a/pyvistaqt/rwi.py +++ b/pyvistaqt/rwi.py @@ -210,6 +210,14 @@ ConnectionType = Qt.ConnectionType if PyQtImpl == "PyQt6" else Qt Key = Qt.Key if PyQtImpl == "PyQt6" else Qt + +def _get_event_pos(ev): + try: # Qt6+ + return ev.position().x(), ev.position().y() + except AttributeError: # Qt5 + return ev.x(), ev.y() + + class QVTKRenderWindowInteractor(QVTKRWIBaseClass): """ A QVTKRenderWindowInteractor for Python and Qt. Uses a @@ -537,11 +545,12 @@ def leaveEvent(self, ev): self._Iren.LeaveEvent() def mousePressEvent(self, ev): + pos_x, pos_y = _get_event_pos(ev) ctrl, shift = self._GetCtrlShift(ev) repeat = 0 if ev.type() == QEvent.MouseButtonDblClick: repeat = 1 - self._setEventInformation(ev.x(), ev.y(), + self._setEventInformation(pos_x, pos_y, ctrl, shift, chr(0), repeat, None) self._ActiveButton = ev.button() @@ -554,8 +563,9 @@ def mousePressEvent(self, ev): self._Iren.MiddleButtonPressEvent() def mouseReleaseEvent(self, ev): + pos_x, pos_y = _get_event_pos(ev) ctrl, shift = self._GetCtrlShift(ev) - self._setEventInformation(ev.x(), ev.y(), + self._setEventInformation(pos_x, pos_y, ctrl, shift, chr(0), 0, None) if self._ActiveButton == Qt.LeftButton: @@ -566,13 +576,14 @@ def mouseReleaseEvent(self, ev): self._Iren.MiddleButtonReleaseEvent() def mouseMoveEvent(self, ev): + pos_x, pos_y = _get_event_pos(ev) self.__saveModifiers = ev.modifiers() self.__saveButtons = ev.buttons() - self.__saveX = ev.x() - self.__saveY = ev.y() + self.__saveX = pos_x + self.__saveY = pos_y ctrl, shift = self._GetCtrlShift(ev) - self._setEventInformation(ev.x(), ev.y(), + self._setEventInformation(pos_x, pos_y, ctrl, shift, chr(0), 0, None) self._Iren.MouseMoveEvent() diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 65adcf84..602a2cd0 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -7,6 +7,7 @@ import pyvista import vtk from qtpy.QtWidgets import QAction, QFrame, QMenuBar, QToolBar, QVBoxLayout +from qtpy import QtCore from qtpy.QtCore import Qt, QPoint, QMimeData, QUrl from qtpy.QtGui import QDragEnterEvent from qtpy.QtWidgets import (QTreeWidget, QStackedWidget, QCheckBox, @@ -72,6 +73,17 @@ def test_check_type(): _check_type("foo", "foo", [str]) +def test_mouse_interactions(qtbot): + plotter = BackgroundPlotter() + window = plotter.app_window + interactor = plotter.interactor + qtbot.addWidget(window) + point = QPoint(0, 0) + qtbot.mouseMove(interactor, point) + qtbot.mouseClick(interactor, QtCore.Qt.LeftButton) + plotter.close() + + @pytest.mark.skipif(platform.system()=="Windows" and platform.python_version()[:-1]=="3.8.", reason="#51") def test_ipython(qapp): import IPython From 13285185b2392966e97a6636dd126065fc5bbf62 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Thu, 24 Mar 2022 10:08:48 +0100 Subject: [PATCH 065/125] MNT: CIs (#154) * fix * https * again * again * again * again * fix --- .ci/azure-pipelines.yml | 2 +- .github/workflows/ci.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 18b94edd..1e4532bb 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -196,7 +196,7 @@ stages: Set-StrictMode -Version Latest $ErrorActionPreference = "Stop" $PSDefaultParameterValues['*:ErrorAction']='Stop' - git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + git clone --depth 1 https://github.com/pyvista/gl-ci-helpers.git powershell gl-ci-helpers/appveyor/install_opengl.ps1 displayName: 'Install OpenGL' - script: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f511a5c6..d92bbe7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' - run: | - git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + git clone --depth 1 https://github.com/pyvista/gl-ci-helpers.git ./gl-ci-helpers/appveyor/install_opengl.ps1 shell: pwsh name: 'Setup opengl' @@ -122,7 +122,7 @@ jobs: name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' - run: | - git clone --depth 1 git://github.com/pyvista/gl-ci-helpers.git + git clone --depth 1 https://github.com/pyvista/gl-ci-helpers.git ./gl-ci-helpers/appveyor/install_opengl.ps1 shell: pwsh name: 'Setup opengl' From 254248b0a2a3af40862576ad6428384098085e03 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 29 Mar 2022 17:52:52 +0200 Subject: [PATCH 066/125] MNT: bump pyvista version requirement (#155) * bump * improve testing * drop event * srcstyle * linting * fix * bump * bump * qpointf * bump --- .github/workflows/ci.yml | 2 +- .github/workflows/pythonpackage.yml | 1 - environment.yml | 2 +- mypy.ini | 3 ++ pyvistaqt/editor.py | 6 +-- pyvistaqt/plotting.py | 78 ++++++++--------------------- requirements_test.txt | 10 +++- setup.py | 2 +- tests/test_plotting.py | 69 +++++++++++++++++++++++-- 9 files changed, 103 insertions(+), 70 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d92bbe7b..0120705c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,7 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.31', '0.32', '0.33'] + pyvista: ['0.32', '0.33'] defaults: run: shell: bash diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 732782f0..ce290b38 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -22,7 +22,6 @@ jobs: - run: | python -m pip install --upgrade pip wheel pip install -r requirements_test.txt - pip install --upgrade black isort pylint pycodestyle mypy flake8 codespell pydocstyle name: 'Install dependencies with pip' - run: make black name: 'Run black' diff --git a/environment.yml b/environment.yml index 9085d971..c0999b85 100644 --- a/environment.yml +++ b/environment.yml @@ -14,5 +14,5 @@ dependencies: - pip - pip: - vtk - - pyvista>=0.25.0 + - pyvista>=0.32.0 - pytest-memprof diff --git a/mypy.ini b/mypy.ini index aab55c13..5fbf65b4 100644 --- a/mypy.ini +++ b/mypy.ini @@ -4,6 +4,9 @@ disallow_untyped_defs = True [mypy-vtk.*] ignore_missing_imports = True +[mypy-vtkmodules.*] +ignore_missing_imports = True + [mypy-pyvista.*] ignore_missing_imports = True diff --git a/pyvistaqt/editor.py b/pyvistaqt/editor.py index 3c7fb13e..96dabab9 100644 --- a/pyvistaqt/editor.py +++ b/pyvistaqt/editor.py @@ -16,11 +16,7 @@ QVBoxLayout, QWidget, ) - -try: # backwards compatibility with pyvista<0.29.0 - from pyvista._vtk import vtkActor # pylint: disable=ungrouped-imports -except ImportError: # pragma: no cover - from vtk import vtkActor +from vtkmodules.vtkRenderingCore import vtkActor from .window import MainWindow diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 025f0a2e..496ce88d 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -51,7 +51,9 @@ import numpy as np # type: ignore import pyvista import scooby # type: ignore +from pyvista import global_theme from pyvista.plotting.plotting import BasePlotter +from pyvista.plotting.render_window_interactor import RenderWindowInteractor from pyvista.utilities import conditional_decorator, threaded from qtpy import QtCore from qtpy.QtCore import QSize, QTimer, Signal @@ -66,13 +68,7 @@ QVBoxLayout, QWidget, ) - -try: # backwards compatibility with pyvista<0.32.0 - # pylint: disable=ungrouped-imports - from pyvista._vtk import vtkGenericRenderWindowInteractor -except ImportError: # pragma: no cover - # pylint: disable=ungrouped-imports - from vtk import vtkGenericRenderWindowInteractor +from vtkmodules.vtkRenderingUI import vtkGenericRenderWindowInteractor from .counter import Counter from .dialog import FileDialog, ScaleAxesDialog @@ -87,22 +83,6 @@ ) from .window import MainWindow -try: - from pyvista import global_theme # pylint: disable=ungrouped-imports -except ImportError: # workaround for older PyVista - from pyvista import rcParams # pylint: disable=ungrouped-imports - - class _GlobalTheme: - """Wrap global_theme too rcParams.""" - - def __setattr__(self, k: str, val: Any) -> None: # noqa: D105 - rcParams[k] = val - - def __getattr__(self, k: str) -> None: # noqa: D105 - return rcParams[k] if k != "__wrapped__" else None - - global_theme = _GlobalTheme() # pylint: disable=invalid-name - if scooby.in_ipython(): # pragma: no cover # pylint: disable=unused-import from IPython.external.qt_for_kernel import QtGui @@ -294,33 +274,20 @@ def _setup_interactor(self, off_screen: bool) -> None: if off_screen: self.iren: Any = None else: - try: - # pylint: disable=import-outside-toplevel - from pyvista.plotting.render_window_interactor import ( - RenderWindowInteractor, - ) - - self.iren = RenderWindowInteractor( - self, interactor=self.ren_win.GetInteractor() - ) - self.iren.interactor.RemoveObservers( - "MouseMoveEvent" - ) # slows window update? - self.iren.initialize() - except ImportError: - self.iren = self.ren_win.GetInteractor() - self.iren.RemoveObservers("MouseMoveEvent") # slows window update? - self.iren.Initialize() + self.iren = RenderWindowInteractor( + self, interactor=self.ren_win.GetInteractor() + ) + self.iren.interactor.RemoveObservers( + "MouseMoveEvent" + ) # slows window update? + self.iren.initialize() self.enable_trackball_style() def _setup_key_press(self) -> None: - try: - self._observers: Dict[ - None, None - ] = {} # Map of events to observers of self.iren - self.iren.add_observer("KeyPressEvent", self.key_press_event) - except AttributeError: - self._add_observer("KeyPressEvent", self.key_press_event) + self._observers: Dict[ + None, None + ] = {} # Map of events to observers of self.iren + self.iren.add_observer("KeyPressEvent", self.key_press_event) self.reset_key_events() def gesture_event(self, event: QGestureEvent) -> bool: @@ -405,26 +372,25 @@ def dragEnterEvent(self, event: QtGui.QDragEnterEvent) -> None: exist. User can drop anything in this window and we only want to allow files. """ - # pragma: no cover try: for url in event.mimeData().urls(): if os.path.isfile(url.path()): # only call accept on files event.accept() except IOError as exception: # pragma: no cover - warnings.warn(f"Exception when dropping files: {str(exception)}") + warnings.warn(f"Exception when dragging files: {str(exception)}") # pylint: disable=invalid-name,useless-return def dropEvent(self, event: QtCore.QEvent) -> None: """Event is called after dragEnterEvent.""" - for url in event.mimeData().urls(): # pragma: no cover - self.url = url - filename = self.url.path() - if os.path.isfile(filename): - try: + try: + for url in event.mimeData().urls(): + self.url = url + filename = self.url.path() + if os.path.isfile(filename): self.add_mesh(pyvista.read(filename)) - except IOError as exception: - print(str(exception)) + except IOError as exception: # pragma: no cover + warnings.warn(f"Exception when dropping files: {str(exception)}") def close(self) -> None: """Quit application.""" diff --git a/requirements_test.txt b/requirements_test.txt index 2ae10297..57df7000 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -5,7 +5,15 @@ pytest pytest-cov pytest-memprof pytest-qt -pyvista>=0.25.0 +pyvista>=0.32.0 qtpy>=1.9.0 scooby>=0.5.1 vtk +black +isort +pylint +pycodestyle +mypy +flake8 +codespell +pydocstyle diff --git a/setup.py b/setup.py index cf761b80..23a0a23d 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,7 @@ keywords='vtk numpy plotting mesh qt', python_requires='>=3.6.*', install_requires=[ - 'pyvista>=0.25.0', + 'pyvista>=0.32.0', 'QtPy>=1.9.0', ], package_data={'pyvistaqt': [ diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 602a2cd0..d099b8a2 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -8,8 +8,8 @@ import vtk from qtpy.QtWidgets import QAction, QFrame, QMenuBar, QToolBar, QVBoxLayout from qtpy import QtCore -from qtpy.QtCore import Qt, QPoint, QMimeData, QUrl -from qtpy.QtGui import QDragEnterEvent +from qtpy.QtCore import Qt, QPoint, QPointF, QMimeData, QUrl +from qtpy.QtGui import QDragEnterEvent, QDropEvent from qtpy.QtWidgets import (QTreeWidget, QStackedWidget, QCheckBox, QGestureEvent, QPinchGesture) from pyvistaqt.plotting import global_theme @@ -17,9 +17,10 @@ import pyvistaqt from pyvistaqt import MultiPlotter, BackgroundPlotter, MainWindow, QtInteractor -from pyvistaqt.plotting import (Counter, QTimer, QVTKRenderWindowInteractor, - _create_menu_bar, _check_type) +from pyvistaqt.plotting import Counter, QTimer, QVTKRenderWindowInteractor from pyvistaqt.editor import Editor +from pyvistaqt.dialog import FileDialog +from pyvistaqt.utils import _setup_application, _create_menu_bar, _check_type class TstWindow(MainWindow): @@ -66,6 +67,45 @@ def add_sphere(self): self.vtk_widget.reset_camera() +def test_create_menu_bar(qtbot): + menu_bar = _create_menu_bar(parent=None) + qtbot.addWidget(menu_bar) + + +def test_setup_application(qapp): + _setup_application(qapp) + + +def test_file_dialog(tmpdir, qtbot): + dialog = FileDialog( + filefilter=None, + directory=False, + save_mode=False, + show=False, + ) + qtbot.addWidget(dialog) + + dialog.emit_accepted() # test no result + + p = tmpdir.mkdir("tmp").join("foo.png") + p.write('foo') + assert os.path.isfile(p) + + filename = str(p) + dialog.selectFile(filename) + + # show the dialog + assert not dialog.isVisible() + with qtbot.wait_exposed(dialog): + dialog.show() + assert dialog.isVisible() + + # synchronise signal and callback + with qtbot.wait_signals([dialog.dlg_accepted], timeout=1000): + dialog.accept() + assert not dialog.isVisible() # dialog is closed after accept() + + def test_check_type(): with pytest.raises(TypeError, match="Expected type"): _check_type(0, "foo", [str]) @@ -586,6 +626,27 @@ def test_background_plotting_menu_bar(qtbot, plotting): assert plotter._last_update_time == -np.inf +def test_drop_event(tmpdir): + output_dir = str(tmpdir.mkdir("tmpdir")) + filename = str(os.path.join(output_dir, "tmp.vtk")) + mesh = pyvista.Cone() + mesh.save(filename) + assert os.path.isfile(filename) + plotter = BackgroundPlotter() + point = QPointF(0, 0) + data = QMimeData() + data.setUrls([QUrl(filename)]) + event = QDropEvent( + point, + Qt.DropAction.IgnoreAction, + data, + Qt.MouseButton.NoButton, + Qt.KeyboardModifier.NoModifier, + ) + plotter.dropEvent(event) + plotter.close() + + def test_drag_event(tmpdir): output_dir = str(tmpdir.mkdir("tmpdir")) filename = str(os.path.join(output_dir, "tmp.vtk")) From bfa4107ae4f0eaed6083c99ae83d1ef022572b96 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 29 Mar 2022 23:06:35 +0200 Subject: [PATCH 067/125] MNT: Readme (#156) * update * fix * fix --- README.rst | 28 +++++++++++----------------- codecov.yml | 2 +- docs/conf.py | 4 ++-- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/README.rst b/README.rst index 5bdff49f..3f665bb0 100644 --- a/README.rst +++ b/README.rst @@ -11,19 +11,19 @@ PyVistaQt :target: https://anaconda.org/conda-forge/pyvistaqt :alt: conda-forge -.. image:: https://dev.azure.com/pyvista/PyVista/_apis/build/status/pyvista.pyvistaqt?branchName=master - :target: https://dev.azure.com/pyvista/PyVista/_build/latest?definitionId=9&branchName=master +.. image:: https://dev.azure.com/pyvista/PyVista/_apis/build/status/pyvista.pyvistaqt?branchName=main + :target: https://dev.azure.com/pyvista/PyVista/_build/latest?definitionId=9&branchName=main :alt: Azure Pipelines -.. image:: https://github.com/pyvista/pyvistaqt/actions/workflows/ci.yml/badge.svg?branch=master - :target: https://github.com/pyvista/pyvistaqt/actions?query=branch:master+event:push +.. image:: https://github.com/pyvista/pyvistaqt/actions/workflows/ci.yml/badge.svg?branch=main + :target: https://github.com/pyvista/pyvistaqt/actions?query=branch:main+event:push :alt: GitHub Actions .. image:: https://img.shields.io/badge/License-MIT-yellow.svg :target: https://opensource.org/licenses/MIT :alt: MIT License -.. image:: https://codecov.io/gh/pyvista/pyvistaqt/branch/master/graph/badge.svg +.. image:: https://codecov.io/gh/pyvista/pyvistaqt/branch/main/graph/badge.svg :target: https://codecov.io/gh/pyvista/pyvistaqt :alt: Codecov @@ -44,7 +44,7 @@ PyVistaQt :alt: black ``pyvistaqt`` is a helper module for ``pyvista`` to enable you to -plot using ``pyqt`` by placing a vtk-widget into a background render. +plot using Qt by placing a vtk-widget into a background renderer. This can be quite useful when you desire to update your plot in real-time. @@ -59,12 +59,12 @@ installation and usage details of the core package which is used alongside this package. For general questions about the project, its applications, or about software -usage, please create an issue in the `pyvista/pyvista-support`_ repository +usage, please create a discussion in `pyvista/discussions`_ where the community can collectively address your questions. You are also welcome to join us on Slack_ or send one of the developers an email. The project support team can be reached at `info@pyvista.org`_. -.. _pyvista/pyvista-support: https://github.com/pyvista/pyvista-support +.. _pyvista/discussions: https://github.com/pyvista/pyvista/discussions .. _Slack: http://slack.pyvista.org .. _info@pyvista.org: mailto:info@pyvista.org @@ -97,14 +97,8 @@ volunteer basis and thus we need to foster a community that can support user questions and develop new features to make this software a useful tool for all users while encouraging every member of the community to share their ideas. To learn more about contributing to -PyVista, please see the the ``pyvista`` `Contributing Guide`_ and +PyVista, please see the ``pyvista`` `Contributing Guide`_ and `Code of Conduct`_. -.. _Contributing Guide: https://github.com/pyvista/pyvista/blob/master/CONTRIBUTING.md -.. _Code of Conduct: https://github.com/pyvista/pyvista/blob/master/CODE_OF_CONDUCT.md - -License -======= -While ``pyvistaqt`` is under the MIT license, ``pyqt5`` is subject to -the GPL license. Please see deails at -`Riverbank License FAQ `_. +.. _Contributing Guide: https://github.com/pyvista/pyvista/blob/main/CONTRIBUTING.md +.. _Code of Conduct: https://github.com/pyvista/pyvista/blob/main/CODE_OF_CONDUCT.md diff --git a/codecov.yml b/codecov.yml index 04d9052b..0b7ed5fe 100644 --- a/codecov.yml +++ b/codecov.yml @@ -2,7 +2,7 @@ comment: layout: "diff" require_changes: false # if true: only post the comment if coverage changes branches: # branch names that can post comment - - "master" + - "main" coverage: status: diff --git a/docs/conf.py b/docs/conf.py index 6af916ef..443edd55 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -123,13 +123,13 @@ # Format Template: https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/blob/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ suffix }} 'github_user': 'pyvista', 'github_repo': 'pyvistaqt', - 'github_version': 'master/docs/', + 'github_version': 'main/docs/', 'menu_links_name': 'Getting Connected', 'menu_links': [ (' Slack Community', 'http://slack.pyvista.org'), (' Support', 'https://github.com/pyvista/pyvista-support'), (' Source Code', 'https://github.com/pyvista/pyvistaqt'), - (' Contributing', 'https://github.com/pyvista/pyvistaqt/blob/master/CONTRIBUTING.md'), + (' Contributing', 'https://github.com/pyvista/pyvistaqt/blob/main/CONTRIBUTING.md'), ], } From 5e3902172c3dcd1bcef67a18e7c16a3ea8a122d6 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 2 Apr 2022 00:11:35 +0200 Subject: [PATCH 068/125] MNT: conda forge (#157) * update * remove cruft * remove cruft * refactor * linting * doc * do not cover * add no qt job * fix * testing * fix * fix * Apply suggestions from code review Co-authored-by: Eric Larson * fix * update * update * update * FIX: Trickery * FIX: Shhhh Co-authored-by: Eric Larson --- .github/workflows/ci.yml | 10 +++++++++- mypy_checklist.txt | 1 - pyvistaqt/__init__.py | 33 +++++++++++++++++++++++++++++++-- tests/conftest.py | 34 +++++++++++++++++++++++++++++++--- tests/test_qt.py | 13 +++++++++++++ 5 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 tests/test_qt.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0120705c..ac52f3ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - qt: ['PySide2', 'PySide6', 'PyQt5', 'PyQt6'] + qt: ['None', 'PySide2', 'PySide6', 'PyQt5', 'PyQt6'] defaults: run: shell: bash @@ -40,14 +40,22 @@ jobs: name: 'Install dependencies with pip' - run: pip install ${{ matrix.qt }} name: 'Install Qt binding' + if: matrix.qt != 'None' - run: | pip install -e . python -c "import pyvista; print(pyvista.Report())" name: 'Install pyvistaqt' - run: python pyvistaqt/rwi.py name: 'Run QVTKRenderWidgetConeExample' + if: matrix.qt != 'None' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' + if: matrix.qt != 'None' + - run: | + pip uninstall -y pytest-qt + pytest -v tests/test_qt.py + name: 'Import without Qt' + if: matrix.qt == 'None' - uses: codecov/codecov-action@v2 if: success() name: 'Upload coverage to CodeCov' diff --git a/mypy_checklist.txt b/mypy_checklist.txt index d4be7635..9f25f544 100644 --- a/mypy_checklist.txt +++ b/mypy_checklist.txt @@ -1,4 +1,3 @@ -pyvistaqt/__init__.py pyvistaqt/_version.py pyvistaqt/counter.py pyvistaqt/dialog.py diff --git a/pyvistaqt/__init__.py b/pyvistaqt/__init__.py index 8a51205f..003c6288 100755 --- a/pyvistaqt/__init__.py +++ b/pyvistaqt/__init__.py @@ -1,6 +1,35 @@ """PyVista package for 3D plotting and mesh analysis.""" -from pyvistaqt._version import __version__ -from pyvistaqt.plotting import BackgroundPlotter, MainWindow, MultiPlotter, QtInteractor +from ._version import __version__ + +try: + from qtpy import QtCore # noqa +except Exception as exc: # pragma: no cover # pylint: disable=broad-except + _exc_msg = exc + + # pylint: disable=too-few-public-methods + class _QtBindingError: + def __init__(self, *args, **kwargs): + raise RuntimeError(f"No Qt binding was found, got: {_exc_msg}") + + # pylint: disable=too-few-public-methods + class BackgroundPlotter(_QtBindingError): + """Handle Qt binding error for BackgroundPlotter.""" + + # pylint: disable=too-few-public-methods + class MainWindow(_QtBindingError): + """Handle Qt binding error for MainWindow.""" + + # pylint: disable=too-few-public-methods + class MultiPlotter(_QtBindingError): + """Handle Qt binding error for MultiPlotter.""" + + # pylint: disable=too-few-public-methods + class QtInteractor(_QtBindingError): + """Handle Qt binding error for QtInteractor.""" + +else: + from .plotting import BackgroundPlotter, MainWindow, MultiPlotter, QtInteractor + __all__ = [ "__version__", diff --git a/tests/conftest.py b/tests/conftest.py index 9da43757..56dae794 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,42 @@ -import gc -import os +import importlib +import sys + import pytest -import pyvista from pyvista.plotting import system_supports_plotting +import pyvistaqt NO_PLOTTING = not system_supports_plotting() + +def _check_qt_installed(): + try: + from qtpy import QtCore # noqa + except Exception: + return False + else: + return True + + @pytest.fixture() def plotting(): """Require plotting.""" if NO_PLOTTING: pytest.skip(NO_PLOTTING, reason="Requires system to support plotting") yield + + +@pytest.fixture() +def no_qt(monkeypatch): + """Require plotting.""" + need_reload = False + if _check_qt_installed(): + need_reload = True + monkeypatch.setenv('QT_API', 'bad_name') + sys.modules.pop('qtpy') + importlib.reload(pyvistaqt) + assert 'qtpy' not in sys.modules + yield + monkeypatch.undo() + if need_reload: + importlib.reload(pyvistaqt) + assert 'qtpy' in sys.modules diff --git a/tests/test_qt.py b/tests/test_qt.py new file mode 100644 index 00000000..abb74984 --- /dev/null +++ b/tests/test_qt.py @@ -0,0 +1,13 @@ +import pytest + + +def test_no_qt_binding(no_qt): + from pyvistaqt import BackgroundPlotter, MainWindow, MultiPlotter, QtInteractor + with pytest.raises(RuntimeError, match="No Qt binding"): + BackgroundPlotter() + with pytest.raises(RuntimeError, match="No Qt binding"): + MainWindow() + with pytest.raises(RuntimeError, match="No Qt binding"): + MultiPlotter() + with pytest.raises(RuntimeError, match="No Qt binding"): + QtInteractor() From a1e755f6c02e53ac6b7516235d9c4a43dba22869 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 2 Apr 2022 00:40:22 +0200 Subject: [PATCH 069/125] prepare release --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index e949c06e..b2630752 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 8, "dev0" +VERSION_INFO = 0, 8, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 8070e535e81b36ffd28406981a0b6e779f45c9b1 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 2 Apr 2022 00:54:11 +0200 Subject: [PATCH 070/125] bump version --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index b2630752..75b270d5 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 8, 0 +VERSION_INFO = 0, 9, 'dev0' # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 81eaf9dea5716da0f7f6ce261d0b150f1e75996f Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 2 Apr 2022 01:01:30 +0200 Subject: [PATCH 071/125] fix --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 75b270d5..50e4dde3 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 9, 'dev0' +VERSION_INFO = 0, 9, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From ac8dd04cb884225856626801613590b831cb7429 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Sat, 2 Apr 2022 01:18:55 +0200 Subject: [PATCH 072/125] maint (#159) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac52f3ec..fe6b41ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.32', '0.33'] + pyvista: ['0.32', '0.33', '0.34'] defaults: run: shell: bash From 8d5e158813dc9b8380ce5a34fc94d4b423737649 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 6 Apr 2022 18:00:01 +0200 Subject: [PATCH 073/125] FIX: RWI (#160) * update * names --- pyvistaqt/rwi.py | 55 ++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/pyvistaqt/rwi.py b/pyvistaqt/rwi.py index a87e0de2..3865bbfd 100644 --- a/pyvistaqt/rwi.py +++ b/pyvistaqt/rwi.py @@ -51,6 +51,9 @@ Changes by Chen Jintao, Aug. 2021 Support for PySide6 + +Changes by Eric Larson and Guillaume Favelier, Apr. 2022 + Support for PyQt6 """ # Check whether a specific PyQt implementation was chosen @@ -200,15 +203,27 @@ else: raise ImportError("Unknown base class for QVTKRenderWindowInteractor " + QVTKRWIBase) -CursorShape = Qt.CursorShape if PyQtImpl == "PyQt6" else Qt -MouseButton = Qt.MouseButton if PyQtImpl == "PyQt6" else Qt -WindowType = Qt.WindowType if PyQtImpl == "PyQt6" else Qt -WidgetAttribute = Qt.WidgetAttribute if PyQtImpl == "PyQt6" else Qt -KeyboardModifier = Qt.KeyboardModifier if PyQtImpl == "PyQt6" else Qt -FocusPolicy = Qt.FocusPolicy if PyQtImpl == "PyQt6" else Qt -SizePolicy = QSizePolicy.Policy if PyQtImpl == "PyQt6" else QSizePolicy -ConnectionType = Qt.ConnectionType if PyQtImpl == "PyQt6" else Qt -Key = Qt.Key if PyQtImpl == "PyQt6" else Qt +if PyQtImpl == 'PyQt6': + CursorShape = Qt.CursorShape + MouseButton = Qt.MouseButton + WindowType = Qt.WindowType + WidgetAttribute = Qt.WidgetAttribute + KeyboardModifier = Qt.KeyboardModifier + FocusPolicy = Qt.FocusPolicy + ConnectionType = Qt.ConnectionType + Key = Qt.Key + SizePolicy = QSizePolicy.Policy + EventType = QEvent.Type +else: + CursorShape = MouseButton = WindowType = WidgetAttribute = \ + KeyboardModifier = FocusPolicy = ConnectionType = Key = Qt + SizePolicy = QSizePolicy + EventType = QEvent + +if PyQtImpl in ('PyQt4', 'PySide'): + MiddleButton = MouseButton.MidButton +else: + MiddleButton = MouseButton.MiddleButton def _get_event_pos(ev): @@ -497,14 +512,14 @@ def _GetCtrlShift(self, ev): ctrl = shift = False if hasattr(ev, 'modifiers'): - if ev.modifiers() & Qt.ShiftModifier: + if ev.modifiers() & KeyboardModifier.ShiftModifier: shift = True - if ev.modifiers() & Qt.ControlModifier: + if ev.modifiers() & KeyboardModifier.ControlModifier: ctrl = True else: - if self.__saveModifiers & Qt.ShiftModifier: + if self.__saveModifiers & KeyboardModifier.ShiftModifier: shift = True - if self.__saveModifiers & Qt.ControlModifier: + if self.__saveModifiers & KeyboardModifier.ControlModifier: ctrl = True return ctrl, shift @@ -548,18 +563,18 @@ def mousePressEvent(self, ev): pos_x, pos_y = _get_event_pos(ev) ctrl, shift = self._GetCtrlShift(ev) repeat = 0 - if ev.type() == QEvent.MouseButtonDblClick: + if ev.type() == EventType.MouseButtonDblClick: repeat = 1 self._setEventInformation(pos_x, pos_y, ctrl, shift, chr(0), repeat, None) self._ActiveButton = ev.button() - if self._ActiveButton == Qt.LeftButton: + if self._ActiveButton == MouseButton.LeftButton: self._Iren.LeftButtonPressEvent() - elif self._ActiveButton == Qt.RightButton: + elif self._ActiveButton == MouseButton.RightButton: self._Iren.RightButtonPressEvent() - elif self._ActiveButton == Qt.MidButton: + elif self._ActiveButton == MiddleButton: self._Iren.MiddleButtonPressEvent() def mouseReleaseEvent(self, ev): @@ -568,11 +583,11 @@ def mouseReleaseEvent(self, ev): self._setEventInformation(pos_x, pos_y, ctrl, shift, chr(0), 0, None) - if self._ActiveButton == Qt.LeftButton: + if self._ActiveButton == MouseButton.LeftButton: self._Iren.LeftButtonReleaseEvent() - elif self._ActiveButton == Qt.RightButton: + elif self._ActiveButton == MouseButton.RightButton: self._Iren.RightButtonReleaseEvent() - elif self._ActiveButton == Qt.MidButton: + elif self._ActiveButton == MiddleButton: self._Iren.MiddleButtonReleaseEvent() def mouseMoveEvent(self, ev): From 6ffcd2c583c59fe479022e7420e139840da18f0b Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 6 Apr 2022 18:11:09 +0200 Subject: [PATCH 074/125] prepare release 0.9.0 --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 50e4dde3..9b61ac20 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 9, "dev0" +VERSION_INFO = 0, 9, 0 # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 9334f9d937792cfa1f692e936b35b89a46260851 Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Wed, 6 Apr 2022 18:16:21 +0200 Subject: [PATCH 075/125] bump --- pyvistaqt/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/_version.py b/pyvistaqt/_version.py index 9b61ac20..41aab3cf 100644 --- a/pyvistaqt/_version.py +++ b/pyvistaqt/_version.py @@ -1,6 +1,6 @@ """Version info for pyvistaqt.""" # major, minor, patch -VERSION_INFO = 0, 9, 0 +VERSION_INFO = 0, 10, "dev0" # Nice string for the version __version__ = ".".join(map(str, VERSION_INFO)) From 45ba85c02d070bb723f87d0b1548d8d546f0e25d Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Tue, 28 Jun 2022 11:34:14 +0900 Subject: [PATCH 076/125] Use dependabot and dropping Python3.6 support (#164) * Use dependabot * Update azure-pipelines.yml * Update macos-install-python.sh * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review --- .ci/azure-pipelines.yml | 6 ------ .ci/macos-install-python.sh | 6 ------ .github/dependabot.yml | 11 +++++++++++ requirements_docs.txt | 32 ++++++++++++++++---------------- requirements_test.txt | 37 ++++++++++++++++++------------------- 5 files changed, 45 insertions(+), 47 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 1e4532bb..7538e638 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -72,8 +72,6 @@ stages: strategy: matrix: - Python36: - python.version: '3.6' Python37: python.version: '3.7' Python38: @@ -181,8 +179,6 @@ stages: strategy: maxParallel: 4 matrix: - Python36-64bit: - PYTHON_VERSION: '3.6' Python37-64bit: PYTHON_VERSION: '3.7' Python38-64bit: @@ -221,8 +217,6 @@ stages: python.architecture: 'x64' strategy: matrix: - Python36: - python.version: '3.6' Python37: python.version: '3.7' Python38: diff --git a/.ci/macos-install-python.sh b/.ci/macos-install-python.sh index 55fa403d..3519afff 100755 --- a/.ci/macos-install-python.sh +++ b/.ci/macos-install-python.sh @@ -3,12 +3,6 @@ PYTHON_VERSION="$1" case $PYTHON_VERSION in -2.7) - FULL_VERSION=2.7.16 - ;; -3.6) - FULL_VERSION=3.6.8 - ;; 3.7) FULL_VERSION=3.7.7 ;; diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6b2b6295..8b967215 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,17 @@ version: 2 updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + insecure-external-code-execution: allow + schedule: + interval: "daily" + labels: + - "maintenance" + - "dependencies" - package-ecosystem: "github-actions" directory: "/.github/workflows" schedule: interval: "daily" + labels: + - "maintenance" + - "dependencies" diff --git a/requirements_docs.txt b/requirements_docs.txt index 2ff00b26..4600bd65 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,16 +1,16 @@ -imageio>=2.5.0 -imageio-ffmpeg -colorcet -cmocean -matplotlib -meshio>=4.0.3, <5.0 -qtpy -pytest-sphinx -Sphinx -sphinx-autobuild -sphinx-rtd-theme -sphinxcontrib-napoleon -sphinxcontrib-websupport -sphinx-notfound-page>=0.3.0 -sphinx-copybutton -lxml +cmocean==2.0 +colorcet==3.0.0 +imageio==2.5.0 +imageio-ffmpeg==0.4.7 +lxml==4.8.0 +matplotlib==3.5.1 +meshio==5.3.4 +pytest-sphinx==0.4.0 +QtPy==2.1.0 +Sphinx==4.5.0 +sphinx-autobuild==2021.3.14 +sphinx-copybutton==0.5.0 +sphinx-notfound-page==0.8 +sphinx-rtd-theme==1.0.0 +sphinxcontrib-napoleon==0.7 +sphinxcontrib-websupport==1.2.4 diff --git a/requirements_test.txt b/requirements_test.txt index 57df7000..dd538555 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,19 +1,18 @@ -codecov -ipython -numpy -pytest -pytest-cov -pytest-memprof -pytest-qt -pyvista>=0.32.0 -qtpy>=1.9.0 -scooby>=0.5.1 -vtk -black -isort -pylint -pycodestyle -mypy -flake8 -codespell -pydocstyle +black==22.3.0 +codecov==2.1.12 +codespell==2.1.0 +flake8==4.0.1 +ipython==7.34.0 +isort==5.10.1 +mypy==0.950 +numpy==1.21.6 +pycodestyle==2.8.0 +pydocstyle==6.1.1 +pylint==2.13.0 +pytest==7.1.2 +pytest-cov==3.0.0 +pytest-memprof==0.2.0 +pytest-qt==4.0.2 +pyvista==0.34.1 +QtPy==2.1.0 +scooby==0.5.12 From cd1f6e8db891c53ebde89818a112c4524c307f7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 11:48:07 +0900 Subject: [PATCH 077/125] Bump mypy from 0.950 to 0.961 (#171) Bumps [mypy](https://github.com/python/mypy) from 0.950 to 0.961. - [Release notes](https://github.com/python/mypy/releases) - [Commits](https://github.com/python/mypy/compare/v0.950...v0.961) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index dd538555..e34362cc 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -4,7 +4,7 @@ codespell==2.1.0 flake8==4.0.1 ipython==7.34.0 isort==5.10.1 -mypy==0.950 +mypy==0.961 numpy==1.21.6 pycodestyle==2.8.0 pydocstyle==6.1.1 From e5306f2675180c8436d3e37a7c276d19f100cdf0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 11:54:23 +0900 Subject: [PATCH 078/125] Bump pytest-qt from 4.0.2 to 4.1.0 (#172) Bumps [pytest-qt](https://github.com/pytest-dev/pytest-qt) from 4.0.2 to 4.1.0. - [Release notes](https://github.com/pytest-dev/pytest-qt/releases) - [Changelog](https://github.com/pytest-dev/pytest-qt/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest-qt/compare/4.0.2...4.1.0) --- updated-dependencies: - dependency-name: pytest-qt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index e34362cc..a61fb0a8 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -12,7 +12,7 @@ pylint==2.13.0 pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 -pytest-qt==4.0.2 +pytest-qt==4.1.0 pyvista==0.34.1 QtPy==2.1.0 scooby==0.5.12 From 94253041ea4490855c0bbaa49e1cb696c5c42d91 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 11:55:16 +0900 Subject: [PATCH 079/125] Bump matplotlib from 3.5.1 to 3.5.2 (#173) Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.5.1 to 3.5.2. - [Release notes](https://github.com/matplotlib/matplotlib/releases) - [Commits](https://github.com/matplotlib/matplotlib/compare/v3.5.1...v3.5.2) --- updated-dependencies: - dependency-name: matplotlib dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 4600bd65..9d9aa403 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -3,7 +3,7 @@ colorcet==3.0.0 imageio==2.5.0 imageio-ffmpeg==0.4.7 lxml==4.8.0 -matplotlib==3.5.1 +matplotlib==3.5.2 meshio==5.3.4 pytest-sphinx==0.4.0 QtPy==2.1.0 From 046b633196bc2fab56e422414cab41797d489caf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 16:57:44 +0900 Subject: [PATCH 080/125] Bump imageio from 2.5.0 to 2.19.3 (#177) Bumps [imageio](https://github.com/imageio/imageio) from 2.5.0 to 2.19.3. - [Release notes](https://github.com/imageio/imageio/releases) - [Changelog](https://github.com/imageio/imageio/blob/master/CHANGELOG.md) - [Commits](https://github.com/imageio/imageio/compare/v2.5.0...v2.19.3) --- updated-dependencies: - dependency-name: imageio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 9d9aa403..3e3ce0b9 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,6 +1,6 @@ cmocean==2.0 colorcet==3.0.0 -imageio==2.5.0 +imageio==2.19.3 imageio-ffmpeg==0.4.7 lxml==4.8.0 matplotlib==3.5.2 From a0803a224beac24699af20679e95025ba2906488 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 17:03:25 +0900 Subject: [PATCH 081/125] Bump black from 22.3.0 to 22.6.0 (#178) Bumps [black](https://github.com/psf/black) from 22.3.0 to 22.6.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/22.3.0...22.6.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index a61fb0a8..323e5d68 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,4 +1,4 @@ -black==22.3.0 +black==22.6.0 codecov==2.1.12 codespell==2.1.0 flake8==4.0.1 From 988637c498954f9a53e2c8299c06a1b098b78310 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 17:03:37 +0900 Subject: [PATCH 082/125] Bump sphinx from 4.5.0 to 5.0.2 (#179) Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.5.0 to 5.0.2. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/5.x/CHANGES) - [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.5.0...v5.0.2) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 3e3ce0b9..53f89e0e 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -7,7 +7,7 @@ matplotlib==3.5.2 meshio==5.3.4 pytest-sphinx==0.4.0 QtPy==2.1.0 -Sphinx==4.5.0 +Sphinx==5.0.2 sphinx-autobuild==2021.3.14 sphinx-copybutton==0.5.0 sphinx-notfound-page==0.8 From 784ff80e54927273951ad4df8ac3447c3e300ded Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 17:40:52 +0900 Subject: [PATCH 083/125] Bump lxml from 4.8.0 to 4.9.0 (#181) Bumps [lxml](https://github.com/lxml/lxml) from 4.8.0 to 4.9.0. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-4.8.0...lxml-4.9.0) --- updated-dependencies: - dependency-name: lxml dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 53f89e0e..a58307e0 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -2,7 +2,7 @@ cmocean==2.0 colorcet==3.0.0 imageio==2.19.3 imageio-ffmpeg==0.4.7 -lxml==4.8.0 +lxml==4.9.0 matplotlib==3.5.2 meshio==5.3.4 pytest-sphinx==0.4.0 From a84558ff05005c2d96e9975dedb3e3a67b60dc29 Mon Sep 17 00:00:00 2001 From: charlessillett <56940108+charlessillett@users.noreply.github.com> Date: Tue, 28 Jun 2022 10:00:00 +0100 Subject: [PATCH 084/125] Fixed auto-update docstring (#161) Co-authored-by: Tetsuo Koyama --- pyvistaqt/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 496ce88d..4f688e7e 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -171,7 +171,7 @@ class QtInteractor(QVTKRenderWindowInteractor, BasePlotter): If True, enable polygon smothing auto_update : - Automatic update rate in seconds. Useful for automatically + Number of updates per second. Useful for automatically updating the render window when actors are change without being automatically ``Modified``. """ From a3886c2088ad57903bfd6ac223eff4620ee0d1ea Mon Sep 17 00:00:00 2001 From: adam-grant-hendry <59346180+adam-grant-hendry@users.noreply.github.com> Date: Tue, 28 Jun 2022 17:10:21 -0700 Subject: [PATCH 085/125] Update Formatting Tools (#182) * refactor(trove-classifiers): update to python 3.7-3.9 * refactor(linters): add `.flake8` and `.codespellrc` configuration files Also add `PullRequest` to `ignore_words.txt` * feat(pyproject): add `pyproject.toml` Currently, this is only use for configuring linters and formatters (no build file specifications are set). Configuration options for `black` and `pydocstyle` are added here in this commit. * feat(pre-commit): add pre-commit * fix(mypy): add `mypy` dependency to `environment.yml` This supports conda test/build environments. * feat(pylint): Update `.pylintrc` Make this match settings specififed in `Makefile`. * feat(test): align checks All checks are placed in appropriate config files. Test runner scripts point to these so that there exists a single source of truth for all configurations and that the tests performed across systems is the same. This may be adjusted, of course, if different settings must be used on a per-system basis. * feat(requirements): add `toml` This package supports reading `pyproject.toml`, which is required for some of our tests. * fix(pre-commit): fix file passing errors `pre-commit` is known to override behavior from config files in certain instances. This commit fixes known issues for: - `isort` - `black` - `mypy` - `pydocstyle` For relevant details, see: isort: + https://jugmac00.github.io/blog/isort-and-pre-commit-a-friendship-with-obstacles/ + https://github.com/PyCQA/isort/issues/885 black: + https://github.com/psf/black/issues/1584 mypy/pydocstyle: + https://github.com/python/mypy/issues/4008#issuecomment-708060733 + https://pre-commit.com/#hooks-pass_filenames * feat(ignores): ignore specific linting errors Ignore linting errors in source code in this PR. The purpose of this PR is to update linting tools. A future PR will correct the errors. This is done to separate concerns. Co-authored-by: Hendry, Adam --- .ci/azure-pipelines.yml | 2 +- .codespellrc | 4 ++ .flake8 | 42 ++++++++++++++++ .isort.cfg | 10 ++++ .pre-commit-config.yaml | 108 ++++++++++++++++++++++++++++++++++++++++ .pycodestyle | 8 +++ .pylintrc | 93 ++++++---------------------------- Makefile | 41 ++++++++------- environment.yml | 2 + ignore_words.txt | 1 + mypy.ini | 1 + pyproject.toml | 29 +++++++++++ requirements_docs.txt | 1 + requirements_test.txt | 7 +++ setup.py | 4 +- 15 files changed, 254 insertions(+), 99 deletions(-) create mode 100644 .codespellrc create mode 100644 .flake8 create mode 100644 .pre-commit-config.yaml create mode 100644 .pycodestyle create mode 100644 pyproject.toml diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 7538e638..7949eb49 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -52,7 +52,7 @@ stages: inputs: versionSpec: '3.7' - script: | - pip install codespell pydocstyle + pip install codespell pydocstyle[toml] make doctest displayName: 'Run doctest' diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 00000000..5fcc7728 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,4 @@ +[codespell] +skip = ./.ci/*,./.git/*,./.hypothesis/*,./dist/*,./doc/examples/*,./doc/images/*,./docs/_build/*,./docs/images/*,./tests/tinypages/_build/*,.hypothesis*,*.doctree,*.eot,*.gif,*.html,*.inv,*.ipynb,*.jpg,*.js,*.json,*.mp4,*.mypy_cache/*,*.pickle,*.ply,*.png,*.pyc,*.ttf,*.txt,*.vti,*.vtk,*.vtu,*.woff,*.woff2,*.yml,*/_autosummary/*,*~,*cover,doc/_build/*,flycheck* +ignore-words-list = lod,byteorder,flem,parm,doubleclick,revered,PullRequest +quiet-level = 3 diff --git a/.flake8 b/.flake8 new file mode 100644 index 00000000..ce7b4297 --- /dev/null +++ b/.flake8 @@ -0,0 +1,42 @@ +[flake8] +max-line-length = 88 +exclude = + __pycache__, + .venv, + .cache, + .eggs + .git, + .tox, + *.egg-info, + *.pyc, + *.pyi, + build, + dist, + # This is adopted from VTK + pyvistaqt/rwi.py, + # Only lint source files + tests/*.py, + docs/*.py, + # Ignore errors here in this commit (fix in future PR) + pyvistaqt/*.py, + setup.py +max-complexity = 10 +doctests = true +extend-ignore = + # whitespace before ':' + E203, + # line break before binary operator + W503, + # line length too long + E501, + # do not assign a lambda expression, use a def + E731, + # missing class docstring; use ``__init__`` docstring instead + D101, + # missing docstring in magic method + D105, + # Qt uses camelCase + N802 +per-file-ignores = + # Allow re-export of modules at package level + __init__.py:F401 \ No newline at end of file diff --git a/.isort.cfg b/.isort.cfg index ba2778dc..1567719e 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -1,6 +1,16 @@ [settings] +profile=black multi_line_output=3 include_trailing_comma=True force_grid_wrap=0 use_parentheses=True line_length=88 +ensure_newline_before_comments=True +extend_skip_glob=tests/*.py,docs/conf.py,setup.py,pyvistaqt/rwi.py +# `pre-comment` doesn't see skips; `filter_files=True` forces it +# to see these files +# +# See: +# - https://jugmac00.github.io/blog/isort-and-pre-commit-a-friendship-with-obstacles/ +# - https://github.com/PyCQA/isort/issues/885 +filter_files=True \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..38d3fc70 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,108 @@ +repos: +- repo: https://github.com/psf/black + rev: 22.3.0 + hooks: + - id: black + args: [ + "--config=pyproject.toml" + ] + +- repo: https://github.com/pycqa/isort + rev: 5.10.1 + hooks: + - id: isort + args: [ + "--check", + "--settings=.isort.cfg" + ] + +- repo: https://github.com/pre-commit/mirrors-mypy + rev: v0.961 + hooks: + - id: mypy + # `pass_filenames` is used to overcome the "duplicate module" + # error from occuring. We are explicitly passing a 'txt' + # file to search. This setting tells `pre-commit` to not do a + # search and pass files to check to mypy, like it normally does. + # + # See: + # - https://github.com/python/mypy/issues/4008#issuecomment-708060733 + # - https://pre-commit.com/#hooks-pass_filenames + language: system + pass_filenames: false + args: [ + "--config-file", + "mypy.ini", + "@mypy_checklist.txt" + ] + +- repo: https://gitlab.com/PyCQA/flake8 + rev: 3.9.2 + hooks: + - id: flake8 + additional_dependencies: [ + "flake8-black==0.3.2", + "flake8-isort==4.1.1", + "flake8-quotes==3.3.1", + ] + args: [ + "--config=.flake8" + ] + +- repo: https://github.com/codespell-project/codespell + rev: v2.1.0 + hooks: + - id: codespell + args: [ + "docs examples examples_flask pyvista tests", + "*.py *.rst *.md", + ] + +- repo: https://github.com/pycqa/pydocstyle + rev: 6.1.1 + hooks: + - id: pydocstyle + additional_dependencies: [toml==0.10.2] + # We use the 'match' and do not want pre-commit to pass + # globbed files + pass_filenames: false + args: [ + "--config=pyproject.toml", + ] + +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: check-merge-conflict + - id: debug-statements + - id: no-commit-to-branch + args: [--branch, main] + +# this validates our github workflow files +- repo: https://github.com/python-jsonschema/check-jsonschema + rev: 0.16.1 + hooks: + - id: check-github-workflows + +- repo: local + hooks: + - id: pylint + name: pylint + entry: pylint + language: system + types: [python] + args: + [ + "-rn", # Only display messages + "-sn", # Don't display the score + "--rcfile=.pylintrc", # Specify rc file + ] + - id: pycodestyle + name: pycodestyle + entry: pycodestyle + language: system + types: [python] + args: + [ + "--config=./\\.pycodestyle", + ] \ No newline at end of file diff --git a/.pycodestyle b/.pycodestyle new file mode 100644 index 00000000..a2b33ce6 --- /dev/null +++ b/.pycodestyle @@ -0,0 +1,8 @@ +[pycodestyle] +ignore = E501, + E203, + W503 +exclude = tests/*.py, + docs/*.py, + rwi.py +filename = pyvistaqt/*.py \ No newline at end of file diff --git a/.pylintrc b/.pylintrc index a0629152..5de8a04a 100644 --- a/.pylintrc +++ b/.pylintrc @@ -3,18 +3,25 @@ # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. -extension-pkg-whitelist=vtk +extension-pkg-whitelist=vtk, + PyQt5, + PySide2, + PyQt6, + PySide6 # Specify a score threshold to be exceeded before program exits with error. fail-under=10 # Add files or directories to the blacklist. They should be base names, not # paths. -ignore=CVS +ignore=rwi.py, + conf.py, + conftest.py, + setup.py # ignore and fix in future PR # Add files or directories matching the regex patterns to the blacklist. The # regex matches against base names, not paths. -ignore-patterns= +ignore-patterns=(?=(coverage|test_|rwi)).*[.]py # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). @@ -60,17 +67,7 @@ confidence= # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use "--disable=all --enable=classes # --disable=W". -disable=print-statement, - parameter-unpacking, - unpacking-in-except, - old-raise-syntax, - backtick, - long-suffix, - old-ne-operator, - old-octal-literal, - import-star-module-level, - non-ascii-bytes-literal, - raw-checker-failed, +disable=raw-checker-failed, bad-inline-option, locally-disabled, file-ignored, @@ -78,71 +75,13 @@ disable=print-statement, useless-suppression, deprecated-pragma, use-symbolic-message-instead, - apply-builtin, - basestring-builtin, - buffer-builtin, - cmp-builtin, - coerce-builtin, - execfile-builtin, - file-builtin, - long-builtin, - raw_input-builtin, - reduce-builtin, - standarderror-builtin, - unicode-builtin, - xrange-builtin, - coerce-method, - delslice-method, - getslice-method, - setslice-method, - no-absolute-import, - old-division, - dict-iter-method, - dict-view-method, - next-method-called, - metaclass-assignment, - indexing-exception, - raising-string, - reload-builtin, - oct-method, - hex-method, - nonzero-method, - cmp-method, - input-builtin, - round-builtin, - intern-builtin, - unichr-builtin, - map-builtin-not-iterating, - zip-builtin-not-iterating, - range-builtin-not-iterating, - filter-builtin-not-iterating, - using-cmp-argument, - eq-without-hash, - div-method, - idiv-method, - rdiv-method, - exception-message-attribute, - invalid-str-codec, - sys-max-int, - bad-python3-import, - deprecated-string-function, - deprecated-str-translate-call, - deprecated-itertools-function, - deprecated-types-field, - next-method-defined, - dict-items-not-iterating, - dict-keys-not-iterating, - dict-values-not-iterating, - deprecated-operator-function, - deprecated-urllib-function, - xreadlines-attribute, - deprecated-sys-function, - exception-escape, - comprehension-escape, - bad-continuation, arguments-differ, no-name-in-module, - no-member + no-member, + # Redundant alias imports required for type hinting by PEP 484 + useless-import-alias, + # Qt uses PascalCase + invalid-name, # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff --git a/Makefile b/Makefile index 4fa729b3..ceaf59ed 100644 --- a/Makefile +++ b/Makefile @@ -7,16 +7,19 @@ PYLINT_DIRS ?= ./pyvistaqt/ MYPY_DIRS ?= "mypy_checklist.txt" FLAKE8_DIRS ?= ./pyvistaqt/ CODESPELL_DIRS ?= ./ -CODESPELL_SKIP ?= "*.json,*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,./docs/_build/*,./docs/images/*,./dist/*,./.ci/*" -CODESPELL_IGNORE ?= "ignore_words.txt" - -EXTRA_BLACK_OPTIONS ?= --exclude rwi.py -EXTRA_ISORT_OPTIONS ?= --skip=rwi.py -EXTRA_PYLINT_OPTIONS ?= --ignore=rwi.py -EXTRA_PYCODESTYLE_OPTIONS ?= --ignore="E501,E203,W503" --exclude=rwi.py -EXTRA_MYPY_OPTIONS ?= --follow-imports=skip -EXTRA_FLAKE8_OPTIONS ?= --ignore="E501,E203,W503" --exclude=rwi.py -EXTRA_PYDOCSTYLE_OPTIONS = --match='(?!(test_|rwi)).*\.py' +PYDOCSTYLE_DIRS ?= ./pyvistaqt/ +COVERAGE_DIRS ?= ./pyvistaqt/ +COVERAGE_HTML_DIRS ?= ./pyvistaqt/ +COVERAGE_XML_DIRS ?= ./pyvistaqt/ + +EXTRA_CODESPELL_OPTIONS ?= --config .codespellrc +EXTRA_BLACK_OPTIONS ?= --config pyproject.toml +EXTRA_ISORT_OPTIONS ?= --check --settings=.isort.cfg +EXTRA_PYLINT_OPTIONS ?= -rn -sn --rcfile=.pylintrc +EXTRA_PYCODESTYLE_OPTIONS ?= --config=.pycodestyle +EXTRA_MYPY_OPTIONS ?= --config-file mypy.ini +EXTRA_FLAKE8_OPTIONS ?= --config=.flake8 +EXTRA_PYDOCSTYLE_OPTIONS = --config=pyproject.toml all: srcstyle doctest @@ -26,15 +29,15 @@ doctest: codespell pydocstyle black: @echo "Running black" - @black --check $(BLACK_DIRS) $(EXTRA_BLACK_OPTIONS) + @black $(BLACK_DIRS) $(EXTRA_BLACK_OPTIONS) isort: @echo "Running isort" - @isort --check $(ISORT_DIRS) $(EXTRA_ISORT_OPTIONS) + @isort $(ISORT_DIRS) $(EXTRA_ISORT_OPTIONS) pylint: @echo "Running pylint" - @pylint $(PYLINT_DIRS) --rcfile=.pylintrc $(EXTRA_PYLINT_OPTIONS) + @pylint $(PYLINT_DIRS) $(EXTRA_PYLINT_OPTIONS) pycodestyle: @echo "Running pycodestyle" @@ -42,7 +45,7 @@ pycodestyle: mypy: @echo "Running mypy" - @mypy --config-file mypy.ini @$(MYPY_DIRS) $(EXTRA_MYPY_OPTIONS) + @mypy @$(MYPY_DIRS) $(EXTRA_MYPY_OPTIONS) flake8: @echo "Running flake8" @@ -50,20 +53,20 @@ flake8: codespell: @echo "Running codespell" - @codespell $(CODESPELL_DIRS) -S $(CODESPELL_SKIP) -I $(CODESPELL_IGNORE) + @codespell $(CODESPELL_DIRS) $(EXTRA_CODESPELL_OPTIONS) pydocstyle: @echo "Running pydocstyle" - @pydocstyle pyvistaqt $(EXTRA_PYDOCSTYLE_OPTIONS) + @pydocstyle $(PYDOCSTYLE_DIRS) $(EXTRA_PYDOCSTYLE_OPTIONS) coverage: @echo "Running coverage" - @pytest -v --cov pyvistaqt + @pytest -v --cov $(COVERAGE_DIRS) coverage-xml: @echo "Reporting XML coverage" - @pytest -v --cov pyvistaqt --cov-report xml + @pytest -v --cov $(COVERAGE_XML_DIRS) --cov-report xml coverage-html: @echo "Reporting HTML coverage" - @pytest -v --cov pyvistaqt --cov-report html + @pytest -v --cov $(COVERAGE_HTML_DIRS) --cov-report html diff --git a/environment.yml b/environment.yml index c0999b85..6dfe456f 100644 --- a/environment.yml +++ b/environment.yml @@ -5,12 +5,14 @@ dependencies: - python<3.9 - codecov - ipython + - mypy - numpy - pytest - pytest-cov - pytest-qt - qtpy>=1.9.0 - scooby>=0.5.1 + - toml - pip - pip: - vtk diff --git a/ignore_words.txt b/ignore_words.txt index 08703815..35430c91 100644 --- a/ignore_words.txt +++ b/ignore_words.txt @@ -1,3 +1,4 @@ lod byteorder flem +PullRequest \ No newline at end of file diff --git a/mypy.ini b/mypy.ini index 5fbf65b4..2b99d960 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,4 +1,5 @@ [mypy] +ignore_errors = True disallow_untyped_defs = True [mypy-vtk.*] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..32e2a562 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[tool.black] +line-length = 88 +skip-string-normalization = true +target-version = ["py39"] +# `pre-comment` doesn't see skips; `force-exclude` forces it +# to see these files +# +# See: +# - https://github.com/psf/black/issues/1584 +force-exclude = ''' +( + docs/conf\.py + | pyvistaqt/rwi\.py + | tests/.*\.py + | setup.py +) +''' +check = true + +[tool.pydocstyle] +match = ''' +(?! + ( + | tests/ + | docs/ + | rwi + ).*\.py +) +''' \ No newline at end of file diff --git a/requirements_docs.txt b/requirements_docs.txt index a58307e0..71932dd1 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -14,3 +14,4 @@ sphinx-notfound-page==0.8 sphinx-rtd-theme==1.0.0 sphinxcontrib-napoleon==0.7 sphinxcontrib-websupport==1.2.4 +toml==0.10.2 \ No newline at end of file diff --git a/requirements_test.txt b/requirements_test.txt index 323e5d68..c5537c53 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -16,3 +16,10 @@ pytest-qt==4.1.0 pyvista==0.34.1 QtPy==2.1.0 scooby==0.5.12 +flake8-black==0.3.2 +flake8-isort==4.1.1 +flake8-quotes==3.3.1 +check-jsonschema==0.16.1 +pre-commit==2.19.0 +pre-commit-hooks==4.3.0 +toml==0.10.2 \ No newline at end of file diff --git a/setup.py b/setup.py index 23a0a23d..240fc290 100644 --- a/setup.py +++ b/setup.py @@ -33,14 +33,14 @@ 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Operating System :: MacOS', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], url='https://github.com/pyvista/pyvistaqt', keywords='vtk numpy plotting mesh qt', - python_requires='>=3.6.*', + python_requires='>=3.7.*', install_requires=[ 'pyvista>=0.32.0', 'QtPy>=1.9.0', From 55e5ffb4261d870914bead81085641143d1b5a4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 16:54:36 +0900 Subject: [PATCH 086/125] Bump flake8-black from 0.3.2 to 0.3.3 (#184) Bumps [flake8-black](https://github.com/peterjc/flake8-black) from 0.3.2 to 0.3.3. - [Release notes](https://github.com/peterjc/flake8-black/releases) - [Commits](https://github.com/peterjc/flake8-black/compare/v0.3.2...v0.3.3) --- updated-dependencies: - dependency-name: flake8-black dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index c5537c53..593dd322 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -16,7 +16,7 @@ pytest-qt==4.1.0 pyvista==0.34.1 QtPy==2.1.0 scooby==0.5.12 -flake8-black==0.3.2 +flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 check-jsonschema==0.16.1 From 6ba0bbf931195a6ee2ed4be9f45d9e4304363816 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 17:09:36 +0900 Subject: [PATCH 087/125] Bump check-jsonschema from 0.16.1 to 0.16.2 (#183) Bumps [check-jsonschema](https://github.com/python-jsonschema/check-jsonschema) from 0.16.1 to 0.16.2. - [Release notes](https://github.com/python-jsonschema/check-jsonschema/releases) - [Changelog](https://github.com/python-jsonschema/check-jsonschema/blob/main/CHANGELOG.md) - [Commits](https://github.com/python-jsonschema/check-jsonschema/compare/0.16.1...0.16.2) --- updated-dependencies: - dependency-name: check-jsonschema dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 593dd322..c3489d6f 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -19,7 +19,7 @@ scooby==0.5.12 flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 -check-jsonschema==0.16.1 +check-jsonschema==0.16.2 pre-commit==2.19.0 pre-commit-hooks==4.3.0 toml==0.10.2 \ No newline at end of file From 0a9b7dd915f96c452f31ff0e6193c3931cd5e06d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 18:57:27 +0900 Subject: [PATCH 088/125] Bump pyvista from 0.34.1 to 0.34.2 (#187) Bumps [pyvista](https://github.com/pyvista/pyvista) from 0.34.1 to 0.34.2. - [Release notes](https://github.com/pyvista/pyvista/releases) - [Commits](https://github.com/pyvista/pyvista/compare/v0.34.1...v0.34.2) --- updated-dependencies: - dependency-name: pyvista dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index c3489d6f..6dbde6a4 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -13,7 +13,7 @@ pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 pytest-qt==4.1.0 -pyvista==0.34.1 +pyvista==0.34.2 QtPy==2.1.0 scooby==0.5.12 flake8-black==0.3.3 From 0b1c57f7166d5a379d6711da3644f063a208f0a1 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Fri, 1 Jul 2022 08:38:18 +0900 Subject: [PATCH 089/125] Add pre-commit-update (#185) --- .github/workflows/pre-commit-update.yml | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/pre-commit-update.yml diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml new file mode 100644 index 00000000..85cb76c4 --- /dev/null +++ b/.github/workflows/pre-commit-update.yml @@ -0,0 +1,33 @@ +name: Pre-commit auto-update + +on: + # every sunday at midnight GMT + schedule: + - cron: "0 0 * * 0" + # on demand + workflow_dispatch: + +jobs: + auto-update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.10' + + - name: Install pre-commit + run: pip install pre-commit + + - name: Run pre-commit autoupdate + run: pre-commit autoupdate + + - uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: ci/update-pre-commit-hooks + title: Update pre-commit hooks + commit-message: "update pre-commit hooks" + body: Update versions of pre-commit hooks to latest version. From 423bd3ced9c33dcca4763c8e0ec2108326684973 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Jul 2022 17:12:11 +0900 Subject: [PATCH 090/125] Bump lxml from 4.9.0 to 4.9.1 (#190) Bumps [lxml](https://github.com/lxml/lxml) from 4.9.0 to 4.9.1. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.0...lxml-4.9.1) --- updated-dependencies: - dependency-name: lxml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 71932dd1..7c560904 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -2,7 +2,7 @@ cmocean==2.0 colorcet==3.0.0 imageio==2.19.3 imageio-ffmpeg==0.4.7 -lxml==4.9.0 +lxml==4.9.1 matplotlib==3.5.2 meshio==5.3.4 pytest-sphinx==0.4.0 From 7e020986b8e81fa63b237a06f3dc580aa75f7137 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Jul 2022 17:12:48 +0900 Subject: [PATCH 091/125] update pre-commit hooks (#189) Co-authored-by: akaszynski --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 38d3fc70..439545a1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 22.6.0 hooks: - id: black args: [ @@ -80,7 +80,7 @@ repos: # this validates our github workflow files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.16.1 + rev: 0.16.2 hooks: - id: check-github-workflows From 6868b665ab5d5efd70815856e247bf8808d74fc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Jul 2022 11:43:41 +0000 Subject: [PATCH 092/125] Bump check-jsonschema from 0.16.2 to 0.17.0 (#191) Bumps [check-jsonschema](https://github.com/python-jsonschema/check-jsonschema) from 0.16.2 to 0.17.0. - [Release notes](https://github.com/python-jsonschema/check-jsonschema/releases) - [Changelog](https://github.com/python-jsonschema/check-jsonschema/blob/main/CHANGELOG.rst) - [Commits](https://github.com/python-jsonschema/check-jsonschema/compare/0.16.2...0.17.0) --- updated-dependencies: - dependency-name: check-jsonschema dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 6dbde6a4..9319102b 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -19,7 +19,7 @@ scooby==0.5.12 flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 -check-jsonschema==0.16.2 +check-jsonschema==0.17.0 pre-commit==2.19.0 pre-commit-hooks==4.3.0 toml==0.10.2 \ No newline at end of file From faa546586de55a18664ca9eab9d466abaac7c706 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Jul 2022 16:59:32 +0900 Subject: [PATCH 093/125] Bump pyvista from 0.34.2 to 0.35.1 (#193) Bumps [pyvista](https://github.com/pyvista/pyvista) from 0.34.2 to 0.35.1. - [Release notes](https://github.com/pyvista/pyvista/releases) - [Commits](https://github.com/pyvista/pyvista/compare/v0.34.2...v0.35.1) --- updated-dependencies: - dependency-name: pyvista dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 9319102b..c98fb634 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -13,7 +13,7 @@ pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 pytest-qt==4.1.0 -pyvista==0.34.2 +pyvista==0.35.1 QtPy==2.1.0 scooby==0.5.12 flake8-black==0.3.3 From d593528e905bb890eddb0f81868ea3acb6b30f75 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 10 Jul 2022 12:17:41 -0600 Subject: [PATCH 094/125] update pre-commit hooks (#195) Co-authored-by: akaszynski --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 439545a1..e35756a2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -80,7 +80,7 @@ repos: # this validates our github workflow files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.16.2 + rev: 0.17.0 hooks: - id: check-github-workflows From 3f74214c057e2bb62ebc0246fc2cb3dc19a73672 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Jul 2022 06:14:17 -0500 Subject: [PATCH 095/125] Bump pre-commit from 2.19.0 to 2.20.0 (#197) Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.19.0 to 2.20.0. - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md) - [Commits](https://github.com/pre-commit/pre-commit/compare/v2.19.0...v2.20.0) --- updated-dependencies: - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index c98fb634..7980cd54 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -20,6 +20,6 @@ flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 check-jsonschema==0.17.0 -pre-commit==2.19.0 +pre-commit==2.20.0 pre-commit-hooks==4.3.0 toml==0.10.2 \ No newline at end of file From 7157bbb862da3ffec9ca04f6af139e649280d35e Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Fri, 15 Jul 2022 16:43:39 -0400 Subject: [PATCH 096/125] MAINT: Update deps for Qt (#202) --- .ci/azure-pipelines.yml | 2 +- .ci/setup_headless_display.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 7949eb49..63ecd52c 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -275,7 +275,7 @@ stages: # https://github.com/pyvista/pyvistaqt/pull/61#issuecomment-709320826 sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 \ libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ - libxcb-xinerama0 libxcb-xfixes0 + libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 pip install -r requirements_docs.txt displayName: 'Install dependencies' diff --git a/.ci/setup_headless_display.sh b/.ci/setup_headless_display.sh index 91dadaa2..abace696 100755 --- a/.ci/setup_headless_display.sh +++ b/.ci/setup_headless_display.sh @@ -1,5 +1,5 @@ #!/bin/bash -ef sudo apt-get update -sudo apt-get install -yqq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 libegl1 +sudo apt-get install -yqq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libopengl0 libegl1 /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset From a03351f370dddf9d4c69475f52401aa4df1d4ba8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Jul 2022 19:11:28 -0500 Subject: [PATCH 097/125] Bump check-jsonschema from 0.17.0 to 0.17.1 (#201) Bumps [check-jsonschema](https://github.com/python-jsonschema/check-jsonschema) from 0.17.0 to 0.17.1. - [Release notes](https://github.com/python-jsonschema/check-jsonschema/releases) - [Changelog](https://github.com/python-jsonschema/check-jsonschema/blob/main/CHANGELOG.rst) - [Commits](https://github.com/python-jsonschema/check-jsonschema/compare/0.17.0...0.17.1) --- updated-dependencies: - dependency-name: check-jsonschema dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 7980cd54..1af30afa 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -19,7 +19,7 @@ scooby==0.5.12 flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 -check-jsonschema==0.17.0 +check-jsonschema==0.17.1 pre-commit==2.20.0 pre-commit-hooks==4.3.0 toml==0.10.2 \ No newline at end of file From 730365ea56b96b2c846af6168a03273e817af416 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Jul 2022 19:11:56 -0500 Subject: [PATCH 098/125] Bump sphinx-notfound-page from 0.8 to 0.8.3 (#199) Bumps [sphinx-notfound-page](https://github.com/readthedocs/sphinx-notfound-page) from 0.8 to 0.8.3. - [Release notes](https://github.com/readthedocs/sphinx-notfound-page/releases) - [Changelog](https://github.com/readthedocs/sphinx-notfound-page/blob/main/CHANGELOG.rst) - [Commits](https://github.com/readthedocs/sphinx-notfound-page/compare/0.8...0.8.3) --- updated-dependencies: - dependency-name: sphinx-notfound-page dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 7c560904..70311302 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -10,7 +10,7 @@ QtPy==2.1.0 Sphinx==5.0.2 sphinx-autobuild==2021.3.14 sphinx-copybutton==0.5.0 -sphinx-notfound-page==0.8 +sphinx-notfound-page==0.8.3 sphinx-rtd-theme==1.0.0 sphinxcontrib-napoleon==0.7 sphinxcontrib-websupport==1.2.4 From b7cbd4e0f82cb09ecb61143884b8164ae7d729de Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 Jul 2022 16:40:39 -0500 Subject: [PATCH 099/125] update pre-commit hooks (#203) Co-authored-by: akaszynski --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e35756a2..c868546c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -80,7 +80,7 @@ repos: # this validates our github workflow files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.17.0 + rev: 0.17.1 hooks: - id: check-github-workflows From 601d041c7cd4734b5c31bdbf5de7ede3e273d70a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Jul 2022 03:03:13 -0500 Subject: [PATCH 100/125] Bump pyvista from 0.35.1 to 0.35.2 (#204) Bumps [pyvista](https://github.com/pyvista/pyvista) from 0.35.1 to 0.35.2. - [Release notes](https://github.com/pyvista/pyvista/releases) - [Commits](https://github.com/pyvista/pyvista/compare/v0.35.1...v0.35.2) --- updated-dependencies: - dependency-name: pyvista dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 1af30afa..fd7d946a 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -13,7 +13,7 @@ pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 pytest-qt==4.1.0 -pyvista==0.35.1 +pyvista==0.35.2 QtPy==2.1.0 scooby==0.5.12 flake8-black==0.3.3 From 3f69674f4021dfff1aeb481634227d18622100a9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Jul 2022 07:25:44 -0500 Subject: [PATCH 101/125] Bump imageio from 2.19.3 to 2.19.5 (#206) Bumps [imageio](https://github.com/imageio/imageio) from 2.19.3 to 2.19.5. - [Release notes](https://github.com/imageio/imageio/releases) - [Changelog](https://github.com/imageio/imageio/blob/master/CHANGELOG.md) - [Commits](https://github.com/imageio/imageio/compare/v2.19.3...v2.19.5) --- updated-dependencies: - dependency-name: imageio dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 70311302..fb87cc6e 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,6 +1,6 @@ cmocean==2.0 colorcet==3.0.0 -imageio==2.19.3 +imageio==2.19.5 imageio-ffmpeg==0.4.7 lxml==4.9.1 matplotlib==3.5.2 From 8b385fbfcb224afcb728993e0b127528caafe30f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Jul 2022 05:32:58 -0500 Subject: [PATCH 102/125] Bump mypy from 0.961 to 0.971 (#207) Bumps [mypy](https://github.com/python/mypy) from 0.961 to 0.971. - [Release notes](https://github.com/python/mypy/releases) - [Commits](https://github.com/python/mypy/compare/v0.961...v0.971) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index fd7d946a..50ecc7a8 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -4,7 +4,7 @@ codespell==2.1.0 flake8==4.0.1 ipython==7.34.0 isort==5.10.1 -mypy==0.961 +mypy==0.971 numpy==1.21.6 pycodestyle==2.8.0 pydocstyle==6.1.1 From 133ff8a7856675f131d942d67b25ca1cbf5b5a2f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 24 Jul 2022 14:16:29 +0900 Subject: [PATCH 103/125] update pre-commit hooks (#209) Co-authored-by: akaszynski --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c868546c..a7d8d6d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: ] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.961 + rev: v0.971 hooks: - id: mypy # `pass_filenames` is used to overcome the "duplicate module" From 8aa8a6486417b195136288c5e8fd0b047ff5c8ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 16:57:10 +0900 Subject: [PATCH 104/125] Bump scooby from 0.5.12 to 0.6.0 (#210) Bumps [scooby](https://github.com/banesullivan/scooby) from 0.5.12 to 0.6.0. - [Release notes](https://github.com/banesullivan/scooby/releases) - [Commits](https://github.com/banesullivan/scooby/compare/v0.5.12...v0.6.0) --- updated-dependencies: - dependency-name: scooby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 50ecc7a8..6c0ab37e 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -15,7 +15,7 @@ pytest-memprof==0.2.0 pytest-qt==4.1.0 pyvista==0.35.2 QtPy==2.1.0 -scooby==0.5.12 +scooby==0.6.0 flake8-black==0.3.3 flake8-isort==4.1.1 flake8-quotes==3.3.1 From e04b2681a6b6a7d76cb2caaff2a8a768a2ff49ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 09:26:57 +0900 Subject: [PATCH 105/125] Bump flake8-isort from 4.1.1 to 4.1.2.post0 (#212) Bumps [flake8-isort](https://github.com/gforcada/flake8-isort) from 4.1.1 to 4.1.2.post0. - [Release notes](https://github.com/gforcada/flake8-isort/releases) - [Changelog](https://github.com/gforcada/flake8-isort/blob/master/CHANGES.rst) - [Commits](https://github.com/gforcada/flake8-isort/compare/4.1.1...4.1.2.post0) --- updated-dependencies: - dependency-name: flake8-isort dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 6c0ab37e..a5bfe24c 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -17,7 +17,7 @@ pyvista==0.35.2 QtPy==2.1.0 scooby==0.6.0 flake8-black==0.3.3 -flake8-isort==4.1.1 +flake8-isort==4.1.2.post0 flake8-quotes==3.3.1 check-jsonschema==0.17.1 pre-commit==2.20.0 From 1e77634fc8cb5af2584e658da886643285f98913 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 10:20:04 +0900 Subject: [PATCH 106/125] Bump imageio from 2.19.5 to 2.20.0 (#214) Bumps [imageio](https://github.com/imageio/imageio) from 2.19.5 to 2.20.0. - [Release notes](https://github.com/imageio/imageio/releases) - [Changelog](https://github.com/imageio/imageio/blob/master/CHANGELOG.md) - [Commits](https://github.com/imageio/imageio/compare/v2.19.5...v2.20.0) --- updated-dependencies: - dependency-name: imageio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index fb87cc6e..7337d30a 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,6 +1,6 @@ cmocean==2.0 colorcet==3.0.0 -imageio==2.19.5 +imageio==2.20.0 imageio-ffmpeg==0.4.7 lxml==4.9.1 matplotlib==3.5.2 From 7eaa69e823ac6a3b2d8b23570684cff0e429bf24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 10:20:27 +0900 Subject: [PATCH 107/125] Bump sphinx from 5.0.2 to 5.1.1 (#213) Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.0.2 to 5.1.1. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/5.x/CHANGES) - [Commits](https://github.com/sphinx-doc/sphinx/compare/v5.0.2...v5.1.1) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 7337d30a..8773800c 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -7,7 +7,7 @@ matplotlib==3.5.2 meshio==5.3.4 pytest-sphinx==0.4.0 QtPy==2.1.0 -Sphinx==5.0.2 +Sphinx==5.1.1 sphinx-autobuild==2021.3.14 sphinx-copybutton==0.5.0 sphinx-notfound-page==0.8.3 From 2ced3cdab626706f376b34472c4a594948ae0a6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 18:02:07 +0900 Subject: [PATCH 108/125] Bump imageio from 2.20.0 to 2.21.0 (#216) Bumps [imageio](https://github.com/imageio/imageio) from 2.20.0 to 2.21.0. - [Release notes](https://github.com/imageio/imageio/releases) - [Changelog](https://github.com/imageio/imageio/blob/master/CHANGELOG.md) - [Commits](https://github.com/imageio/imageio/compare/v2.20.0...v2.21.0) --- updated-dependencies: - dependency-name: imageio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 8773800c..8cbe4b52 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -1,6 +1,6 @@ cmocean==2.0 colorcet==3.0.0 -imageio==2.20.0 +imageio==2.21.0 imageio-ffmpeg==0.4.7 lxml==4.9.1 matplotlib==3.5.2 From 1e7f5afad656c8a419cb67083dd5f4801d1b758f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 20:57:55 +0900 Subject: [PATCH 109/125] Bump pyvista from 0.35.2 to 0.36.0 (#217) Bumps [pyvista](https://github.com/pyvista/pyvista) from 0.35.2 to 0.36.0. - [Release notes](https://github.com/pyvista/pyvista/releases) - [Commits](https://github.com/pyvista/pyvista/compare/v0.35.2...v0.36.0) --- updated-dependencies: - dependency-name: pyvista dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index a5bfe24c..62cdd87c 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -13,7 +13,7 @@ pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 pytest-qt==4.1.0 -pyvista==0.35.2 +pyvista==0.36.0 QtPy==2.1.0 scooby==0.6.0 flake8-black==0.3.3 From 9df3c4bc7757dd3d821d114807e00a4838ebb508 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Aug 2022 10:10:16 +0900 Subject: [PATCH 110/125] update pre-commit hooks (#228) Co-authored-by: akaszynski --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a7d8d6d9..13427c0b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: ] - repo: https://github.com/codespell-project/codespell - rev: v2.1.0 + rev: v2.2.1 hooks: - id: codespell args: [ From a792becb8231cae5982922c11a4d2d0cb868ceba Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Thu, 5 Jan 2023 16:26:40 -0500 Subject: [PATCH 111/125] BUG: Safe app window close (#258) --- .ci/azure-pipelines.yml | 39 +++++++++++++++---------------------- .ci/macos-install-python.sh | 32 ------------------------------ .github/workflows/ci.yml | 19 +++++++++++++++--- pytest.ini | 1 + pyvistaqt/plotting.py | 5 ++--- tests/test_plotting.py | 34 +++++++++++++++++++------------- 6 files changed, 56 insertions(+), 74 deletions(-) delete mode 100755 .ci/macos-install-python.sh diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 63ecd52c..bfa79ab4 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -50,7 +50,7 @@ stages: steps: - task: UsePythonVersion@0 inputs: - versionSpec: '3.7' + versionSpec: '3.10' - script: | pip install codespell pydocstyle[toml] make doctest @@ -72,10 +72,8 @@ stages: strategy: matrix: - Python37: - python.version: '3.7' - Python38: - python.version: '3.8' + Python310: + python.version: '3.10' steps: - task: UsePythonVersion@0 @@ -96,7 +94,7 @@ stages: - script: | sudo apt-get install python3-tk pip install -r requirements_test.txt - pip install PyQt5==5.11.3 + pip install PyQt5==5.12.* python -c "import pyvista; print(pyvista.Report())" which python pip list @@ -110,7 +108,6 @@ stages: - script: | # this must be right after the core API bash <(curl -s https://codecov.io/bash) displayName: 'Upload coverage to codecov.io' - condition: eq(variables['python.version'], '3.7') - script: | pytest -v --doctest-modules pyvistaqt @@ -121,7 +118,7 @@ stages: python setup.py sdist twine upload --skip-existing dist/pyvistaqt* displayName: 'Upload to PyPi' - condition: and(eq(variables['python.version'], '3.7'), contains(variables['Build.SourceBranch'], 'refs/tags/')) + condition: and(eq(variables['python.version'], '3.10'), contains(variables['Build.SourceBranch'], 'refs/tags/')) env: TWINE_USERNAME: $(twine.username) TWINE_PASSWORD: $(twine.password) @@ -149,7 +146,7 @@ stages: conda config --add channels conda-forge conda env create --quiet -n pyvistaqt-env --file environment.yml conda activate pyvistaqt-env - pip install PyQt5==5.11.3 + pip install PyQt5==5.12.* pip install -e . conda list which python @@ -179,10 +176,8 @@ stages: strategy: maxParallel: 4 matrix: - Python37-64bit: - PYTHON_VERSION: '3.7' - Python38-64bit: - PYTHON_VERSION: '3.8' + Python310-64bit: + PYTHON_VERSION: '3.10' steps: - task: UsePythonVersion@0 inputs: @@ -217,17 +212,15 @@ stages: python.architecture: 'x64' strategy: matrix: - Python37: - python.version: '3.7' - Python38: - python.version: '3.8' + Python310: + python.version: '3.10' pool: vmImage: 'macOS-10.15' steps: - - script: | - .ci/macos-install-python.sh '$(python.version)' - python -c "import sys; print(sys.version)" - displayName: Install Python + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + displayName: 'Get Python' - script: | python -m pip install PyQt5>=5.11 @@ -257,8 +250,8 @@ stages: steps: - task: UsePythonVersion@0 inputs: - versionSpec: 3.7 - displayName: 'Use Python 3.7' + versionSpec: '3.10' + displayName: 'Use Python 3.10' - script: | git config --global user.name ${GH_NAME} diff --git a/.ci/macos-install-python.sh b/.ci/macos-install-python.sh deleted file mode 100755 index 3519afff..00000000 --- a/.ci/macos-install-python.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -PYTHON_VERSION="$1" - -case $PYTHON_VERSION in -3.7) - FULL_VERSION=3.7.7 - ;; -3.8) - FULL_VERSION=3.8.3 - ;; -esac - -INSTALLER_NAME=python-$FULL_VERSION-macosx10.9.pkg -URL=https://www.python.org/ftp/python/$FULL_VERSION/$INSTALLER_NAME - -PY_PREFIX=/Library/Frameworks/Python.framework/Versions - -set -e -x - -curl $URL > $INSTALLER_NAME - -sudo installer -pkg $INSTALLER_NAME -target / - -sudo rm /usr/local/bin/python -sudo ln -s /usr/local/bin/python$PYTHON_VERSION /usr/local/bin/python - -which python -python --version -python -m ensurepip -python -m pip install --upgrade pip -python -m pip install setuptools twine wheel diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe6b41ae..1c4c3c2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,7 @@ name: 'CI' +concurrency: + group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }} + cancel-in-progress: true on: push: branches: @@ -34,9 +37,8 @@ jobs: name: 'Setup python' - run: | python -m pip install --upgrade pip wheel - pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/main - pip install --progress-bar off https://github.com/spyder-ide/qtpy/zipball/master pip install --upgrade -r requirements_test.txt + pip install --upgrade --progress-bar off https://github.com/pyvista/pyvista/zipball/main https://github.com/spyder-ide/qtpy/zipball/master name: 'Install dependencies with pip' - run: pip install ${{ matrix.qt }} name: 'Install Qt binding' @@ -67,7 +69,18 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - pyvista: ['0.32', '0.33', '0.34'] + pyvista: ['0'] # All OSes on latest release + include: # and Linux for older ones + - os: 'ubuntu-latest' + pyvista: '0.32' + - os: 'ubuntu-latest' + pyvista: '0.33' + - os: 'ubuntu-latest' + pyvista: '0.34' + - os: 'ubuntu-latest' + pyvista: '0.35' + - os: 'ubuntu-latest' + pyvista: '0.36' defaults: run: shell: bash diff --git a/pytest.ini b/pytest.ini index 50997d7b..52f3c7f5 100644 --- a/pytest.ini +++ b/pytest.ini @@ -13,3 +13,4 @@ filterwarnings = ignore:.*`np.object` is a deprecated alias.*:DeprecationWarning ignore:.*`np.long` is a deprecated alias:DeprecationWarning ignore:.*Converting `np\.character` to a dtype is deprecated.*:DeprecationWarning + ignore:.*ImportDenier.*not found.*:ImportWarning diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 4f688e7e..878f9608 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -254,7 +254,7 @@ def __init__( self.render_timer = QTimer(parent=parent) if float(auto_update) > 0.0: # Can be False as well # Spawn a thread that updates the render window. - # Sometimes directly modifiying object data doesn't trigger + # Sometimes directly modifying object data doesn't trigger # Modified() and upstream objects won't be updated. This # ensures the render window stays updated without consuming too # many resources. @@ -737,8 +737,7 @@ def window_size(self, window_size: QSize) -> None: def __del__(self) -> None: # pragma: no cover """Delete the qt plotter.""" - if not self._closed: - self.app_window.close() + self.close() def add_callback( self, func: Callable, interval: int = 1000, count: Optional[int] = None diff --git a/tests/test_plotting.py b/tests/test_plotting.py index d099b8a2..d111c147 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -23,6 +23,9 @@ from pyvistaqt.utils import _setup_application, _create_menu_bar, _check_type +WANT_AFTER = 0 if Version(pyvista.__version__) >= Version('0.37') else 1 + + class TstWindow(MainWindow): def __init__(self, parent=None, show=True, off_screen=True): MainWindow.__init__(self, parent) @@ -318,8 +321,7 @@ def test_qt_interactor(qtbot, plotting): assert not hasattr(vtk_widget, "iren") assert vtk_widget._closed - # check that BasePlotter.__init__() is called only once - assert len(_ALL_PLOTTERS) == 1 + assert len(_ALL_PLOTTERS) == WANT_AFTER @pytest.mark.parametrize('show_plotter', [ @@ -581,17 +583,20 @@ def test_background_plotting_toolbar(qtbot, plotting): plotter.close() +@pytest.mark.skipif( + platform.system() == 'Windows', reason='Segfaults on Windows') def test_background_plotting_menu_bar(qtbot, plotting): with pytest.raises(TypeError, match='menu_bar'): - p = BackgroundPlotter(off_screen=False, menu_bar="foo") - p.close() + BackgroundPlotter(off_screen=False, menu_bar="foo") - plotter = BackgroundPlotter(off_screen=False, menu_bar=False) + plotter = BackgroundPlotter( + off_screen=False, menu_bar=False, update_app_icon=False) assert plotter.main_menu is None assert plotter._menu_close_action is None plotter.close() - plotter = BackgroundPlotter(off_screen=False) # menu_bar=True + # menu_bar=True + plotter = BackgroundPlotter(off_screen=False, update_app_icon=False) assert_hasattr(plotter, "app_window", MainWindow) assert_hasattr(plotter, "main_menu", QMenuBar) @@ -607,9 +612,13 @@ def test_background_plotting_menu_bar(qtbot, plotting): window.show() # EDL action - assert not hasattr(plotter.renderer, 'edl_pass') + if hasattr(plotter.renderer, '_render_passes'): + obj, attr = plotter.renderer._render_passes, '_edl_pass' + else: + obj, attr = plotter.renderer, 'edl_pass' + assert getattr(obj, attr, None) is None plotter._edl_action.trigger() - assert hasattr(plotter.renderer, 'edl_pass') + assert getattr(obj, attr, None) is not None # and now test reset plotter._edl_action.trigger() @@ -626,13 +635,13 @@ def test_background_plotting_menu_bar(qtbot, plotting): assert plotter._last_update_time == -np.inf -def test_drop_event(tmpdir): +def test_drop_event(tmpdir, qtbot): output_dir = str(tmpdir.mkdir("tmpdir")) filename = str(os.path.join(output_dir, "tmp.vtk")) mesh = pyvista.Cone() mesh.save(filename) assert os.path.isfile(filename) - plotter = BackgroundPlotter() + plotter = BackgroundPlotter(update_app_icon=False, show=True) point = QPointF(0, 0) data = QMimeData() data.setUrls([QUrl(filename)]) @@ -668,7 +677,7 @@ def test_drag_event(tmpdir): plotter.close() -def test_gesture_event(): +def test_gesture_event(qtbot): plotter = BackgroundPlotter() gestures = [QPinchGesture()] event = QGestureEvent(gestures) @@ -834,8 +843,7 @@ def test_background_plotting_close(qtbot, close_event, empty_scene, plotting): assert not hasattr(window.vtk_widget, "iren") assert plotter._closed - # check that BasePlotter.__init__() is called only once - assert len(_ALL_PLOTTERS) == 1 + assert len(_ALL_PLOTTERS) == WANT_AFTER def test_multiplotter(qtbot, plotting): From 5b0c12797d96e50e5a0482cfebb302ec4f5aa58b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 21:35:24 +0000 Subject: [PATCH 112/125] Update pre-commit hooks (#231) Co-authored-by: akaszynski Co-authored-by: Eric Larson --- .pre-commit-config.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 13427c0b..10b5dc01 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 22.6.0 + rev: 22.10.0 hooks: - id: black args: [ @@ -17,7 +17,7 @@ repos: ] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.971 + rev: v0.990 hooks: - id: mypy # `pass_filenames` is used to overcome the "duplicate module" @@ -50,7 +50,7 @@ repos: ] - repo: https://github.com/codespell-project/codespell - rev: v2.2.1 + rev: v2.2.2 hooks: - id: codespell args: [ @@ -80,7 +80,7 @@ repos: # this validates our github workflow files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.17.1 + rev: 0.19.1 hooks: - id: check-github-workflows From a3841a7632b44e05902632f73320765b443119b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 21:39:08 +0000 Subject: [PATCH 113/125] Bump ipython from 7.34.0 to 8.8.0 (#259) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 62cdd87c..b30810aa 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -2,7 +2,7 @@ black==22.6.0 codecov==2.1.12 codespell==2.1.0 flake8==4.0.1 -ipython==7.34.0 +ipython==8.8.0 isort==5.10.1 mypy==0.971 numpy==1.21.6 From 0a270aff5b88886d0268e130bac3355137537361 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 21:42:05 +0000 Subject: [PATCH 114/125] Bump numpy from 1.21.6 to 1.24.1 (#257) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index b30810aa..53361c93 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -5,7 +5,7 @@ flake8==4.0.1 ipython==8.8.0 isort==5.10.1 mypy==0.971 -numpy==1.21.6 +numpy==1.24.1 pycodestyle==2.8.0 pydocstyle==6.1.1 pylint==2.13.0 From fd17e78ff34a97db500f70516b54a6481b6655fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 16:52:09 -0500 Subject: [PATCH 115/125] Bump actions/setup-python from 2 to 4 in /.github/workflows (#248) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- .github/workflows/ci.yml | 4 ++-- .github/workflows/pre-commit-update.yml | 2 +- .github/workflows/pythonpackage.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c4c3c2e..2ebfd0d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@v2 - run: .ci/setup_headless_display.sh name: 'Setup xvfb' - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} name: 'Setup python' @@ -99,7 +99,7 @@ jobs: shell: pwsh name: 'Setup opengl' if: matrix.os == 'windows-latest' - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} name: 'Setup python' diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index 85cb76c4..9b705ded 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.10' diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index ce290b38..14848c78 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -15,7 +15,7 @@ jobs: PYTHON_VERSION: '3.9' steps: - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} name: 'Setup python' From 75216270513c94ddad71772a294ca3bd815276e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 16:52:27 -0500 Subject: [PATCH 116/125] Bump codecov/codecov-action from 2 to 3 in /.github/workflows (#247) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ebfd0d1..8b718c60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: pytest -v tests/test_qt.py name: 'Import without Qt' if: matrix.qt == 'None' - - uses: codecov/codecov-action@v2 + - uses: codecov/codecov-action@v3 if: success() name: 'Upload coverage to CodeCov' @@ -117,7 +117,7 @@ jobs: name: 'Install pyvistaqt' - run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - - uses: codecov/codecov-action@v2 + - uses: codecov/codecov-action@v3 if: success() name: 'Upload coverage to CodeCov' @@ -165,6 +165,6 @@ jobs: - shell: bash -el {0} run: pytest -v --cov pyvistaqt --cov-report html name: 'Run Tests' - - uses: codecov/codecov-action@v2 + - uses: codecov/codecov-action@v3 if: success() name: 'Upload coverage to CodeCov' From c1e13a10d2b2e756dc5779793450ace41b405f6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 21:56:21 +0000 Subject: [PATCH 117/125] Bump peter-evans/create-pull-request from 3 to 4 in /.github/workflows (#249) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- .github/workflows/pre-commit-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index 9b705ded..88deb49d 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -24,7 +24,7 @@ jobs: - name: Run pre-commit autoupdate run: pre-commit autoupdate - - uses: peter-evans/create-pull-request@v3 + - uses: peter-evans/create-pull-request@v4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: ci/update-pre-commit-hooks From 11f5e2c8bdefbf16dc3d3ac1aedf1d2377d67ebb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 22:06:27 +0000 Subject: [PATCH 118/125] Bump pylint from 2.13.0 to 2.15.9 (#256) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- pyvistaqt/plotting.py | 2 +- requirements_test.txt | 2 +- tests/test_plotting.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyvistaqt/plotting.py b/pyvistaqt/plotting.py index 878f9608..bb3ae7bc 100644 --- a/pyvistaqt/plotting.py +++ b/pyvistaqt/plotting.py @@ -364,7 +364,7 @@ def link_views_across_plotters( for view_index in other_views: other_plotter.renderers[view_index].camera = renderer.camera - # pylint: disable=invalid-name,no-self-use + # pylint: disable=invalid-name def dragEnterEvent(self, event: QtGui.QDragEnterEvent) -> None: """Event is called when something is dropped onto the vtk window. diff --git a/requirements_test.txt b/requirements_test.txt index 53361c93..bcf13e7b 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -8,7 +8,7 @@ mypy==0.971 numpy==1.24.1 pycodestyle==2.8.0 pydocstyle==6.1.1 -pylint==2.13.0 +pylint==2.15.9 pytest==7.1.2 pytest-cov==3.0.0 pytest-memprof==0.2.0 diff --git a/tests/test_plotting.py b/tests/test_plotting.py index d111c147..dc12bda4 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -662,7 +662,7 @@ def test_drag_event(tmpdir): mesh = pyvista.Cone() mesh.save(filename) assert os.path.isfile(filename) - plotter = BackgroundPlotter() + plotter = BackgroundPlotter(update_app_icon=False) point = QPoint(0, 0) data = QMimeData() data.setUrls([QUrl(filename)]) @@ -759,7 +759,7 @@ def update_app_icon(slf): assert callback_timer.isActive() # ensure that self.callback_timer send a signal - callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=2000) + callback_blocker = qtbot.wait_signals([callback_timer.timeout], timeout=5000) callback_blocker.wait() plotter.close() From 11a468114898962a904ca54ecf88a353fe85cece Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 23:26:08 +0000 Subject: [PATCH 119/125] Bump actions/checkout from 2 to 3 in /.github/workflows (#246) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- .github/workflows/ci.yml | 6 +++--- .github/workflows/pre-commit-update.yml | 2 +- .github/workflows/pythonpackage.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b718c60..6bc4dd78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: DISPLAY: ':99' PYTHON_VERSION: '3.9' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: .ci/setup_headless_display.sh name: 'Setup xvfb' - uses: actions/setup-python@v4 @@ -89,7 +89,7 @@ jobs: DISPLAY: ':99' PYTHON_VERSION: '3.9' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: .ci/setup_headless_display.sh name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' @@ -138,7 +138,7 @@ jobs: CONDA_ENV: 'environment.yml' PYTHON_VERSION: '3.8' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: .ci/setup_headless_display.sh name: 'Setup xvfb' if: matrix.os == 'ubuntu-latest' diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index 88deb49d..4e78b806 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -11,7 +11,7 @@ jobs: auto-update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 14848c78..f67dd5ac 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -14,7 +14,7 @@ jobs: env: PYTHON_VERSION: '3.9' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} From 73e35cfc86d70745849336948c14d439c5f3af45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 23:26:55 +0000 Subject: [PATCH 120/125] Bump flake8 from 4.0.1 to 6.0.0 (#251) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Larson --- requirements_test.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements_test.txt b/requirements_test.txt index bcf13e7b..37409092 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,12 +1,12 @@ black==22.6.0 codecov==2.1.12 codespell==2.1.0 -flake8==4.0.1 +flake8==6.0.0 ipython==8.8.0 isort==5.10.1 mypy==0.971 numpy==1.24.1 -pycodestyle==2.8.0 +pycodestyle==2.10.0 pydocstyle==6.1.1 pylint==2.15.9 pytest==7.1.2 @@ -16,9 +16,9 @@ pytest-qt==4.1.0 pyvista==0.36.0 QtPy==2.1.0 scooby==0.6.0 -flake8-black==0.3.3 -flake8-isort==4.1.2.post0 -flake8-quotes==3.3.1 +flake8-black==0.3.6 +flake8-isort==6.0.0 +flake8-quotes==3.3.2 check-jsonschema==0.17.1 pre-commit==2.20.0 pre-commit-hooks==4.3.0 From 6f99f006c13eda5d62a7d769934fc5923a2db527 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 16:51:49 +0900 Subject: [PATCH 121/125] Bump pre-commit-hooks from 4.3.0 to 4.4.0 (#260) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 37409092..7ad0d15d 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -21,5 +21,5 @@ flake8-isort==6.0.0 flake8-quotes==3.3.2 check-jsonschema==0.17.1 pre-commit==2.20.0 -pre-commit-hooks==4.3.0 +pre-commit-hooks==4.4.0 toml==0.10.2 \ No newline at end of file From d266c64fbdc4166b6bfd5084fb43fffc05ede24a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 16:52:09 +0900 Subject: [PATCH 122/125] Bump isort from 5.10.1 to 5.11.4 (#264) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 7ad0d15d..94545687 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -3,7 +3,7 @@ codecov==2.1.12 codespell==2.1.0 flake8==6.0.0 ipython==8.8.0 -isort==5.10.1 +isort==5.11.4 mypy==0.971 numpy==1.24.1 pycodestyle==2.10.0 From 08b0af513a52b6b010ab8dff38bd4c9d2e13010b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 16:53:11 +0900 Subject: [PATCH 123/125] Bump matplotlib from 3.5.2 to 3.6.2 (#262) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_docs.txt b/requirements_docs.txt index 8cbe4b52..b8f23e1f 100644 --- a/requirements_docs.txt +++ b/requirements_docs.txt @@ -3,7 +3,7 @@ colorcet==3.0.0 imageio==2.21.0 imageio-ffmpeg==0.4.7 lxml==4.9.1 -matplotlib==3.5.2 +matplotlib==3.6.2 meshio==5.3.4 pytest-sphinx==0.4.0 QtPy==2.1.0 From dc61f31a332e037ec7a2fac8a05dc2f12668a8dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 08:00:40 +0000 Subject: [PATCH 124/125] Bump pre-commit from 2.20.0 to 2.21.0 (#263) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 94545687..9249a9be 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -20,6 +20,6 @@ flake8-black==0.3.6 flake8-isort==6.0.0 flake8-quotes==3.3.2 check-jsonschema==0.17.1 -pre-commit==2.20.0 +pre-commit==2.21.0 pre-commit-hooks==4.4.0 toml==0.10.2 \ No newline at end of file From 1ad53e90b360e72ffdf694766d5d022d9878f9ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 08:13:34 +0000 Subject: [PATCH 125/125] Bump check-jsonschema from 0.17.1 to 0.20.0 (#261) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 9249a9be..f323daea 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -19,7 +19,7 @@ scooby==0.6.0 flake8-black==0.3.6 flake8-isort==6.0.0 flake8-quotes==3.3.2 -check-jsonschema==0.17.1 +check-jsonschema==0.20.0 pre-commit==2.21.0 pre-commit-hooks==4.4.0 toml==0.10.2 \ No newline at end of file