From dddce12e412df10f8bba2850decbedba1a65791d Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Tue, 5 Mar 2024 23:15:30 +0100 Subject: [PATCH] Add python 3.12 testing --- .github/workflows/tests.yml | 4 +- .github/workflows/upgrade-dependencies.yml | 2 +- pyproject.toml | 1 + requirements/constraints_py3.10.txt | 14 +- .../constraints_py3.10_pydantic_1.txt | 14 +- requirements/constraints_py3.11.txt | 10 +- .../constraints_py3.11_pydantic_1.txt | 10 +- requirements/constraints_py3.12.txt | 437 ++++++++++++++++++ .../constraints_py3.12_pydantic_1.txt | 432 +++++++++++++++++ requirements/constraints_py3.8.txt | 8 +- requirements/constraints_py3.8_pydantic_1.txt | 8 +- requirements/constraints_py3.9.txt | 8 +- requirements/constraints_py3.9_pydantic_1.txt | 8 +- tox.ini | 8 +- 14 files changed, 919 insertions(+), 45 deletions(-) create mode 100644 requirements/constraints_py3.12.txt create mode 100644 requirements/constraints_py3.12_pydantic_1.txt diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index caef4ff85..af5af7d79 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,7 +39,7 @@ jobs: strategy: fail-fast: false matrix: - python_version: ["3.8", "3.9", "3.10", "3.11"] + python_version: ["3.8", "3.9", "3.10", "3.11", "3.12"] os: ["ubuntu-20.04"] qt_backend: ["PyQt5"] tox_args: [ "" ] @@ -78,7 +78,7 @@ jobs: strategy: fail-fast: false matrix: - python_version: ["3.8", "3.9", "3.10"] + python_version: ["3.8", "3.9", "3.10", "3.11", "3.12"] os: ["ubuntu-20.04", "macos-11", "windows-2019"] qt_backend: ["PySide2", "PyQt5"] include: diff --git a/.github/workflows/upgrade-dependencies.yml b/.github/workflows/upgrade-dependencies.yml index fff2e32ab..b0012abb7 100644 --- a/.github/workflows/upgrade-dependencies.yml +++ b/.github/workflows/upgrade-dependencies.yml @@ -35,7 +35,7 @@ jobs: pip install -U uv flags=(--extra pyqt5 --extra pyqt6 --extra pyside2 --extra pyside6 --extra test --extra pyinstaller) - for pyv in 3.8 3.9 3.10 3.11; do + for pyv in 3.8 3.9 3.10 3.11 3.12; do uv pip compile --python-version ${pyv} --upgrade --output-file requirements/constraints_py${pyv}.txt pyproject.toml requirements/version_denylist.txt "${flags[@]}" uv pip compile --python-version ${pyv} --upgrade --output-file requirements/constraints_py${pyv}_pydantic_1.txt pyproject.toml requirements/version_denylist.txt "${flags[@]}" --constraint requirements/pydantic_1.txt done diff --git a/pyproject.toml b/pyproject.toml index 7407e7399..986da6f70 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Image Processing", diff --git a/requirements/constraints_py3.10.txt b/requirements/constraints_py3.10.txt index 68143e03f..12b925f48 100644 --- a/requirements/constraints_py3.10.txt +++ b/requirements/constraints_py3.10.txt @@ -20,7 +20,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -81,7 +81,9 @@ imageio==2.34.0 imagesize==1.4.1 # via sphinx importlib-metadata==7.0.1 - # via dask + # via + # build + # dask in-n-out==0.1.9 # via app-model iniconfig==2.0.0 @@ -90,7 +92,7 @@ ipykernel==6.29.3 # via # napari-console # qtconsole -ipython==8.22.1 +ipython==8.22.2 # via # ipykernel # napari-console @@ -124,7 +126,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -258,7 +260,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -289,7 +291,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.10_pydantic_1.txt b/requirements/constraints_py3.10_pydantic_1.txt index b236e430c..eddb9ed66 100644 --- a/requirements/constraints_py3.10_pydantic_1.txt +++ b/requirements/constraints_py3.10_pydantic_1.txt @@ -18,7 +18,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -79,7 +79,9 @@ imageio==2.34.0 imagesize==1.4.1 # via sphinx importlib-metadata==7.0.1 - # via dask + # via + # build + # dask in-n-out==0.1.9 # via app-model iniconfig==2.0.0 @@ -88,7 +90,7 @@ ipykernel==6.29.3 # via # napari-console # qtconsole -ipython==8.22.1 +ipython==8.22.2 # via # ipykernel # napari-console @@ -122,7 +124,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -254,7 +256,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -285,7 +287,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.11.txt b/requirements/constraints_py3.11.txt index 4cc8c75a1..de15c0169 100644 --- a/requirements/constraints_py3.11.txt +++ b/requirements/constraints_py3.11.txt @@ -20,7 +20,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -86,7 +86,7 @@ ipykernel==6.29.3 # via # napari-console # qtconsole -ipython==8.22.1 +ipython==8.22.2 # via # ipykernel # napari-console @@ -120,7 +120,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -254,7 +254,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -285,7 +285,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.11_pydantic_1.txt b/requirements/constraints_py3.11_pydantic_1.txt index e1a1df295..13bbd857c 100644 --- a/requirements/constraints_py3.11_pydantic_1.txt +++ b/requirements/constraints_py3.11_pydantic_1.txt @@ -18,7 +18,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -84,7 +84,7 @@ ipykernel==6.29.3 # via # napari-console # qtconsole -ipython==8.22.1 +ipython==8.22.2 # via # ipykernel # napari-console @@ -118,7 +118,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -250,7 +250,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -281,7 +281,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.12.txt b/requirements/constraints_py3.12.txt new file mode 100644 index 000000000..48a77b913 --- /dev/null +++ b/requirements/constraints_py3.12.txt @@ -0,0 +1,437 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile --python-version 3.12 --output-file requirements/constraints_py3.12.txt pyproject.toml requirements/version_denylist.txt --extra pyqt5 --extra pyqt6 --extra pyside2 --extra pyside6 --extra test --extra pyinstaller +alabaster==0.7.16 + # via sphinx +altgraph==0.17.4 + # via pyinstaller +annotated-types==0.6.0 + # via pydantic +app-model==0.2.4 + # via napari +appdirs==1.4.4 + # via + # napari + # npe2 +asttokens==2.4.1 + # via stack-data +attrs==23.2.0 + # via + # jsonschema + # referencing +babel==2.14.0 + # via sphinx +build==1.1.1 + # via npe2 +cachey==0.2.1 + # via napari +certifi==2024.2.2 + # via + # napari + # requests + # sentry-sdk +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via + # dask + # typer +cloudpickle==3.0.0 + # via dask +comm==0.2.1 + # via ipykernel +coverage==7.4.3 +czifile==2019.7.2 +dask==2024.2.1 + # via napari +debugpy==1.8.1 + # via ipykernel +decorator==5.1.1 + # via ipython +defusedxml==0.7.1 +docstring-parser==0.15 + # via magicgui +docutils==0.20.1 + # via sphinx +et-xmlfile==1.1.0 + # via openpyxl +executing==2.0.1 + # via stack-data +fonticon-fontawesome6==6.4.0 +freetype-py==2.4.0 + # via vispy +fsspec==2024.2.0 + # via dask +h5py==3.10.0 +heapdict==1.0.1 + # via cachey +hsluv==5.0.4 + # via vispy +idna==3.6 + # via requests +imagecodecs==2024.1.1 +imageio==2.34.0 + # via + # napari + # napari-svg + # scikit-image +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.1 + # via dask +in-n-out==0.1.9 + # via app-model +iniconfig==2.0.0 + # via pytest +ipykernel==6.29.3 + # via + # napari-console + # qtconsole +ipython==8.22.2 + # via + # ipykernel + # napari-console +jedi==0.19.1 + # via ipython +jinja2==3.1.3 + # via + # numpydoc + # sphinx +jsonschema==4.21.1 + # via napari +jsonschema-specifications==2023.12.1 + # via jsonschema +jupyter-client==8.6.0 + # via + # ipykernel + # qtconsole +jupyter-core==5.7.1 + # via + # ipykernel + # jupyter-client + # qtconsole +kiwisolver==1.4.5 + # via vispy +lazy-loader==0.3 + # via + # napari + # scikit-image +local-migrator==0.1.10 + # via nme +locket==1.0.0 + # via partd +lxml==5.1.0 +magicgui==0.8.2 + # via napari +mahotas==1.4.13 +markdown-it-py==3.0.0 + # via rich +markupsafe==2.1.5 + # via jinja2 +matplotlib-inline==0.1.6 + # via + # ipykernel + # ipython +mdurl==0.1.2 + # via markdown-it-py +mpmath==1.3.0 + # via sympy +mypy-extensions==1.0.0 + # via psygnal +napari==0.4.19.post1 +napari-console==0.0.9 + # via napari +napari-plugin-engine==0.2.0 + # via + # napari + # napari-svg +napari-svg==0.1.10 + # via napari +nest-asyncio==1.6.0 + # via ipykernel +networkx==3.2.1 + # via scikit-image +nme==0.1.8 +npe2==0.7.4 + # via napari +numpy==1.26.4 + # via + # czifile + # dask + # h5py + # imagecodecs + # imageio + # mahotas + # napari + # napari-svg + # oiffile + # pandas + # partsegcore-compiled-backend + # scikit-image + # scipy + # tifffile + # vispy +numpydoc==1.6.0 + # via napari +oiffile==2023.8.30 +openpyxl==3.1.2 +packaging==23.2 + # via + # build + # dask + # ipykernel + # local-migrator + # pooch + # pyinstaller + # pyinstaller-hooks-contrib + # pytest + # qtconsole + # qtpy + # scikit-image + # sphinx + # superqt + # vispy +pandas==2.2.1 + # via napari +parso==0.8.3 + # via jedi +partd==1.4.1 + # via dask +partsegcore-compiled-backend==0.15.6 +partsegdata==0.10.0 +pexpect==4.9.0 + # via ipython +pillow==10.2.0 + # via + # imageio + # napari + # scikit-image +pint==0.23 + # via napari +platformdirs==4.2.0 + # via + # jupyter-core + # pooch +pluggy==1.4.0 + # via + # pytest + # pytest-qt +pooch==1.8.1 + # via scikit-image +prompt-toolkit==3.0.43 + # via ipython +psutil==5.9.8 + # via + # ipykernel + # napari +psygnal==0.9.5 + # via + # app-model + # magicgui + # napari + # npe2 +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.2 + # via stack-data +pyconify==0.1.6 + # via superqt +pydantic==2.6.3 + # via + # app-model + # napari + # npe2 + # pydantic-compat +pydantic-compat==0.1.2 + # via app-model +pydantic-core==2.16.3 + # via pydantic +pygments==2.17.2 + # via + # ipython + # napari + # qtconsole + # rich + # sphinx + # superqt +pyinstaller==6.4.0 +pyinstaller-hooks-contrib==2024.2 + # via pyinstaller +pyopengl==3.1.7 + # via napari +pyopengl-accelerate==3.1.7 +pyproject-hooks==1.0.0 + # via build +pyqt5==5.15.10 +pyqt5-qt5==5.15.2 + # via pyqt5 +pyqt5-sip==12.13.0 + # via pyqt5 +pyqt6==6.6.1 +pyqt6-qt6==6.6.2 + # via pyqt6 +pyqt6-sip==13.6.0 + # via pyqt6 +pyside2==5.13.2 +pyside6==6.6.2 +pyside6-addons==6.6.2 + # via pyside6 +pyside6-essentials==6.6.2 + # via + # pyside6 + # pyside6-addons +pytest==8.0.2 + # via + # pytest-qt + # pytest-timeout +pytest-qt==4.4.0 +pytest-timeout==2.2.0 +python-dateutil==2.9.0.post0 + # via + # jupyter-client + # pandas +pytz==2024.1 + # via pandas +pyyaml==6.0.1 + # via + # dask + # napari + # npe2 +pyzmq==25.1.2 + # via + # ipykernel + # jupyter-client + # qtconsole +qtawesome==1.3.0 +qtconsole==5.5.1 + # via napari-console +qtpy==2.4.1 + # via + # magicgui + # napari + # napari-console + # qtawesome + # qtconsole + # superqt +referencing==0.33.0 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # pooch + # pyconify + # sphinx +rich==13.7.1 + # via npe2 +rpds-py==0.18.0 + # via + # jsonschema + # referencing +scikit-image==0.22.0 + # via napari +scipy==1.12.0 + # via + # napari + # scikit-image +sentry-sdk==1.40.6 +setuptools==69.1.1 + # via + # pyinstaller + # pyinstaller-hooks-contrib +shiboken2==5.13.2 + # via pyside2 +shiboken6==6.6.2 + # via + # pyside6 + # pyside6-addons + # pyside6-essentials +simpleitk==2.3.1 +six==1.16.0 + # via + # asttokens + # python-dateutil +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.2.6 + # via numpydoc +sphinxcontrib-applehelp==1.0.8 + # via sphinx +sphinxcontrib-devhelp==1.0.6 + # via sphinx +sphinxcontrib-htmlhelp==2.0.5 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.7 + # via sphinx +sphinxcontrib-serializinghtml==1.1.10 + # via sphinx +stack-data==0.6.3 + # via ipython +superqt==0.6.1 + # via + # magicgui + # napari +sympy==1.12 +tabulate==0.9.0 + # via numpydoc +tifffile==2024.2.12 + # via + # czifile + # napari + # oiffile + # scikit-image +tomli-w==1.0.0 + # via npe2 +toolz==0.12.1 + # via + # dask + # napari + # partd +tornado==6.4 + # via + # ipykernel + # jupyter-client +tqdm==4.66.2 + # via napari +traceback-with-variables==2.0.4 +traitlets==5.14.1 + # via + # comm + # ipykernel + # ipython + # jupyter-client + # jupyter-core + # matplotlib-inline + # qtconsole +typer==0.9.0 + # via npe2 +typing-extensions==4.10.0 + # via + # app-model + # magicgui + # napari + # pint + # psygnal + # pydantic + # pydantic-core + # superqt + # typer +tzdata==2024.1 + # via pandas +urllib3==2.2.1 + # via + # requests + # sentry-sdk +vispy==0.14.1 + # via + # napari + # napari-svg +wcwidth==0.2.13 + # via prompt-toolkit +wrapt==1.16.0 + # via napari +xlrd==2.0.1 +xlsxwriter==3.2.0 +zipp==3.17.0 + # via importlib-metadata diff --git a/requirements/constraints_py3.12_pydantic_1.txt b/requirements/constraints_py3.12_pydantic_1.txt new file mode 100644 index 000000000..b76491d42 --- /dev/null +++ b/requirements/constraints_py3.12_pydantic_1.txt @@ -0,0 +1,432 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile --python-version 3.12 --output-file requirements/constraints_py3.12_pydantic_1.txt pyproject.toml requirements/version_denylist.txt --extra pyqt5 --extra pyqt6 --extra pyside2 --extra pyside6 --extra test --extra pyinstaller --constraint requirements/pydantic_1.txt +alabaster==0.7.16 + # via sphinx +altgraph==0.17.4 + # via pyinstaller +app-model==0.2.4 + # via napari +appdirs==1.4.4 + # via + # napari + # npe2 +asttokens==2.4.1 + # via stack-data +attrs==23.2.0 + # via + # jsonschema + # referencing +babel==2.14.0 + # via sphinx +build==1.1.1 + # via npe2 +cachey==0.2.1 + # via napari +certifi==2024.2.2 + # via + # napari + # requests + # sentry-sdk +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via + # dask + # typer +cloudpickle==3.0.0 + # via dask +comm==0.2.1 + # via ipykernel +coverage==7.4.3 +czifile==2019.7.2 +dask==2024.2.1 + # via napari +debugpy==1.8.1 + # via ipykernel +decorator==5.1.1 + # via ipython +defusedxml==0.7.1 +docstring-parser==0.15 + # via magicgui +docutils==0.20.1 + # via sphinx +et-xmlfile==1.1.0 + # via openpyxl +executing==2.0.1 + # via stack-data +fonticon-fontawesome6==6.4.0 +freetype-py==2.4.0 + # via vispy +fsspec==2024.2.0 + # via dask +h5py==3.10.0 +heapdict==1.0.1 + # via cachey +hsluv==5.0.4 + # via vispy +idna==3.6 + # via requests +imagecodecs==2024.1.1 +imageio==2.34.0 + # via + # napari + # napari-svg + # scikit-image +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.1 + # via dask +in-n-out==0.1.9 + # via app-model +iniconfig==2.0.0 + # via pytest +ipykernel==6.29.3 + # via + # napari-console + # qtconsole +ipython==8.22.2 + # via + # ipykernel + # napari-console +jedi==0.19.1 + # via ipython +jinja2==3.1.3 + # via + # numpydoc + # sphinx +jsonschema==4.21.1 + # via napari +jsonschema-specifications==2023.12.1 + # via jsonschema +jupyter-client==8.6.0 + # via + # ipykernel + # qtconsole +jupyter-core==5.7.1 + # via + # ipykernel + # jupyter-client + # qtconsole +kiwisolver==1.4.5 + # via vispy +lazy-loader==0.3 + # via + # napari + # scikit-image +local-migrator==0.1.10 + # via nme +locket==1.0.0 + # via partd +lxml==5.1.0 +magicgui==0.8.2 + # via napari +mahotas==1.4.13 +markdown-it-py==3.0.0 + # via rich +markupsafe==2.1.5 + # via jinja2 +matplotlib-inline==0.1.6 + # via + # ipykernel + # ipython +mdurl==0.1.2 + # via markdown-it-py +mpmath==1.3.0 + # via sympy +mypy-extensions==1.0.0 + # via psygnal +napari==0.4.19.post1 +napari-console==0.0.9 + # via napari +napari-plugin-engine==0.2.0 + # via + # napari + # napari-svg +napari-svg==0.1.10 + # via napari +nest-asyncio==1.6.0 + # via ipykernel +networkx==3.2.1 + # via scikit-image +nme==0.1.8 +npe2==0.7.4 + # via napari +numpy==1.26.4 + # via + # czifile + # dask + # h5py + # imagecodecs + # imageio + # mahotas + # napari + # napari-svg + # oiffile + # pandas + # partsegcore-compiled-backend + # scikit-image + # scipy + # tifffile + # vispy +numpydoc==1.6.0 + # via napari +oiffile==2023.8.30 +openpyxl==3.1.2 +packaging==23.2 + # via + # build + # dask + # ipykernel + # local-migrator + # pooch + # pyinstaller + # pyinstaller-hooks-contrib + # pytest + # qtconsole + # qtpy + # scikit-image + # sphinx + # superqt + # vispy +pandas==2.2.1 + # via napari +parso==0.8.3 + # via jedi +partd==1.4.1 + # via dask +partsegcore-compiled-backend==0.15.6 +partsegdata==0.10.0 +pexpect==4.9.0 + # via ipython +pillow==10.2.0 + # via + # imageio + # napari + # scikit-image +pint==0.23 + # via napari +platformdirs==4.2.0 + # via + # jupyter-core + # pooch +pluggy==1.4.0 + # via + # pytest + # pytest-qt +pooch==1.8.1 + # via scikit-image +prompt-toolkit==3.0.43 + # via ipython +psutil==5.9.8 + # via + # ipykernel + # napari +psygnal==0.9.5 + # via + # app-model + # magicgui + # napari + # npe2 +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.2 + # via stack-data +pyconify==0.1.6 + # via superqt +pydantic==1.10.14 + # via + # app-model + # napari + # npe2 + # pydantic-compat +pydantic-compat==0.1.2 + # via app-model +pygments==2.17.2 + # via + # ipython + # napari + # qtconsole + # rich + # sphinx + # superqt +pyinstaller==6.4.0 +pyinstaller-hooks-contrib==2024.2 + # via pyinstaller +pyopengl==3.1.7 + # via napari +pyopengl-accelerate==3.1.7 +pyproject-hooks==1.0.0 + # via build +pyqt5==5.15.10 +pyqt5-qt5==5.15.2 + # via pyqt5 +pyqt5-sip==12.13.0 + # via pyqt5 +pyqt6==6.6.1 +pyqt6-qt6==6.6.2 + # via pyqt6 +pyqt6-sip==13.6.0 + # via pyqt6 +pyside2==5.13.2 +pyside6==6.6.2 +pyside6-addons==6.6.2 + # via pyside6 +pyside6-essentials==6.6.2 + # via + # pyside6 + # pyside6-addons +pytest==8.0.2 + # via + # pytest-qt + # pytest-timeout +pytest-qt==4.4.0 +pytest-timeout==2.2.0 +python-dateutil==2.9.0.post0 + # via + # jupyter-client + # pandas +pytz==2024.1 + # via pandas +pyyaml==6.0.1 + # via + # dask + # napari + # npe2 +pyzmq==25.1.2 + # via + # ipykernel + # jupyter-client + # qtconsole +qtawesome==1.3.0 +qtconsole==5.5.1 + # via napari-console +qtpy==2.4.1 + # via + # magicgui + # napari + # napari-console + # qtawesome + # qtconsole + # superqt +referencing==0.33.0 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # pooch + # pyconify + # sphinx +rich==13.7.1 + # via npe2 +rpds-py==0.18.0 + # via + # jsonschema + # referencing +scikit-image==0.22.0 + # via napari +scipy==1.12.0 + # via + # napari + # scikit-image +sentry-sdk==1.40.6 +setuptools==69.1.1 + # via + # pyinstaller + # pyinstaller-hooks-contrib +shiboken2==5.13.2 + # via pyside2 +shiboken6==6.6.2 + # via + # pyside6 + # pyside6-addons + # pyside6-essentials +simpleitk==2.3.1 +six==1.16.0 + # via + # asttokens + # python-dateutil +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.2.6 + # via numpydoc +sphinxcontrib-applehelp==1.0.8 + # via sphinx +sphinxcontrib-devhelp==1.0.6 + # via sphinx +sphinxcontrib-htmlhelp==2.0.5 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.7 + # via sphinx +sphinxcontrib-serializinghtml==1.1.10 + # via sphinx +stack-data==0.6.3 + # via ipython +superqt==0.6.1 + # via + # magicgui + # napari +sympy==1.12 +tabulate==0.9.0 + # via numpydoc +tifffile==2024.2.12 + # via + # czifile + # napari + # oiffile + # scikit-image +tomli-w==1.0.0 + # via npe2 +toolz==0.12.1 + # via + # dask + # napari + # partd +tornado==6.4 + # via + # ipykernel + # jupyter-client +tqdm==4.66.2 + # via napari +traceback-with-variables==2.0.4 +traitlets==5.14.1 + # via + # comm + # ipykernel + # ipython + # jupyter-client + # jupyter-core + # matplotlib-inline + # qtconsole +typer==0.9.0 + # via npe2 +typing-extensions==4.10.0 + # via + # app-model + # magicgui + # napari + # pint + # psygnal + # pydantic + # superqt + # typer +tzdata==2024.1 + # via pandas +urllib3==2.2.1 + # via + # requests + # sentry-sdk +vispy==0.14.1 + # via + # napari + # napari-svg +wcwidth==0.2.13 + # via prompt-toolkit +wrapt==1.16.0 + # via napari +xlrd==2.0.1 +xlsxwriter==3.2.0 +zipp==3.17.0 + # via importlib-metadata diff --git a/requirements/constraints_py3.8.txt b/requirements/constraints_py3.8.txt index d5d105bac..d86f5a789 100644 --- a/requirements/constraints_py3.8.txt +++ b/requirements/constraints_py3.8.txt @@ -22,7 +22,7 @@ babel==2.14.0 # via sphinx backcall==0.2.0 # via ipython -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -134,7 +134,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -273,7 +273,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -304,7 +304,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.8_pydantic_1.txt b/requirements/constraints_py3.8_pydantic_1.txt index 639bff760..9b23cf836 100644 --- a/requirements/constraints_py3.8_pydantic_1.txt +++ b/requirements/constraints_py3.8_pydantic_1.txt @@ -20,7 +20,7 @@ babel==2.14.0 # via sphinx backcall==0.2.0 # via ipython -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -132,7 +132,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -269,7 +269,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -300,7 +300,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.9.txt b/requirements/constraints_py3.9.txt index c58fa855f..928372d45 100644 --- a/requirements/constraints_py3.9.txt +++ b/requirements/constraints_py3.9.txt @@ -20,7 +20,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -130,7 +130,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -264,7 +264,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -295,7 +295,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/requirements/constraints_py3.9_pydantic_1.txt b/requirements/constraints_py3.9_pydantic_1.txt index 94f4eafc3..1c538f2f8 100644 --- a/requirements/constraints_py3.9_pydantic_1.txt +++ b/requirements/constraints_py3.9_pydantic_1.txt @@ -18,7 +18,7 @@ attrs==23.2.0 # referencing babel==2.14.0 # via sphinx -build==1.0.3 +build==1.1.1 # via npe2 cachey==0.2.1 # via napari @@ -128,7 +128,7 @@ local-migrator==0.1.10 locket==1.0.0 # via partd lxml==5.1.0 -magicgui==0.8.1 +magicgui==0.8.2 # via napari mahotas==1.4.13 markdown-it-py==3.0.0 @@ -260,7 +260,7 @@ pygments==2.17.2 # sphinx # superqt pyinstaller==6.4.0 -pyinstaller-hooks-contrib==2024.1 +pyinstaller-hooks-contrib==2024.2 # via pyinstaller pyopengl==3.1.7 # via napari @@ -291,7 +291,7 @@ pytest==8.0.2 # pytest-timeout pytest-qt==4.4.0 pytest-timeout==2.2.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # jupyter-client # pandas diff --git a/tox.ini b/tox.ini index 3a74d7333..11c8ecc5c 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py{38,39,310,311}-{PyQt5,PySide2,PyQt6,PySide6}-all, py{38,39,310,311}-{PyQt5,PySide2,PyQt6,PySide6}-napari_{417,418,419,repo} +envlist = py{38,39,310,311,312}-{PyQt5,PySide2,PyQt6,PySide6}-all, py{38,39,310,311,312}-{PyQt5,PySide2,PyQt6,PySide6}-napari_{417,418,419,repo} toxworkdir=/tmp/tox [gh-actions] @@ -69,7 +69,7 @@ deps= pytest pytest-json-report -[testenv:py{38,39,310,311}-{PyQt5,PySide2,PyQt6,PySide6}-napari_{417,418,419,repo}] +[testenv:py{38,39,310,311,312}-{PyQt5,PySide2,PyQt6,PySide6}-napari_{417,418,419,repo}] deps = {[testenv]deps} 417: napari==0.4.17 @@ -82,7 +82,7 @@ commands = !repo: python -m pytest -v package/tests/test_PartSeg/test_napari_widgets.py --json-report --json-report-file={toxinidir}/report-{envname}-{sys_platform}.json repo: python -m pytest --json-report --json-report-file={toxinidir}/report-{envname}-{sys_platform}.json -[testenv:py{38,39,310,311}-PyQt5-coverage] +[testenv:py{38,39,310,311,312}-PyQt5-coverage] deps = {[testenv]deps} commands = @@ -101,7 +101,7 @@ deps = commands = coverage run -m pytest --json-report --json-report-file={toxinidir}/report-{envname}-{sys_platform}.json -[testenv:py{38,39,310}-{PyQt5, PySide2,PyQt6,PySide6}-azure] +[testenv:py{38,39,310,311,312}-{PyQt5, PySide2,PyQt6,PySide6}-azure] deps = pytest-azurepipelines {[testenv]deps}