diff --git a/pixi.lock b/pixi.lock index 97b67120..3b33cd02 100644 --- a/pixi.lock +++ b/pixi.lock @@ -143,7 +143,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/linux-64/pandas-2.2.3-py310h5eaa309_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/pillow-11.0.0-py310hfeaa1f3_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/pillow-11.1.0-py310h7e6dc6c_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/psutil-6.1.1-py310ha75aee5_0.conda - conda: https://prefix.dev/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda @@ -317,7 +317,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pandas-2.2.3-py310hfd37619_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.0.0-py310h530beaf_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.1.0-py310h61efb56_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/psutil-6.1.1-py310h078409c_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda @@ -462,7 +462,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/win-64/pandas-2.2.3-py310hb4db72f_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/win-64/pillow-11.0.0-py310h4dc435f_0.conda + - conda: https://prefix.dev/conda-forge/win-64/pillow-11.1.0-py310h9595edc_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/win-64/psutil-6.1.1-py310ha8f682b_0.conda - conda: https://prefix.dev/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda @@ -847,7 +847,7 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/astroid-3.3.8-py313h78bf25f_0.conda - conda: https://prefix.dev/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_1.conda @@ -857,7 +857,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/cffi-1.17.1-py313hfab6e84_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/coverage-7.6.10-py313h8060acc_0.conda - conda: https://prefix.dev/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_1.conda @@ -941,7 +941,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -962,7 +962,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ukkonen-1.0.1-py313h33d0bda_5.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://prefix.dev/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda @@ -976,7 +976,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/astroid-3.3.8-py313h8f79df9_0.conda - conda: https://prefix.dev/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_1.conda @@ -986,7 +986,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/cffi-1.17.1-py313hc845a76_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/coverage-7.6.10-py313ha9b7d5b_0.conda - conda: https://prefix.dev/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_1.conda @@ -1065,7 +1065,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -1086,7 +1086,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ukkonen-1.0.1-py313hf9c7212_5.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 - conda: https://prefix.dev/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda @@ -1100,7 +1100,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/astroid-3.3.8-py313hfa70ccb_0.conda - conda: https://prefix.dev/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_1.conda @@ -1110,7 +1110,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/win-64/coverage-7.6.10-py313hb4c8b1a_0.conda - conda: https://prefix.dev/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_1.conda @@ -1184,7 +1184,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -1209,7 +1209,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-ha32ba9b_23.conda - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34433-he29a5d6_23.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34433-hdffcdeb_23.conda - conda: https://prefix.dev/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda @@ -1235,7 +1235,7 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/cffi-1.17.1-py313hfab6e84_0.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/furo-2024.8.6-pyhd8ed1ab_2.conda @@ -1278,7 +1278,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -1305,7 +1305,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/ca-certificates-2024.12.14-hf0a4a13_0.conda - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/cffi-1.17.1-py313hc845a76_0.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/furo-2024.8.6-pyhd8ed1ab_2.conda @@ -1342,7 +1342,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -1369,7 +1369,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/furo-2024.8.6-pyhd8ed1ab_2.conda @@ -1403,7 +1403,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -1439,7 +1439,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/array-api-strict-2.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/astroid-3.3.8-py313h78bf25f_0.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/brotli-python-1.1.0-py313h46c70d0_2.conda @@ -1448,7 +1448,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/cffi-1.17.1-py313hfab6e84_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/distlib-0.3.9-pyhd8ed1ab_1.conda @@ -1528,7 +1528,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ukkonen-1.0.1-py313h33d0bda_5.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://prefix.dev/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - conda: https://prefix.dev/conda-forge/linux-64/zstandard-0.23.0-py313h80202fe_1.conda @@ -1540,7 +1540,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/array-api-strict-2.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/astroid-3.3.8-py313h8f79df9_0.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/brotli-python-1.1.0-py313h3579c5c_2.conda @@ -1549,7 +1549,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/cffi-1.17.1-py313hc845a76_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/distlib-0.3.9-pyhd8ed1ab_1.conda @@ -1624,7 +1624,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ukkonen-1.0.1-py313hf9c7212_5.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 - conda: https://prefix.dev/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstandard-0.23.0-py313hf2da073_1.conda @@ -1636,7 +1636,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/array-api-strict-2.2-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/win-64/astroid-3.3.8-py313hfa70ccb_0.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/win-64/brotli-python-1.1.0-py313h5813708_2.conda @@ -1645,7 +1645,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda - conda: https://prefix.dev/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda + - conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/distlib-0.3.9-pyhd8ed1ab_1.conda @@ -1721,7 +1721,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-ha32ba9b_23.conda - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34433-he29a5d6_23.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34433-hdffcdeb_23.conda - conda: https://prefix.dev/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - conda: https://prefix.dev/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2 @@ -2016,7 +2016,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/linux-64/pandas-2.2.3-py310h5eaa309_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/pillow-11.0.0-py310hfeaa1f3_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/pillow-11.1.0-py310h7e6dc6c_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/psutil-6.1.1-py310ha75aee5_0.conda - conda: https://prefix.dev/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda @@ -2190,7 +2190,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pandas-2.2.3-py310hfd37619_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.0.0-py310h530beaf_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.1.0-py310h61efb56_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/psutil-6.1.1-py310h078409c_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda @@ -2350,7 +2350,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/win-64/pandas-2.2.3-py310hb4db72f_1.conda - conda: https://prefix.dev/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/win-64/pillow-11.0.0-py310h4dc435f_0.conda + - conda: https://prefix.dev/conda-forge/win-64/pillow-11.1.0-py310h9595edc_0.conda - conda: https://prefix.dev/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/win-64/psutil-6.1.1-py310ha8f682b_0.conda - conda: https://prefix.dev/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda @@ -2469,7 +2469,7 @@ packages: - pypi: . name: array-api-extra version: 0.5.1.dev0 - sha256: d251a42cf798c262b31d53a9ad6a39ccaee0da06f854d3d2380ef4c014e963dd + sha256: 08ad7e72202d8bde5a5e9025c0617e0652aa41fa82ca0469d3a11a09090f542a requires_dist: - array-api-compat>=1.10.0,<2 - furo>=2023.8.17 ; extra == 'docs' @@ -3263,9 +3263,9 @@ packages: - pkg:pypi/babel?source=hash-mapping size: 6551057 timestamp: 1733236466015 -- conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.8.1-pyhd8ed1ab_0.conda - sha256: b88c9921901b34c21b88f2c796510f2b7afeb60642a877b2a063fc3eb8ecac65 - md5: b5714d3fa2cbf4f1db2de22665f13bf7 +- conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.9.0-pyhd8ed1ab_0.conda + sha256: 6338810705180c2b9f7827ad171e15849a47af70d705dc45dd0d8c4748f9bb30 + md5: 5fd36cc2d33dd4326daec09c8b926458 depends: - basedtyping >=0.0.3 - mypy_extensions >=1.0.0 @@ -3275,8 +3275,8 @@ packages: license: BSD-3-Clause AND Apache-2.0 purls: - pkg:pypi/basedmypy?source=hash-mapping - size: 1806951 - timestamp: 1733893194016 + size: 1849478 + timestamp: 1735780611775 - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.23.1-pyhd8ed1ab_0.conda sha256: 992219d607c73d609f98d51dabf2ba928804dfe8e82f65985e93336cf490408c md5: cb9eaa8b1a78e9d6fe465a408244328f @@ -3640,17 +3640,16 @@ packages: - pkg:pypi/cfgv?source=hash-mapping size: 12973 timestamp: 1734267180483 -- conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - sha256: 63022ee2c6a157a9f980250a66f54bdcdf5abee817348d0f9a74c2441a6fbf0e - md5: 6581a17bba6b948bb60130026404a9d6 +- conda: https://prefix.dev/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda + sha256: 4e0ee91b97e5de3e74567bdacea27f0139709fceca4db8adffbe24deffccb09b + md5: e83a31202d1c0a000fce3e9cf3825875 depends: - python >=3.9 license: MIT - license_family: MIT purls: - pkg:pypi/charset-normalizer?source=hash-mapping - size: 47533 - timestamp: 1733218182393 + size: 47438 + timestamp: 1735929811779 - conda: https://prefix.dev/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab md5: f22f4d4970e09d68a10b922cbb0408d3 @@ -5017,6 +5016,7 @@ packages: - arrow-cpp <0.0a0 - parquet-cpp <0.0a0 license: Apache-2.0 + license_family: APACHE purls: [] size: 5303299 timestamp: 1735686839461 @@ -5057,6 +5057,7 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.42.34433 license: Apache-2.0 + license_family: APACHE purls: [] size: 447461 timestamp: 1735686912086 @@ -5103,6 +5104,7 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.42.34433 license: Apache-2.0 + license_family: APACHE purls: [] size: 435269 timestamp: 1735687174564 @@ -5158,6 +5160,7 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.42.34433 license: Apache-2.0 + license_family: APACHE purls: [] size: 365444 timestamp: 1735687288606 @@ -6395,6 +6398,7 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.42.34433 license: Apache-2.0 + license_family: APACHE purls: [] size: 812887 timestamp: 1735687117032 @@ -8168,9 +8172,9 @@ packages: - pkg:pypi/pickleshare?source=hash-mapping size: 11748 timestamp: 1733327448200 -- conda: https://prefix.dev/conda-forge/linux-64/pillow-11.0.0-py310hfeaa1f3_0.conda - sha256: 74bd9d252f227710844103542a6d7042cf6df490ee93fb6095c46c7254ef4703 - md5: 1947280342c7259b82a707e38ebc212e +- conda: https://prefix.dev/conda-forge/linux-64/pillow-11.1.0-py310h7e6dc6c_0.conda + sha256: e11d694b7c12b6a76624e8c3e48892924668a97ec26f353ce37b0648bd12ad87 + md5: 14d300b9e1504748e70cc6499a7b4d25 depends: - __glibc >=2.17,<3.0.a0 - freetype >=2.12.1,<3.0a0 @@ -8178,31 +8182,31 @@ packages: - libgcc >=13 - libjpeg-turbo >=3.0.0,<4.0a0 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.4.0,<2.0a0 + - libwebp-base >=1.5.0,<2.0a0 - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - openjpeg >=2.5.2,<3.0a0 + - openjpeg >=2.5.3,<3.0a0 - python >=3.10,<3.11.0a0 - python_abi 3.10.* *_cp310 - tk >=8.6.13,<8.7.0a0 license: HPND purls: - pkg:pypi/pillow?source=hash-mapping - size: 42649358 - timestamp: 1729065834823 -- conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.0.0-py310h530beaf_0.conda - sha256: c96e782e51594b0f49999ad2daa55a3fae8ce42d9ce2530f9fec775beff791e4 - md5: 7e4b45cc390bed071d8ac49b2a54d113 + size: 42419230 + timestamp: 1735929858736 +- conda: https://prefix.dev/conda-forge/osx-arm64/pillow-11.1.0-py310h61efb56_0.conda + sha256: 7eb1bf423326ae0d372504cab421994f248e882daab6750ed5ea5df4fbb9858f + md5: 72579fcac27a82e99c2c115c6718dd06 depends: - __osx >=11.0 - freetype >=2.12.1,<3.0a0 - lcms2 >=2.16,<3.0a0 - libjpeg-turbo >=3.0.0,<4.0a0 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.4.0,<2.0a0 + - libwebp-base >=1.5.0,<2.0a0 - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - openjpeg >=2.5.2,<3.0a0 + - openjpeg >=2.5.3,<3.0a0 - python >=3.10,<3.11.0a0 - python >=3.10,<3.11.0a0 *_cpython - python_abi 3.10.* *_cp310 @@ -8210,20 +8214,20 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=hash-mapping - size: 41911525 - timestamp: 1729066088495 -- conda: https://prefix.dev/conda-forge/win-64/pillow-11.0.0-py310h4dc435f_0.conda - sha256: 157c6ee0999f84719d721082f83f229e995b44f02eba2200f4a9c36513d63de8 - md5: 80e0100d9f198fd2e4ed8c2e561b8fee + size: 41772845 + timestamp: 1735929952853 +- conda: https://prefix.dev/conda-forge/win-64/pillow-11.1.0-py310h9595edc_0.conda + sha256: a4cf9c10ecdc2ad2bbedce6eb76ba7d193e8be66f4424cfbbabfe53668b0d8bb + md5: 67a38507ac20bd85226fe6dd7ed87462 depends: - freetype >=2.12.1,<3.0a0 - lcms2 >=2.16,<3.0a0 - libjpeg-turbo >=3.0.0,<4.0a0 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.4.0,<2.0a0 + - libwebp-base >=1.5.0,<2.0a0 - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - openjpeg >=2.5.2,<3.0a0 + - openjpeg >=2.5.3,<3.0a0 - python >=3.10,<3.11.0a0 - python_abi 3.10.* *_cp310 - tk >=8.6.13,<8.7.0a0 @@ -8233,8 +8237,8 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=hash-mapping - size: 41919084 - timestamp: 1729066268963 + size: 41777634 + timestamp: 1735930357220 - conda: https://prefix.dev/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda sha256: bb50f6499e8bc1d1a26f17716c97984671121608dc0c3ecd34858112bce59a27 md5: 577852c7e53901ddccc7e6a9959ddebe @@ -9311,18 +9315,18 @@ packages: - pkg:pypi/sphinx?source=hash-mapping size: 1387076 timestamp: 1733754175386 -- conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-2.5.0-pyhd8ed1ab_1.conda - sha256: de09aeff8819105fecdef2354d65af672a22ea092d7c7a2530bb4a43db50a2cf - md5: a84c2ed55076791d098dfa4e53676286 +- conda: https://prefix.dev/conda-forge/noarch/sphinx-autodoc-typehints-3.0.0-pyhd8ed1ab_0.conda + sha256: aeb036de447e78f2c7d718822d99b7e285d4d96b191afd85aab8a39d5ec19a85 + md5: 243019ab35941dc825817a5ee4fd7ef4 depends: - python >=3.10 - - sphinx >=8.0.2 + - sphinx >=8.1.3 license: MIT license_family: MIT purls: - pkg:pypi/sphinx-autodoc-typehints?source=hash-mapping - size: 23984 - timestamp: 1734685024740 + size: 23860 + timestamp: 1735917178684 - conda: https://prefix.dev/conda-forge/noarch/sphinx-basic-ng-1.0.0b2-pyhd8ed1ab_2.conda sha256: 091293964075ed1905731d09ff2691e053cd9d5335d99501f05683da29de0ee7 md5: 463d989a8f1506bcf51cc37d7beebdf1 @@ -9751,20 +9755,19 @@ packages: purls: [] size: 754247 timestamp: 1731710681163 -- conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda - sha256: 82776f74e90a296b79415361faa6b10f360755c1fb8e6d59ca68509e6fe7e115 - md5: 1d601bc1d28b5ce6d112b90f4b9b8ede +- conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.28.1-pyhd8ed1ab_0.conda + sha256: c8bde4547ddbd21ea89e483a7c65d8a5e442c0db494b0b977e389b75b9d03d62 + md5: 680b1c287b10cefc8bda0530b217229f depends: - distlib >=0.3.7,<1 - filelock >=3.12.2,<4 - platformdirs >=3.9.1,<5 - python >=3.9 license: MIT - license_family: MIT purls: - pkg:pypi/virtualenv?source=hash-mapping - size: 3350255 - timestamp: 1732609542072 + size: 3350367 + timestamp: 1735929107438 - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34433-hdffcdeb_23.conda sha256: 568ce8151eaae256f1cef752fc78651ad7a86ff05153cc7a4740b52ae6536118 md5: 5c176975ca2b8366abad3c97b3cd1e83 diff --git a/pyproject.toml b/pyproject.toml index 3e3a7584..58c02fab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,7 +71,7 @@ array-api-extra = { path = ".", editable = true } [tool.pixi.feature.lint.dependencies] pre-commit = "*" pylint = "*" -basedmypy = "2.8.*" +basedmypy = "*" basedpyright = "*" numpydoc = ">=1.8.0,<2" # import dependencies for mypy: diff --git a/src/array_api_extra/_funcs.py b/src/array_api_extra/_funcs.py index e0fa5f54..80ad3c2d 100644 --- a/src/array_api_extra/_funcs.py +++ b/src/array_api_extra/_funcs.py @@ -5,10 +5,9 @@ import operator import warnings - -# https://github.com/pylint-dev/pylint/issues/10112 -from collections.abc import Callable # pylint: disable=import-error -from typing import ClassVar, Literal +from collections.abc import Callable +from types import ModuleType +from typing import ClassVar, Literal, cast from ._lib import _compat, _utils from ._lib._compat import ( @@ -16,7 +15,7 @@ is_jax_array, is_writeable_array, ) -from ._lib._typing import Array, Index, ModuleType +from ._lib._typing import Array, Index __all__ = [ "at", @@ -779,7 +778,7 @@ def _update_common( if copy: if is_jax_array(x): # Use JAX's at[] - func = getattr(x.at[idx], at_op) + func = cast(Callable[[Array], Array], getattr(x.at[idx], at_op)) return func(y), None # Emulate at[] behaviour for non-JAX arrays # with a copy followed by an update diff --git a/tests/test_at.py b/tests/test_at.py index 1f660675..f50b9248 100644 --- a/tests/test_at.py +++ b/tests/test_at.py @@ -1,6 +1,7 @@ -from collections.abc import Generator +from collections.abc import Callable, Generator from contextlib import contextmanager from importlib import import_module +from typing import cast import numpy as np import pytest @@ -100,7 +101,8 @@ def test_update_ops( pytest.skip("at() does not support updates on sparse arrays") with assert_copy(array, expect_copy): - y = getattr(at(array)[1:], op)(arg, **kwargs) + func = cast(Callable[..., Array], getattr(at(array)[1:], op)) # type: ignore[no-any-explicit] + y = func(arg, **kwargs) assert isinstance(y, type(array)) assert_array_equal(y, expect) @@ -153,6 +155,6 @@ def test_iops_incompatible_dtype(op: str, copy: bool): to dtype('int64') with casting rule 'same_kind' """ a = np.asarray([2, 4]) - func = getattr(at(a)[:], op) + func = cast(Callable[..., Array], getattr(at(a)[:], op)) # type: ignore[no-any-explicit] with pytest.raises(TypeError, match="Cannot cast ufunc"): func(1.1, copy=copy)