From 25d6f9fcbe5d8d53749c89da28d6e92369f3e4b6 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Sat, 9 Dec 2023 13:07:35 +0100 Subject: [PATCH] MAINT: test package on Python 3.12 (#43) * FIX: remove `ypy-websocket` from dependencies * MAINT: update pip constraints and pre-commit --------- Co-authored-by: GitHub Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .constraints/py3.10.txt | 26 ++- .constraints/py3.11.txt | 26 ++- .constraints/py3.12.txt | 183 ++++++++++++++++++++++ .constraints/py3.6.txt | 2 +- .constraints/py3.7.txt | 10 +- .constraints/py3.8.txt | 24 ++- .constraints/py3.9.txt | 26 ++- .cspell.json | 1 + .gitpod.yml | 1 + .pre-commit-config.yaml | 41 ++--- .vscode/settings.json | 2 +- environment.yml | 4 +- pyproject.toml | 20 +++ setup.cfg | 2 +- tests/pawian/data/test_pandas_accessor.py | 2 +- 15 files changed, 275 insertions(+), 95 deletions(-) create mode 100644 .constraints/py3.12.txt diff --git a/.constraints/py3.10.txt b/.constraints/py3.10.txt index c50edd5..df4c872 100644 --- a/.constraints/py3.10.txt +++ b/.constraints/py3.10.txt @@ -5,8 +5,6 @@ # pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.10.txt --strip-extras # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.1.0 argon2-cffi==23.1.0 @@ -47,11 +45,11 @@ filelock==3.13.1 fonttools==4.46.0 fqdn==1.5.1 gprof2dot==2022.7.29 -greenlet==3.0.1 -identify==2.5.32 +greenlet==3.0.2 +identify==2.5.33 idna==3.6 imagesize==1.4.1 -importlib-metadata==6.9.0 +importlib-metadata==7.0.0 iniconfig==2.0.0 ipykernel==6.27.1 ipython==8.18.1 @@ -68,7 +66,7 @@ jupyter-client==8.6.0 jupyter-core==5.5.0 jupyter-events==0.9.0 jupyter-lsp==2.2.1 -jupyter-server==2.11.1 +jupyter-server==2.12.1 jupyter-server-terminals==0.4.4 jupyterlab==4.0.9 jupyterlab-code-formatter==2.2.1 @@ -91,7 +89,7 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.9.0 -nbconvert==7.11.0 +nbconvert==7.12.0 nbformat==5.9.2 nest-asyncio==1.5.8 nodeenv==1.8.0 @@ -99,13 +97,13 @@ notebook-shim==0.2.3 numpy==1.26.2 overrides==7.4.0 packaging==23.2 -pandas==2.1.3 +pandas==2.1.4 pandocfilters==1.5.0 parso==0.8.3 pathspec==0.11.2 pexpect==4.9.0 pillow==10.1.0 -platformdirs==4.0.0 +platformdirs==4.1.0 pluggy==1.3.0 pre-commit==3.5.0 prometheus-client==0.19.0 @@ -130,14 +128,14 @@ python-lsp-server==1.9.0 pytoolconfig==1.2.6 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==25.1.1 -referencing==0.31.1 +pyzmq==25.1.2 +referencing==0.32.0 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.11.0 rpds-py==0.13.2 -ruff==0.1.6 ; python_version >= "3.7.0" +ruff==0.1.7 ; python_version >= "3.7.0" send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -178,11 +176,9 @@ virtualenv==20.25.0 wcwidth==0.2.12 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.4 +websocket-client==1.7.0 wheel==0.42.0 widgetsnbextension==4.0.9 -y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version >= "3.7.0" zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: diff --git a/.constraints/py3.11.txt b/.constraints/py3.11.txt index 65ce44d..36ba7ed 100644 --- a/.constraints/py3.11.txt +++ b/.constraints/py3.11.txt @@ -5,8 +5,6 @@ # pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.11.txt --strip-extras # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.1.0 argon2-cffi==23.1.0 @@ -46,11 +44,11 @@ filelock==3.13.1 fonttools==4.46.0 fqdn==1.5.1 gprof2dot==2022.7.29 -greenlet==3.0.1 -identify==2.5.32 +greenlet==3.0.2 +identify==2.5.33 idna==3.6 imagesize==1.4.1 -importlib-metadata==6.9.0 +importlib-metadata==7.0.0 iniconfig==2.0.0 ipykernel==6.27.1 ipython==8.18.1 @@ -67,7 +65,7 @@ jupyter-client==8.6.0 jupyter-core==5.5.0 jupyter-events==0.9.0 jupyter-lsp==2.2.1 -jupyter-server==2.11.1 +jupyter-server==2.12.1 jupyter-server-terminals==0.4.4 jupyterlab==4.0.9 jupyterlab-code-formatter==2.2.1 @@ -90,7 +88,7 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.9.0 -nbconvert==7.11.0 +nbconvert==7.12.0 nbformat==5.9.2 nest-asyncio==1.5.8 nodeenv==1.8.0 @@ -98,13 +96,13 @@ notebook-shim==0.2.3 numpy==1.26.2 overrides==7.4.0 packaging==23.2 -pandas==2.1.3 +pandas==2.1.4 pandocfilters==1.5.0 parso==0.8.3 pathspec==0.11.2 pexpect==4.9.0 pillow==10.1.0 -platformdirs==4.0.0 +platformdirs==4.1.0 pluggy==1.3.0 pre-commit==3.5.0 prometheus-client==0.19.0 @@ -129,14 +127,14 @@ python-lsp-server==1.9.0 pytoolconfig==1.2.6 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==25.1.1 -referencing==0.31.1 +pyzmq==25.1.2 +referencing==0.32.0 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.11.0 rpds-py==0.13.2 -ruff==0.1.6 ; python_version >= "3.7.0" +ruff==0.1.7 ; python_version >= "3.7.0" send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -176,11 +174,9 @@ virtualenv==20.25.0 wcwidth==0.2.12 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.4 +websocket-client==1.7.0 wheel==0.42.0 widgetsnbextension==4.0.9 -y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version >= "3.7.0" zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: diff --git a/.constraints/py3.12.txt b/.constraints/py3.12.txt new file mode 100644 index 0000000..7a61b64 --- /dev/null +++ b/.constraints/py3.12.txt @@ -0,0 +1,183 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.12.txt --strip-extras +# +accessible-pygments==0.0.4 +alabaster==0.7.13 +anyio==4.1.0 +argon2-cffi==23.1.0 +argon2-cffi-bindings==21.2.0 +arrow==1.3.0 +asttokens==2.4.1 +async-lru==2.0.4 +attrs==23.1.0 +awkward==2.5.0 +awkward-cpp==26 +babel==2.13.1 +beautifulsoup4==4.12.2 +black==23.11.0 +bleach==6.1.0 +cachetools==5.3.2 +certifi==2023.11.17 +cffi==1.16.0 +cfgv==3.4.0 +chardet==5.2.0 +charset-normalizer==3.3.2 +click==8.1.7 +colorama==0.4.6 +comm==0.2.0 +contourpy==1.2.0 +coverage==7.3.2 +cycler==0.12.1 +debugpy==1.8.0 +decorator==5.1.1 +defusedxml==0.7.1 +distlib==0.3.7 +docstring-to-markdown==0.13 +docutils==0.19 +execnet==2.0.2 +executing==2.0.1 +fastjsonschema==2.19.0 +filelock==3.13.1 +fonttools==4.46.0 +fqdn==1.5.1 +gprof2dot==2022.7.29 +greenlet==3.0.2 +identify==2.5.33 +idna==3.6 +imagesize==1.4.1 +importlib-metadata==7.0.0 +iniconfig==2.0.0 +ipykernel==6.27.1 +ipython==8.18.1 +ipywidgets==8.1.1 +isoduration==20.11.0 +jedi==0.19.1 +jinja2==3.1.2 +json5==0.9.14 +jsonpointer==2.4 +jsonschema==4.20.0 +jsonschema-specifications==2023.11.2 +jupyter-cache==1.0.0 +jupyter-client==8.6.0 +jupyter-core==5.5.0 +jupyter-events==0.9.0 +jupyter-lsp==2.2.1 +jupyter-server==2.12.1 +jupyter-server-terminals==0.4.4 +jupyterlab==4.0.9 +jupyterlab-code-formatter==2.2.1 +jupyterlab-lsp==5.0.1 +jupyterlab-myst==2.1.0 ; python_version >= "3.7.0" +jupyterlab-pygments==0.3.0 +jupyterlab-server==2.25.2 +jupyterlab-widgets==3.0.9 +kiwisolver==1.4.5 +livereload==2.6.3 +markdown-it-py==3.0.0 +markupsafe==2.1.3 +matplotlib==3.8.2 +matplotlib-inline==0.1.6 +mdit-py-plugins==0.4.0 +mdurl==0.1.2 +mistune==3.0.2 +mypy==1.7.1 +mypy-extensions==1.0.0 +myst-nb==1.0.0 +myst-parser==2.0.0 +nbclient==0.9.0 +nbconvert==7.12.0 +nbformat==5.9.2 +nest-asyncio==1.5.8 +nodeenv==1.8.0 +notebook-shim==0.2.3 +numpy==1.26.2 +overrides==7.4.0 +packaging==23.2 +pandas==2.1.4 +pandocfilters==1.5.0 +parso==0.8.3 +pathspec==0.11.2 +pexpect==4.9.0 +pillow==10.1.0 +platformdirs==4.1.0 +pluggy==1.3.0 +pre-commit==3.5.0 +prometheus-client==0.19.0 +prompt-toolkit==3.0.41 +psutil==5.9.6 +ptyprocess==0.7.0 +pure-eval==0.2.2 +pycparser==2.21 +pydata-sphinx-theme==0.14.4 +pydeps==1.12.17 +pygments==2.17.2 +pyparsing==3.1.1 +pyproject-api==1.6.1 +pytest==7.4.3 +pytest-cov==4.1.0 +pytest-profiling==1.7.0 +pytest-xdist==3.5.0 +python-dateutil==2.8.2 +python-json-logger==2.0.7 +python-lsp-jsonrpc==1.1.2 +python-lsp-server==1.9.0 +pytoolconfig==1.2.6 +pytz==2023.3.post1 +pyyaml==6.0.1 +pyzmq==25.1.2 +referencing==0.32.0 +requests==2.31.0 +rfc3339-validator==0.1.4 +rfc3986-validator==0.1.1 +rope==1.11.0 +rpds-py==0.13.2 +ruff==0.1.7 ; python_version >= "3.7.0" +send2trash==1.8.2 +six==1.16.0 +sniffio==1.3.0 +snowballstemmer==2.2.0 +soupsieve==2.5 +sphinx==6.2.1 +sphinx-autobuild==2021.3.14 +sphinx-book-theme==1.0.1 +sphinx-codeautolink==0.15.0 +sphinx-copybutton==0.5.2 +sphinx-thebe==0.3.0 +sphinx-togglebutton==0.3.2 +sphinxcontrib-applehelp==1.0.7 +sphinxcontrib-devhelp==1.0.5 +sphinxcontrib-htmlhelp==2.0.4 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.6 +sphinxcontrib-serializinghtml==1.1.9 +sqlalchemy==2.0.23 +stack-data==0.6.3 +stdlib-list==0.10.0 +tabulate==0.9.0 +terminado==0.18.0 +tinycss2==1.2.1 +tornado==6.4 +tox==4.11.4 +traitlets==5.14.0 +types-python-dateutil==2.8.19.14 +types-setuptools==69.0.0.0 +typing-extensions==4.8.0 +tzdata==2023.3 +ujson==5.8.0 +uproot==5.1.2 +uri-template==1.3.0 +urllib3==2.1.0 +virtualenv==20.25.0 +wcwidth==0.2.12 +webcolors==1.13 +webencodings==0.5.1 +websocket-client==1.7.0 +wheel==0.42.0 +widgetsnbextension==4.0.9 +zipp==3.17.0 + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/.constraints/py3.6.txt b/.constraints/py3.6.txt index cba872e..486e4dc 100644 --- a/.constraints/py3.6.txt +++ b/.constraints/py3.6.txt @@ -116,7 +116,7 @@ python-lsp-jsonrpc==1.0.0 python-lsp-server==1.3.3 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==25.1.1 +pyzmq==25.1.2 requests==2.27.1 rope==1.1.1 send2trash==1.8.2 diff --git a/.constraints/py3.7.txt b/.constraints/py3.7.txt index 5a2c72b..c742163 100644 --- a/.constraints/py3.7.txt +++ b/.constraints/py3.7.txt @@ -44,7 +44,7 @@ filelock==3.12.2 fonttools==4.38.0 fqdn==1.5.1 gprof2dot==2022.7.29 -greenlet==3.0.1 +greenlet==3.0.2 identify==2.5.24 idna==3.6 imagesize==1.4.1 @@ -69,7 +69,7 @@ jupyter-lsp==1.5.1 jupyter-server==1.24.0 jupyter-server-fileid==0.9.0 jupyter-server-ydoc==0.8.0 -jupyter-ydoc==0.2.4 +jupyter-ydoc==0.2.5 jupyterlab==3.6.6 jupyterlab-code-formatter==2.2.1 jupyterlab-lsp==3.10.2 @@ -138,7 +138,7 @@ requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.9.0 -ruff==0.1.6 ; python_version >= "3.7.0" +ruff==0.1.7 ; python_version >= "3.7.0" send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -180,8 +180,8 @@ webencodings==0.5.1 websocket-client==1.6.1 wheel==0.42.0 widgetsnbextension==4.0.9 -y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version >= "3.7.0" +y-py==0.6.2 +ypy-websocket==0.8.4 zipp==3.15.0 # The following packages are considered to be unsafe in a requirements file: diff --git a/.constraints/py3.8.txt b/.constraints/py3.8.txt index 53783ed..f2dc9ff 100644 --- a/.constraints/py3.8.txt +++ b/.constraints/py3.8.txt @@ -5,8 +5,6 @@ # pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.8.txt --strip-extras # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.1.0 argon2-cffi==23.1.0 @@ -48,11 +46,11 @@ filelock==3.13.1 fonttools==4.46.0 fqdn==1.5.1 gprof2dot==2022.7.29 -greenlet==3.0.1 -identify==2.5.32 +greenlet==3.0.2 +identify==2.5.33 idna==3.6 imagesize==1.4.1 -importlib-metadata==6.9.0 +importlib-metadata==7.0.0 importlib-resources==6.1.1 iniconfig==2.0.0 ipykernel==6.27.1 @@ -70,7 +68,7 @@ jupyter-client==8.6.0 jupyter-core==5.5.0 jupyter-events==0.9.0 jupyter-lsp==2.2.1 -jupyter-server==2.11.1 +jupyter-server==2.12.1 jupyter-server-terminals==0.4.4 jupyterlab==4.0.9 jupyterlab-code-formatter==2.2.1 @@ -93,7 +91,7 @@ mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 nbclient==0.7.4 -nbconvert==7.11.0 +nbconvert==7.12.0 nbformat==5.9.2 nest-asyncio==1.5.8 nodeenv==1.8.0 @@ -109,7 +107,7 @@ pexpect==4.9.0 pickleshare==0.7.5 pillow==10.1.0 pkgutil-resolve-name==1.3.10 -platformdirs==4.0.0 +platformdirs==4.1.0 pluggy==1.3.0 pre-commit==3.5.0 prometheus-client==0.19.0 @@ -134,14 +132,14 @@ python-lsp-server==1.9.0 pytoolconfig==1.2.6 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==25.1.1 -referencing==0.31.1 +pyzmq==25.1.2 +referencing==0.32.0 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.11.0 rpds-py==0.13.2 -ruff==0.1.6 ; python_version >= "3.7.0" +ruff==0.1.7 ; python_version >= "3.7.0" send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -182,11 +180,9 @@ virtualenv==20.25.0 wcwidth==0.2.12 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.4 +websocket-client==1.7.0 wheel==0.42.0 widgetsnbextension==4.0.9 -y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version >= "3.7.0" zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: diff --git a/.constraints/py3.9.txt b/.constraints/py3.9.txt index 2903b41..96643e4 100644 --- a/.constraints/py3.9.txt +++ b/.constraints/py3.9.txt @@ -5,8 +5,6 @@ # pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.9.txt --strip-extras # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.1.0 argon2-cffi==23.1.0 @@ -47,11 +45,11 @@ filelock==3.13.1 fonttools==4.46.0 fqdn==1.5.1 gprof2dot==2022.7.29 -greenlet==3.0.1 -identify==2.5.32 +greenlet==3.0.2 +identify==2.5.33 idna==3.6 imagesize==1.4.1 -importlib-metadata==6.9.0 +importlib-metadata==7.0.0 importlib-resources==6.1.1 iniconfig==2.0.0 ipykernel==6.27.1 @@ -69,7 +67,7 @@ jupyter-client==8.6.0 jupyter-core==5.5.0 jupyter-events==0.9.0 jupyter-lsp==2.2.1 -jupyter-server==2.11.1 +jupyter-server==2.12.1 jupyter-server-terminals==0.4.4 jupyterlab==4.0.9 jupyterlab-code-formatter==2.2.1 @@ -92,7 +90,7 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.9.0 -nbconvert==7.11.0 +nbconvert==7.12.0 nbformat==5.9.2 nest-asyncio==1.5.8 nodeenv==1.8.0 @@ -100,13 +98,13 @@ notebook-shim==0.2.3 numpy==1.26.2 overrides==7.4.0 packaging==23.2 -pandas==2.1.3 +pandas==2.1.4 pandocfilters==1.5.0 parso==0.8.3 pathspec==0.11.2 pexpect==4.9.0 pillow==10.1.0 -platformdirs==4.0.0 +platformdirs==4.1.0 pluggy==1.3.0 pre-commit==3.5.0 prometheus-client==0.19.0 @@ -131,14 +129,14 @@ python-lsp-server==1.9.0 pytoolconfig==1.2.6 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==25.1.1 -referencing==0.31.1 +pyzmq==25.1.2 +referencing==0.32.0 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.11.0 rpds-py==0.13.2 -ruff==0.1.6 ; python_version >= "3.7.0" +ruff==0.1.7 ; python_version >= "3.7.0" send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -179,11 +177,9 @@ virtualenv==20.25.0 wcwidth==0.2.12 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.4 +websocket-client==1.7.0 wheel==0.42.0 widgetsnbextension==4.0.9 -y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version >= "3.7.0" zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: diff --git a/.cspell.json b/.cspell.json index acccb6e..d20e61e 100644 --- a/.cspell.json +++ b/.cspell.json @@ -13,6 +13,7 @@ "transisions" ], "ignorePaths": [ + "**/*.rst_t", "**/.cspell.json", ".constraints/*.txt", ".editorconfig", diff --git a/.gitpod.yml b/.gitpod.yml index 63f1485..db8f90f 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,4 +1,5 @@ tasks: + - init: pyenv local 3.8 - init: pip install -c .constraints/py3.8.txt -e .[dev] github: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4acbba5..c8ea5fc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,6 +13,17 @@ repos: - id: check-hooks-apply - id: check-useless-excludes + - repo: https://github.com/ComPWA/repo-maintenance + rev: 0.1.9 + hooks: + - id: check-dev-files + args: + - --no-prettierrc + - --pin-requirements=bimonthly + - --repo-name=PawianTools + - --repo-title=Pawian Tools + - id: format-setup-cfg + - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: @@ -31,17 +42,6 @@ repos: args: ["--django"] - id: trailing-whitespace - - repo: https://github.com/ComPWA/repo-maintenance - rev: 0.1.4 - hooks: - - id: check-dev-files - args: - - --no-prettierrc - - --pin-requirements=bimonthly - - --repo-name=PawianTools - - --repo-title=Pawian Tools - - id: format-setup-cfg - - repo: https://github.com/psf/black-pre-commit-mirror rev: 23.11.0 hooks: @@ -53,7 +53,7 @@ repos: - jupyter - repo: https://github.com/streetsidesoftware/cspell-cli - rev: v8.0.0 + rev: v8.1.1 hooks: - id: cspell @@ -104,28 +104,21 @@ repos: metadata.vscode - repo: https://github.com/pre-commit/mirrors-prettier - rev: v4.0.0-alpha.3 + rev: v4.0.0-alpha.3-1 hooks: - id: prettier - repo: https://github.com/ComPWA/mirrors-pyright - rev: v1.1.338 + rev: v1.1.339 hooks: - id: pyright - - repo: https://github.com/asottile/pyupgrade - rev: v3.15.0 - hooks: - - id: pyupgrade - args: - - --py36-plus - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.6 + rev: v0.1.7 hooks: - id: ruff - args: - - --fix + args: [--fix] + types_or: [python, pyi, jupyter] - repo: https://github.com/ComPWA/mirrors-taplo rev: v0.8.1 diff --git a/.vscode/settings.json b/.vscode/settings.json index b93c795..fed79fa 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -17,7 +17,7 @@ }, "[python]": { "editor.codeActionsOnSave": { - "source.organizeImports": true + "source.organizeImports": "explicit" }, "editor.defaultFormatter": "ms-python.black-formatter", "editor.rulers": [88] diff --git a/environment.yml b/environment.yml index 83ce4c8..0610a07 100644 --- a/environment.yml +++ b/environment.yml @@ -6,8 +6,6 @@ dependencies: - pip - python==3.8.* - pip: - - | - -c .constraints/py3.8.txt - -e .[dev] + - -c .constraints/py3.8.txt -e .[dev] variables: PRETTIER_LEGACY_CLI: "1" diff --git a/pyproject.toml b/pyproject.toml index da70be0..b7e5dbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,6 +27,7 @@ preview = true target-version = [ "py310", "py311", + "py312", "py36", "py37", "py38", @@ -106,6 +107,7 @@ filterwarnings = [ "ignore:.*Consider switching from .* to .*:DeprecationWarning", "ignore:DataFrame.groupby with axis=1 is deprecated.*:FutureWarning", "ignore:Using the level keyword in DataFrame and Series aggregations is deprecated.*:FutureWarning", + "ignore:datetime.datetime.utcfromtimestamp\\(\\) is deprecated and scheduled for removal in a future version.*:DeprecationWarning", "ignore:the imp module is deprecated in favour of importlib.*:DeprecationWarning", ] markers = [ @@ -122,6 +124,7 @@ testpaths = [ ] [tool.ruff] +extend-include = ["*.ipynb"] extend-select = [ "A", "B", @@ -176,6 +179,22 @@ target-version = "py37" task-tags = ["cspell"] [tool.ruff.per-file-ignores] +"*.ipynb" = [ + "B018", + "C90", + "D", + "E402", + "E703", + "N806", + "N816", + "PLR09", + "PLR2004", + "PLW0602", + "PLW0603", + "S101", + "T20", + "TCH00", +] "docs/*" = [ "E402", "INP001", @@ -195,6 +214,7 @@ task-tags = ["cspell"] "PLR0913", "PLR2004", "S101", + "T20", ] [tool.ruff.pydocstyle] diff --git a/setup.cfg b/setup.cfg index 68bb1a8..f6ad18a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,6 +34,7 @@ classifiers = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Topic :: Scientific/Engineering Topic :: Scientific/Engineering :: Physics Typing :: Typed @@ -96,7 +97,6 @@ jupyter = jupyterlab-lsp jupyterlab-myst; python_version >="3.7.0" python-lsp-server[rope] - ypy-websocket <0.8.3; python_version >="3.7.0" # https://github.com/redeboer/PawianTools/actions/runs/4350341991/jobs/7600958375#step:3:78 dev = %(doc)s %(jupyter)s diff --git a/tests/pawian/data/test_pandas_accessor.py b/tests/pawian/data/test_pandas_accessor.py index d52df11..0d64164 100644 --- a/tests/pawian/data/test_pandas_accessor.py +++ b/tests/pawian/data/test_pandas_accessor.py @@ -60,7 +60,7 @@ def test_raise_validate(columns, names): multi_index = pd.MultiIndex.from_tuples(columns, names=names) frame = pd.DataFrame(columns=multi_index) with pytest.raises(AttributeError): - print(frame.pwa) # noqa: T201 + print(frame.pwa) def test_properties_multicolumn():