diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb1ab83..5b81d4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 - with: - python-version: "3.x" - uses: prefix-dev/setup-pixi@92815284c57faa15cd896c4d5cfb2d59f32dc43d # v0.8.3 with: pixi-version: v0.43.3 diff --git a/pixi.lock b/pixi.lock index c74d285..ce6b343 100644 --- a/pixi.lock +++ b/pixi.lock @@ -11,21 +11,21 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://prefix.dev/conda-forge/linux-64/ca-certificates-2025.1.31-hbcca054_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda - - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.6.4-h5888daf_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - conda: https://prefix.dev/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda - - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.6.4-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libmpdec-4.0.0-h4bc722e_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libsqlite-3.49.1-hee588c1_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://prefix.dev/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.4.1-h7b32b05_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.5.0-h7b32b05_0.conda - conda: https://prefix.dev/conda-forge/linux-64/optype-0.9.3-py313hf741a19_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/python-3.13.2-hf636f53_101_cp313.conda - - conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/linux-64/python-3.13.3-hf636f53_101_cp313.conda + - conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda - conda: https://prefix.dev/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda @@ -33,17 +33,17 @@ environments: osx-64: - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda - conda: https://prefix.dev/conda-forge/osx-64/ca-certificates-2025.1.31-h8857fd0_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.6.4-hd471939_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.1-hd471939_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libmpdec-4.0.0-hfdf4475_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.49.1-hdb6dae5_2.conda - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda - - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.5.0-hc426f3f_0.conda - conda: https://prefix.dev/conda-forge/osx-64/optype-0.9.3-py313hb2882bb_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/python-3.13.2-h534c281_101_cp313.conda - - conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-64/python-3.13.3-h534c281_101_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/osx-64/readline-8.2-h7cca4af_2.conda - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-h1abcd95_1.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda @@ -51,17 +51,17 @@ environments: osx-arm64: - conda: https://prefix.dev/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.49.1-h3f77e49_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.5.0-h81ee809_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/optype-0.9.3-py313h8542ed2_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.2-h81fe080_101_cp313.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.3-h81fe080_101_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda @@ -69,21 +69,21 @@ environments: win-64: - conda: https://prefix.dev/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://prefix.dev/conda-forge/win-64/ca-certificates-2025.1.31-h56e8100_0.conda - - conda: https://prefix.dev/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda - - conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_0.conda - - conda: https://prefix.dev/conda-forge/win-64/liblzma-5.6.4-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libexpat-2.7.0-he0c23c2_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda + - conda: https://prefix.dev/conda-forge/win-64/liblzma-5.8.1-h2466b09_0.conda - conda: https://prefix.dev/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - conda: https://prefix.dev/conda-forge/win-64/libsqlite-3.49.1-h67fdade_2.conda - conda: https://prefix.dev/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://prefix.dev/conda-forge/win-64/openssl-3.4.1-ha4e3fda_0.conda + - conda: https://prefix.dev/conda-forge/win-64/openssl-3.5.0-ha4e3fda_0.conda - conda: https://prefix.dev/conda-forge/win-64/optype-0.9.3-py313h1dbbc4f_0.conda - - conda: https://prefix.dev/conda-forge/win-64/python-3.13.2-h261c0b1_101_cp313.conda - - conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/win-64/python-3.13.3-h261c0b1_101_cp313.conda + - conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/win-64/tk-8.6.13-h5226925_1.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://prefix.dev/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda - - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-hbf610ac_24.conda - - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_24.conda + - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-h2b53caa_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda - conda: . lint: channels: @@ -96,7 +96,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.10.0-pyh29332c3_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.3-pyh29332c3_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.5-pyh29332c3_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 - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda @@ -119,12 +119,12 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda - conda: https://prefix.dev/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda - - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.6.4-h5888daf_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - conda: https://prefix.dev/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda - - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.6.4-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libmpdec-4.0.0-h4bc722e_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libsqlite-3.49.1-hee588c1_2.conda - conda: https://prefix.dev/conda-forge/linux-64/libstdcxx-14.2.0-h8f9b012_2.conda @@ -143,7 +143,7 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/nodejs-22.13.0-hf235a45_0.conda - conda: https://prefix.dev/conda-forge/noarch/nodejs-wheel-22.14.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/numpydoc-1.8.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.4.1-h7b32b05_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.5.0-h7b32b05_0.conda - conda: https://prefix.dev/conda-forge/linux-64/optype-0.9.3-py313hf741a19_0.conda - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda @@ -152,8 +152,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://prefix.dev/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://prefix.dev/conda-forge/linux-64/python-3.13.2-hf636f53_101_cp313.conda - - conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/linux-64/python-3.13.3-hf636f53_101_cp313.conda + - conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/pyyaml-6.0.2-py313h8060acc_2.conda - conda: https://prefix.dev/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda @@ -161,8 +161,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ruamel.yaml-0.18.10-py313h536fd9c_0.conda - conda: https://prefix.dev/conda-forge/linux-64/ruamel.yaml.clib-0.2.8-py313h536fd9c_1.conda - - conda: https://prefix.dev/conda-forge/linux-64/ruff-0.11.2-py313hfe82de2_0.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-75.8.2-pyhff2d567_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/ruff-0.11.5-py313h22842b3_0.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -175,12 +175,12 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/taplo-0.9.3-h53e704d_1.conda - conda: https://prefix.dev/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://prefix.dev/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda + - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.13.2-h0e9735f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.13.2-pyh29332c3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_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.29.3-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.30.0-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/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda @@ -190,7 +190,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.10.0-pyh29332c3_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.3-pyh29332c3_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.5-pyh29332c3_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-64/brotli-python-1.1.0-py313h9ea2907_2.conda - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda @@ -212,10 +212,10 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda - conda: https://prefix.dev/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libcxx-20.1.1-hf95d169_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.6.4-hd471939_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-20.1.3-hf95d169_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.1-hd471939_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libmpdec-4.0.0-hfdf4475_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.49.1-hdb6dae5_2.conda - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.50.0-h4cb831e_0.conda @@ -231,7 +231,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/nodejs-22.13.0-hffbc63d_0.conda - conda: https://prefix.dev/conda-forge/noarch/nodejs-wheel-22.14.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/numpydoc-1.8.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.5.0-hc426f3f_0.conda - conda: https://prefix.dev/conda-forge/osx-64/optype-0.9.3-py313hb2882bb_0.conda - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda @@ -240,8 +240,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://prefix.dev/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://prefix.dev/conda-forge/osx-64/python-3.13.2-h534c281_101_cp313.conda - - conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-64/python-3.13.3-h534c281_101_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-64/pyyaml-6.0.2-py313h717bdf5_2.conda - conda: https://prefix.dev/conda-forge/osx-64/readline-8.2-h7cca4af_2.conda @@ -249,8 +249,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-64/ruamel.yaml-0.18.10-py313h63b0ddb_0.conda - conda: https://prefix.dev/conda-forge/osx-64/ruamel.yaml.clib-0.2.8-py313hb558fbc_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/ruff-0.11.2-py313h2e013d6_0.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-75.8.2-pyhff2d567_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/ruff-0.11.5-py313h837c616_0.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -263,12 +263,12 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/taplo-0.9.3-hf3953a5_1.conda - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-h1abcd95_1.conda - conda: https://prefix.dev/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda + - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.13.2-h0e9735f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.13.2-pyh29332c3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://prefix.dev/conda-forge/osx-64/ukkonen-1.0.1-py313h0c4e38b_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.29.3-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.30.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-64/yaml-0.2.5-h0d85af4_2.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-64/zlib-1.3.1-hd23fc13_2.conda @@ -278,7 +278,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.10.0-pyh29332c3_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.3-pyh29332c3_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.5-pyh29332c3_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 - conda: https://prefix.dev/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda @@ -300,10 +300,10 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda - conda: https://prefix.dev/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-20.1.1-ha82da77_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-20.1.3-ha82da77_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.49.1-h3f77e49_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libuv-1.50.0-h5505292_0.conda @@ -319,7 +319,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/nodejs-22.13.0-h02a13b7_0.conda - conda: https://prefix.dev/conda-forge/noarch/nodejs-wheel-22.14.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/numpydoc-1.8.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.5.0-h81ee809_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/optype-0.9.3-py313h8542ed2_0.conda - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda @@ -328,8 +328,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://prefix.dev/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.2-h81fe080_101_cp313.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.3-h81fe080_101_cp313.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pyyaml-6.0.2-py313ha9b7d5b_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda @@ -337,8 +337,8 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ruamel.yaml-0.18.10-py313h90d716c_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.8-py313h63a2874_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/ruff-0.11.2-py313h35210b4_0.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-75.8.2-pyhff2d567_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ruff-0.11.5-py313hd3a9b03_0.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -351,12 +351,12 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/taplo-0.9.3-hdf53557_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - conda: https://prefix.dev/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda + - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.13.2-h0e9735f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.13.2-pyh29332c3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_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.29.3-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.30.0-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/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda @@ -366,7 +366,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/basedmypy-2.10.0-pyh29332c3_1.conda - - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.3-pyh29332c3_0.conda + - conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.5-pyh29332c3_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 - conda: https://prefix.dev/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda @@ -387,9 +387,9 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/importlib-metadata-8.6.1-pyha770c72_0.conda - conda: https://prefix.dev/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda - - conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_0.conda - - conda: https://prefix.dev/conda-forge/win-64/liblzma-5.6.4-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libexpat-2.7.0-he0c23c2_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda + - conda: https://prefix.dev/conda-forge/win-64/liblzma-5.8.1-h2466b09_0.conda - conda: https://prefix.dev/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - conda: https://prefix.dev/conda-forge/win-64/libsqlite-3.49.1-h67fdade_2.conda - conda: https://prefix.dev/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda @@ -403,7 +403,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/nodejs-22.13.0-hfeaa22a_0.conda - conda: https://prefix.dev/conda-forge/noarch/nodejs-wheel-22.14.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/numpydoc-1.8.0-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/win-64/openssl-3.4.1-ha4e3fda_0.conda + - conda: https://prefix.dev/conda-forge/win-64/openssl-3.5.0-ha4e3fda_0.conda - conda: https://prefix.dev/conda-forge/win-64/optype-0.9.3-py313h1dbbc4f_0.conda - conda: https://prefix.dev/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://prefix.dev/conda-forge/noarch/platformdirs-4.3.7-pyh29332c3_0.conda @@ -412,16 +412,16 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://prefix.dev/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - - conda: https://prefix.dev/conda-forge/win-64/python-3.13.2-h261c0b1_101_cp313.conda - - conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-5_cp313.conda + - conda: https://prefix.dev/conda-forge/win-64/python-3.13.3-h261c0b1_101_cp313.conda + - conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-6_cp313.conda - conda: https://prefix.dev/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/pyyaml-6.0.2-py313hb4c8b1a_2.conda - conda: https://prefix.dev/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_1.conda - conda: https://prefix.dev/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/win-64/ruamel.yaml-0.18.10-py313ha7868ed_0.conda - conda: https://prefix.dev/conda-forge/win-64/ruamel.yaml.clib-0.2.8-py313ha7868ed_1.conda - - conda: https://prefix.dev/conda-forge/win-64/ruff-0.11.2-py313he8c32b4_0.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-75.8.2-pyhff2d567_0.conda + - conda: https://prefix.dev/conda-forge/win-64/ruff-0.11.5-py313h9f3c1d7_0.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://prefix.dev/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -434,16 +434,16 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/taplo-0.9.3-ha073cba_1.conda - conda: https://prefix.dev/conda-forge/win-64/tk-8.6.13-h5226925_1.conda - conda: https://prefix.dev/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda - - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda + - conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.13.2-h0e9735f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.13.2-pyh29332c3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://prefix.dev/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda - conda: https://prefix.dev/conda-forge/win-64/ukkonen-1.0.1-py313h1ec8472_5.conda - - 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-hbf610ac_24.conda - - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_24.conda - - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.29.3-pyhd8ed1ab_0.conda - - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_24.conda + - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-h2b53caa_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda + - conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.30.0-pyhd8ed1ab_0.conda + - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_26.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 - conda: https://prefix.dev/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda @@ -509,9 +509,9 @@ packages: - pkg:pypi/basedmypy?source=hash-mapping size: 1590486 timestamp: 1741865637604 -- conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.3-pyh29332c3_0.conda - sha256: 063c63980bd3bc22bcd41cad6f711d986861a5188652b0b5235cb11b597ee11f - md5: 833e480d199b37f35f4fbdf03f269a2c +- conda: https://prefix.dev/conda-forge/noarch/basedpyright-1.28.5-pyh29332c3_0.conda + sha256: 09de8ee9f346d65b633d750108298cddc4679ee2208abba76662fe1af400b70f + md5: c26ea9cf3c43c6e73c6d296bb059c13b depends: - python >=3.9 - nodejs-wheel >=20.13.1 @@ -519,8 +519,8 @@ packages: license: MIT AND Apache-2.0 purls: - pkg:pypi/basedpyright?source=hash-mapping - size: 8157665 - timestamp: 1742640860122 + size: 8173608 + timestamp: 1744240313778 - conda: https://prefix.dev/conda-forge/noarch/basedtyping-0.1.10-pyhd8ed1ab_1.conda sha256: 73badfd807775e6e171de10ab752fd4706fe9360f6fd0cfabd509c670d12951b md5: 234a48e49c3913330665c444824e6533 @@ -680,7 +680,7 @@ packages: - python >=3.9 license: ISC purls: - - pkg:pypi/certifi?source=hash-mapping + - pkg:pypi/certifi?source=compressed-mapping size: 162721 timestamp: 1739515973129 - conda: https://prefix.dev/conda-forge/linux-64/cffi-1.17.1-py313hfab6e84_0.conda @@ -807,7 +807,7 @@ packages: - python >=3.9 license: Unlicense purls: - - pkg:pypi/filelock?source=compressed-mapping + - pkg:pypi/filelock?source=hash-mapping size: 17887 timestamp: 1741969612334 - conda: https://prefix.dev/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda @@ -920,7 +920,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: - - pkg:pypi/importlib-metadata?source=hash-mapping + - pkg:pypi/importlib-metadata?source=compressed-mapping size: 29141 timestamp: 1737420302391 - conda: https://prefix.dev/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda @@ -947,109 +947,111 @@ packages: purls: [] size: 671240 timestamp: 1740155456116 -- conda: https://prefix.dev/conda-forge/osx-64/libcxx-20.1.1-hf95d169_0.conda - sha256: b30ef239517cfffb71d8ece7b903afe2a1bac0425f5bd38976b35d3cbf77312b - md5: 85cff0ed95d940c4762d5a99a6fe34ae +- conda: https://prefix.dev/conda-forge/osx-64/libcxx-20.1.3-hf95d169_0.conda + sha256: a4b493e0f76b20ff14e0f1f93c92882663c4f23c4488d8de3f6bbf1311b9c41e + md5: 022f109787a9624301ddbeb39519ff13 depends: - __osx >=10.13 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 562132 - timestamp: 1742449741333 -- conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-20.1.1-ha82da77_0.conda - sha256: 80dd8ae3fbcf508ed72f074ada2c7784298e822e8d19c3b84c266bb31456d77c - md5: 833c4899914bf96caf64b52ef415e319 + size: 560376 + timestamp: 1744843903291 +- conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-20.1.3-ha82da77_0.conda + sha256: aa45cf608430e713575ef4193e4c0bcdfd7972db51f1c3af2fece26c173f5e67 + md5: 379db9caa727cab4d3a6c4327e4e7053 depends: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 561543 - timestamp: 1742449846779 -- conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.6.4-h5888daf_0.conda - sha256: 56541b98447b58e52d824bd59d6382d609e11de1f8adf20b23143e353d2b8d26 - md5: db833e03127376d461e1e13e76f09b6c + size: 566462 + timestamp: 1744844034347 +- conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + sha256: 33ab03438aee65d6aa667cf7d90c91e5e7d734c19a67aa4c7040742c0a13d505 + md5: db0bfbe7dd197b68ad5f30333bae6ce0 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 constrains: - - expat 2.6.4.* + - expat 2.7.0.* license: MIT license_family: MIT purls: [] - size: 73304 - timestamp: 1730967041968 -- conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - sha256: d10f43d0c5df6c8cf55259bce0fe14d2377eed625956cddce06f58827d288c59 - md5: 20307f4049a735a78a29073be1be2626 + size: 74427 + timestamp: 1743431794976 +- conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda + sha256: 976f2e23ad2bb2b8e92c99bfa2ead3ad557b17a129b170f7e2dfcf233193dd7e + md5: 026d0a1056ba2a3dbbea6d4b08188676 depends: - __osx >=10.13 constrains: - - expat 2.6.4.* + - expat 2.7.0.* license: MIT license_family: MIT purls: [] - size: 70758 - timestamp: 1730967204736 -- conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - sha256: e42ab5ace927ee7c84e3f0f7d813671e1cf3529f5f06ee5899606630498c2745 - md5: 38d2656dd914feb0cab8c629370768bf + size: 71894 + timestamp: 1743431912423 +- conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda + sha256: ee550e44765a7bbcb2a0216c063dcd53ac914a7be5386dd0554bd06e6be61840 + md5: 6934bbb74380e045741eb8637641a65b depends: - __osx >=11.0 constrains: - - expat 2.6.4.* + - expat 2.7.0.* license: MIT license_family: MIT purls: [] - size: 64693 - timestamp: 1730967175868 -- conda: https://prefix.dev/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda - sha256: 0c0447bf20d1013d5603499de93a16b6faa92d7ead870d96305c0f065b6a5a12 - md5: eb383771c680aa792feb529eaf9df82f + size: 65714 + timestamp: 1743431789879 +- conda: https://prefix.dev/conda-forge/win-64/libexpat-2.7.0-he0c23c2_0.conda + sha256: 1a227c094a4e06bd54e8c2f3ec40c17ff99dcf3037d812294f842210aa66dbeb + md5: b6f5352fdb525662f4169a0431d2dd7a depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 constrains: - - expat 2.6.4.* + - expat 2.7.0.* license: MIT license_family: MIT purls: [] - size: 139068 - timestamp: 1730967442102 -- conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_0.conda - sha256: 67a6c95e33ebc763c1adc3455b9a9ecde901850eb2fceb8e646cc05ef3a663da - md5: e3eb7806380bc8bcecba6d749ad5f026 + size: 140896 + timestamp: 1743432122520 +- conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab + md5: ede4673863426c0883c0063d853bbd85 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 license: MIT license_family: MIT purls: [] - size: 53415 - timestamp: 1739260413716 -- conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_0.conda - sha256: 7805fdc536a3da7fb63dc48e040105cd4260c69a1d2bf5804dadd31bde8bab51 - md5: b8667b0d0400b8dcb6844d8e06b2027d + size: 57433 + timestamp: 1743434498161 +- conda: https://prefix.dev/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda + sha256: 6394b1bc67c64a21a5cc73d1736d1d4193a64515152e861785c44d2cfc49edf3 + md5: 4ca9ea59839a9ca8df84170fab4ceb41 depends: - __osx >=10.13 license: MIT license_family: MIT purls: [] - size: 47258 - timestamp: 1739260651925 -- conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca - md5: 086914b672be056eb70fd4285b6783b6 + size: 51216 + timestamp: 1743434595269 +- conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda + sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60 + md5: c215a60c2935b517dcda8cad4705734d + depends: + - __osx >=11.0 license: MIT license_family: MIT purls: [] - size: 39020 - timestamp: 1636488587153 -- conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_0.conda - sha256: 77922d8dd2faf88ac6accaeebf06409d1820486fde710cff6b554d12273e46be - md5: 31d5107f75b2f204937728417e2e39e5 + size: 39839 + timestamp: 1743434670405 +- conda: https://prefix.dev/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda + sha256: d3b0b8812eab553d3464bbd68204f007f1ebadf96ce30eb0cbc5159f72e353f5 + md5: 85d8fa5e55ed8f93f874b3b23ed54ec6 depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 @@ -1057,8 +1059,8 @@ packages: license: MIT license_family: MIT purls: [] - size: 40830 - timestamp: 1739260917585 + size: 44978 + timestamp: 1743435053850 - conda: https://prefix.dev/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda sha256: 3a572d031cb86deb541d15c1875aaa097baefc0c580b54dc61f5edab99215792 md5: ef504d1acbd74b7cc6849ef8af47dd03 @@ -1093,45 +1095,45 @@ packages: purls: [] size: 459862 timestamp: 1740240588123 -- conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.6.4-hb9d3cd8_0.conda - sha256: cad52e10319ca4585bc37f0bc7cce99ec7c15dc9168e42ccb96b741b0a27db3f - md5: 42d5b6a0f30d3c10cd88cb8584fda1cb +- conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda + sha256: f4f21dfc54b08d462f707b771ecce3fa9bc702a2a05b55654f64154f48b141ef + md5: 0e87378639676987af32fee53ba32258 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 license: 0BSD purls: [] - size: 111357 - timestamp: 1738525339684 -- conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.6.4-hd471939_0.conda - sha256: a895b5b16468a6ed436f022d72ee52a657f9b58214b91fabfab6230e3592a6dd - md5: db9d7b0152613f097cdb61ccf9f70ef5 + size: 112709 + timestamp: 1743771086123 +- conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.1-hd471939_0.conda + sha256: 3369b8ef0b544d17aebc530a687c0480051e825e8ffcd001b1a5f594fe276159 + md5: 8e1197f652c67e87a9ece738d82cef4f depends: - __osx >=10.13 license: 0BSD purls: [] - size: 103749 - timestamp: 1738525448522 -- conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda - sha256: 560c59d3834cc652a84fb45531bd335ad06e271b34ebc216e380a89798fe8e2c - md5: e3fd1f8320a100f2b210e690a57cd615 + size: 104689 + timestamp: 1743771137842 +- conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_0.conda + sha256: 4291dde55ebe9868491dc29716b84ac3de21b8084cbd4d05c9eea79d206b8ab7 + md5: ba24e6f25225fea3d5b6912e2ac562f8 depends: - __osx >=11.0 license: 0BSD purls: [] - size: 98945 - timestamp: 1738525462560 -- conda: https://prefix.dev/conda-forge/win-64/liblzma-5.6.4-h2466b09_0.conda - sha256: 3f552b0bdefdd1459ffc827ea3bf70a6a6920c7879d22b6bfd0d73015b55227b - md5: c48f6ad0ef0a555b27b233dfcab46a90 + size: 92295 + timestamp: 1743771392206 +- conda: https://prefix.dev/conda-forge/win-64/liblzma-5.8.1-h2466b09_0.conda + sha256: 1477e9bff05318f3129d37be0e64c76cce0973c4b8c73d13a467d0b7f03d157c + md5: 8d5cb0016b645d6688e2ff57c5d51302 depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: 0BSD purls: [] - size: 104465 - timestamp: 1738525557254 + size: 104682 + timestamp: 1743771561515 - conda: https://prefix.dev/conda-forge/linux-64/libmpdec-4.0.0-h4bc722e_0.conda sha256: d02d1d3304ecaf5c728e515eb7416517a0b118200cd5eacbe829c432d1664070 md5: aeb98fdeb2e8f25d43ef71fbacbeec80 @@ -1451,7 +1453,7 @@ packages: depends: - python input: - hash: c88300ea4fc1a173e097287ca6301d0778fc9d18c8e010ebb12ea3737743b495 + hash: 63cfb35f46ce36014bc4992a7aa77bfeded5b1a28aade81bc0d61b05f5bf83b4 globs: - pyproject.toml - conda: https://prefix.dev/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_1.conda @@ -1588,9 +1590,9 @@ packages: - pkg:pypi/numpydoc?source=hash-mapping size: 58041 timestamp: 1733650959971 -- conda: https://prefix.dev/conda-forge/linux-64/openssl-3.4.1-h7b32b05_0.conda - sha256: cbf62df3c79a5c2d113247ddea5658e9ff3697b6e741c210656e239ecaf1768f - md5: 41adf927e746dc75ecf0ef841c454e48 +- conda: https://prefix.dev/conda-forge/linux-64/openssl-3.5.0-h7b32b05_0.conda + sha256: 38285d280f84f1755b7c54baf17eccf2e3e696287954ce0adca16546b85ee62c + md5: bb539841f2a3fde210f387d00ed4bb9d depends: - __glibc >=2.17,<3.0.a0 - ca-certificates @@ -1598,33 +1600,33 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 2939306 - timestamp: 1739301879343 -- conda: https://prefix.dev/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda - sha256: 505a46671dab5d66df8e684f99a9ae735a607816b12810b572d63caa512224df - md5: a7d63f8e7ab23f71327ea6d27e2d5eae + size: 3121673 + timestamp: 1744132167438 +- conda: https://prefix.dev/conda-forge/osx-64/openssl-3.5.0-hc426f3f_0.conda + sha256: 7ee137b67f2de89d203e5ac2ebffd6d42252700005bf6af2bbf3dc11a9dfedbd + md5: e06e13c34056b6334a7a1188b0f4c83c depends: - __osx >=10.13 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2591479 - timestamp: 1739302628009 -- conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda - sha256: 4f8e2389e1b711b44182a075516d02c80fa7a3a7e25a71ff1b5ace9eae57a17a - md5: 75f9f0c7b1740017e2db83a53ab9a28e + size: 2737547 + timestamp: 1744140967264 +- conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.5.0-h81ee809_0.conda + sha256: 53f825acb8d3e13bdad5c869f6dc7df931941450eea7f6473b955b0aaea1a399 + md5: 3d2936da7e240d24c656138e07fa2502 depends: - __osx >=11.0 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2934522 - timestamp: 1739301896733 -- conda: https://prefix.dev/conda-forge/win-64/openssl-3.4.1-ha4e3fda_0.conda - sha256: 56dcc2b4430bfc1724e32661c34b71ae33a23a14149866fc5645361cfd3b3a6a - md5: 0730f8094f7088592594f9bf3ae62b3f + size: 3067649 + timestamp: 1744132084304 +- conda: https://prefix.dev/conda-forge/win-64/openssl-3.5.0-ha4e3fda_0.conda + sha256: 43dd7f56da142ca83c614c8b0085589650ae9032b351a901c190e48eefc73675 + md5: 4ea7db75035eb8c13fa680bb90171e08 depends: - ca-certificates - ucrt >=10.0.20348.0 @@ -1633,8 +1635,8 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 8515197 - timestamp: 1739304103653 + size: 8999138 + timestamp: 1744135594688 - conda: https://prefix.dev/conda-forge/linux-64/optype-0.9.3-py313hf741a19_0.conda sha256: 5b82e8024e0f66cf98e7674cdba6296904b0825a819c1b9c3a3ecab509082da2 md5: cff09c9edd41256c14de5735d2e0cf4b @@ -1642,6 +1644,7 @@ packages: - python - python_abi 3.13.* *_cp313 license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/optype?source=hash-mapping size: 158292 @@ -1653,6 +1656,7 @@ packages: - python - python_abi 3.13.* *_cp313 license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/optype?source=hash-mapping size: 157387 @@ -1665,6 +1669,7 @@ packages: - python 3.13.* *_cp313 - python_abi 3.13.* *_cp313 license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/optype?source=hash-mapping size: 163121 @@ -1676,6 +1681,7 @@ packages: - python - python_abi 3.13.* *_cp313 license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/optype?source=hash-mapping size: 157882 @@ -1740,8 +1746,7 @@ packages: - python license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pycparser?source=hash-mapping + purls: [] size: 110100 timestamp: 1733195786147 - conda: https://prefix.dev/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda @@ -1780,94 +1785,94 @@ packages: - pkg:pypi/pysocks?source=hash-mapping size: 21085 timestamp: 1733217331982 -- conda: https://prefix.dev/conda-forge/linux-64/python-3.13.2-hf636f53_101_cp313.conda +- conda: https://prefix.dev/conda-forge/linux-64/python-3.13.3-hf636f53_101_cp313.conda build_number: 101 - sha256: cc1984ee54261cee6a2db75c65fc7d2967bc8c6e912d332614df15244d7730ef - md5: a7902a3611fe773da3921cbbf7bc2c5c + sha256: eecb11ea60f8143deeb301eab2e04d04f7acb83659bb20fdfeacd431a5f31168 + md5: 10622e12d649154af0bd76bcf33a7c5c depends: - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.6.4,<3.0a0 - - libffi >=3.4,<4.0a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 - libgcc >=13 - - liblzma >=5.6.4,<6.0a0 + - liblzma >=5.8.1,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.48.0,<4.0a0 + - libsqlite >=3.49.1,<4.0a0 - libuuid >=2.38.1,<3.0a0 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - - openssl >=3.4.1,<4.0a0 + - openssl >=3.5.0,<4.0a0 - python_abi 3.13.* *_cp313 - readline >=8.2,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata license: Python-2.0 purls: [] - size: 33233150 - timestamp: 1739803603242 + size: 33268245 + timestamp: 1744665022734 python_site_packages_path: lib/python3.13/site-packages -- conda: https://prefix.dev/conda-forge/osx-64/python-3.13.2-h534c281_101_cp313.conda +- conda: https://prefix.dev/conda-forge/osx-64/python-3.13.3-h534c281_101_cp313.conda build_number: 101 - sha256: 19abb6ba8a1af6985934a48f05fccd29ecc54926febdb8b3803f30134c518b34 - md5: 2e883c630979a183e23a510d470194e2 + sha256: fe70f145472820922a01279165b96717815dcd4f346ad9a2f2338045d8818930 + md5: ebcc7c42561d8d8b01477020b63218c0 depends: - __osx >=10.13 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.6.4,<3.0a0 - - libffi >=3.4,<4.0a0 - - liblzma >=5.6.4,<6.0a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - liblzma >=5.8.1,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.48.0,<4.0a0 + - libsqlite >=3.49.1,<4.0a0 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - - openssl >=3.4.1,<4.0a0 + - openssl >=3.5.0,<4.0a0 - python_abi 3.13.* *_cp313 - readline >=8.2,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata license: Python-2.0 purls: [] - size: 13961675 - timestamp: 1739802065430 + size: 13875464 + timestamp: 1744664784298 python_site_packages_path: lib/python3.13/site-packages -- conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.2-h81fe080_101_cp313.conda +- conda: https://prefix.dev/conda-forge/osx-arm64/python-3.13.3-h81fe080_101_cp313.conda build_number: 101 - sha256: 6239a14c39a9902d6b617d57efe3eefbab23cf30cdc67122fdab81d04da193cd - md5: 71a76067a1cac1a2f03b43a08646a63e + sha256: f96468ab1e6f27bda92157bfc7f272d1fbf2ba2f85697bdc5bb106bccba1befb + md5: b3240ae8c42a3230e0b7f831e1c72e9f depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.6.4,<3.0a0 - - libffi >=3.4,<4.0a0 - - liblzma >=5.6.4,<6.0a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - liblzma >=5.8.1,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.48.0,<4.0a0 + - libsqlite >=3.49.1,<4.0a0 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - - openssl >=3.4.1,<4.0a0 + - openssl >=3.5.0,<4.0a0 - python_abi 3.13.* *_cp313 - readline >=8.2,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata license: Python-2.0 purls: [] - size: 11682568 - timestamp: 1739801342527 + size: 12136505 + timestamp: 1744663807953 python_site_packages_path: lib/python3.13/site-packages -- conda: https://prefix.dev/conda-forge/win-64/python-3.13.2-h261c0b1_101_cp313.conda +- conda: https://prefix.dev/conda-forge/win-64/python-3.13.3-h261c0b1_101_cp313.conda build_number: 101 - sha256: b6e7a6f314343926b5a236592272e5014edcda150e14d18d0fb9440d8a185c3f - md5: 5116c74f5e3e77b915b7b72eea0ec946 + sha256: 25cf0113c0e4fa42d31b0ff85349990dc454f1237638ba4642b009b451352cdf + md5: 4784d7aecc8996babe9681d017c81b8a depends: - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.6.4,<3.0a0 - - libffi >=3.4,<4.0a0 - - liblzma >=5.6.4,<6.0a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - liblzma >=5.8.1,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.48.0,<4.0a0 + - libsqlite >=3.49.1,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.4.1,<4.0a0 + - openssl >=3.5.0,<4.0a0 - python_abi 3.13.* *_cp313 - tk >=8.6.13,<8.7.0a0 - tzdata @@ -1876,53 +1881,53 @@ packages: - vc14_runtime >=14.29.30139 license: Python-2.0 purls: [] - size: 16848398 - timestamp: 1739800686310 + size: 16614435 + timestamp: 1744663103022 python_site_packages_path: Lib/site-packages -- conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-5_cp313.conda - build_number: 5 - sha256: 438225b241c5f9bddae6f0178a97f5870a89ecf927dfca54753e689907331442 - md5: 381bbd2a92c863f640a55b6ff3c35161 +- conda: https://prefix.dev/conda-forge/linux-64/python_abi-3.13-6_cp313.conda + build_number: 6 + sha256: 4cb3b498dac60c05ceeecfd63c6f046d8e94eec902b82238fd5af08e8f3cd048 + md5: ef1d8e55d61220011cceed0b94a920d2 constrains: - python 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD purls: [] - size: 6217 - timestamp: 1723823393322 -- conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-5_cp313.conda - build_number: 5 - sha256: 075ad768648e88b78d2a94099563b43d3082e7c35979f457164f26d1079b7b5c - md5: 927a2186f1f997ac018d67c4eece90a6 + size: 6858 + timestamp: 1743483201023 +- conda: https://prefix.dev/conda-forge/osx-64/python_abi-3.13-6_cp313.conda + build_number: 6 + sha256: ef527337ae8fd3e7cef49bb1ebedb2ad34915f3a19ceb1e452d7691149f1b2e7 + md5: 1867172dd3044e5c3db5772b81d67796 constrains: - python 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD purls: [] - size: 6291 - timestamp: 1723823083064 -- conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-5_cp313.conda - build_number: 5 - sha256: 4437198eae80310f40b23ae2f8a9e0a7e5c2b9ae411a8621eb03d87273666199 - md5: b8e82d0a5c1664638f87f63cc5d241fb + size: 6952 + timestamp: 1743483227308 +- conda: https://prefix.dev/conda-forge/osx-arm64/python_abi-3.13-6_cp313.conda + build_number: 6 + sha256: 2f5205eba4d65bb6cb09c2f12c69e8981514222d5aee01b59d5610af9dc6917c + md5: c75e7f94ab431acc3942cc93b8ca6f8d constrains: - python 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD purls: [] - size: 6322 - timestamp: 1723823058879 -- conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-5_cp313.conda - build_number: 5 - sha256: 0c12cc1b84962444002c699ed21e815fb9f686f950d734332a1b74d07db97756 - md5: 44b4fe6f22b57103afb2299935c8b68e + size: 6972 + timestamp: 1743483253239 +- conda: https://prefix.dev/conda-forge/win-64/python_abi-3.13-6_cp313.conda + build_number: 6 + sha256: 0816298ff9928059d3a0c647fda7de337a2364b26c974622d1a8a6435bb04ae6 + md5: e1746f65158fa51d5367ec02547db248 constrains: - python 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD purls: [] - size: 6716 - timestamp: 1723823166911 + size: 7361 + timestamp: 1743483194308 - conda: https://prefix.dev/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 md5: bc8e3267d44011051f2eb14d22fb0960 @@ -2168,9 +2173,9 @@ packages: - pkg:pypi/ruamel-yaml-clib?source=hash-mapping size: 108488 timestamp: 1728724833760 -- conda: https://prefix.dev/conda-forge/linux-64/ruff-0.11.2-py313hfe82de2_0.conda - sha256: f25deaa5163f8baf0090908fae0cfeeffda650306f9bfb5ec5143bda7edc2a58 - md5: 520be555c706dbc4385f82d1cb9dc41c +- conda: https://prefix.dev/conda-forge/linux-64/ruff-0.11.5-py313h22842b3_0.conda + sha256: 71009c58fbcf5c080ecb9c827aed0063f4084a9fb795f856dadf59ba282213a9 + md5: ce5f73b7b5ffa504e506fc19e75c2ca1 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 @@ -2183,11 +2188,11 @@ packages: license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 8872400 - timestamp: 1742584319600 -- conda: https://prefix.dev/conda-forge/osx-64/ruff-0.11.2-py313h2e013d6_0.conda - sha256: 57502cc6d8485cde43b56ffaa78474e55865e826a929340b190d992770dcacb2 - md5: 1d4fc6acbbb5ef785e3553dc986a5fe0 + size: 9008350 + timestamp: 1744322739984 +- conda: https://prefix.dev/conda-forge/osx-64/ruff-0.11.5-py313h837c616_0.conda + sha256: 997664f872f47dfc40b9c9da648dc807436834d9240681df4617fb41def2ab2b + md5: 9827bfa5243ab1a18d2edee3e884380c depends: - __osx >=10.13 - libcxx >=18 @@ -2199,11 +2204,11 @@ packages: license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 8171146 - timestamp: 1742584829512 -- conda: https://prefix.dev/conda-forge/osx-arm64/ruff-0.11.2-py313h35210b4_0.conda - sha256: 70f8c750b2ea339d54679922cca6d61cee8b54ada05d2245ceac29d46a8ce594 - md5: 043f4d37ec2eb12e2ecbef8e5ac381b2 + size: 8430239 + timestamp: 1744323143078 +- conda: https://prefix.dev/conda-forge/osx-arm64/ruff-0.11.5-py313hd3a9b03_0.conda + sha256: d9eb0dad825d139cccd618824fd2a49b67607fa47ec1b6833864140f93f56a89 + md5: cb8d35f2bde58e7964bf5ebfdeff98bd depends: - __osx >=11.0 - libcxx >=18 @@ -2216,11 +2221,11 @@ packages: license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 7801806 - timestamp: 1742584905314 -- conda: https://prefix.dev/conda-forge/win-64/ruff-0.11.2-py313he8c32b4_0.conda - sha256: bb59f57e745e54452ccf7f8ef0be7ca3b2939b9da54cb4933f21c6bee92177aa - md5: 6aee141098589e299c99e8c5fb3de62e + size: 7983019 + timestamp: 1744322709881 +- conda: https://prefix.dev/conda-forge/win-64/ruff-0.11.5-py313h9f3c1d7_0.conda + sha256: 7d4f00d2e43a4f373c71e4cc06172953f1ef9a2c7f7037c89a99c073e75d5a20 + md5: 1aac5dad323a7d081431751065bbe51a depends: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 @@ -2231,19 +2236,19 @@ packages: license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 7912086 - timestamp: 1742585732752 -- conda: https://prefix.dev/conda-forge/noarch/setuptools-75.8.2-pyhff2d567_0.conda - sha256: 91d664ace7c22e787775069418daa9f232ee8bafdd0a6a080a5ed2395a6fa6b2 - md5: 9bddfdbf4e061821a1a443f93223be61 + size: 8086406 + timestamp: 1744323620439 +- conda: https://prefix.dev/conda-forge/noarch/setuptools-78.1.0-pyhff2d567_0.conda + sha256: d4c74d2140f2fbc72fe5320cbd65f3fd1d1f7832ab4d7825c37c38ab82440ae2 + md5: a42da9837e46c53494df0044c3eb1f53 depends: - python >=3.9 license: MIT license_family: MIT purls: - - pkg:pypi/setuptools?source=hash-mapping - size: 777736 - timestamp: 1740654030775 + - pkg:pypi/setuptools?source=compressed-mapping + size: 786557 + timestamp: 1743775941985 - conda: https://prefix.dev/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228 md5: 4d22a9315e78c6827f806065957d566e @@ -2471,28 +2476,28 @@ packages: - pkg:pypi/tomli?source=hash-mapping size: 19167 timestamp: 1733256819729 -- conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda - noarch: python - sha256: c8e9c1c467b5f960b627d7adc1c65fece8e929a3de89967e91ef0f726422fd32 - md5: b6a408c64b78ec7b779a3e5c7a902433 +- conda: https://prefix.dev/conda-forge/noarch/typing-extensions-4.13.2-h0e9735f_0.conda + sha256: 4865fce0897d3cb0ffc8998219157a8325f6011c136e6fd740a9a6b169419296 + md5: 568ed1300869dca0ba09fb750cda5dbb depends: - - typing_extensions 4.12.2 pyha770c72_1 + - typing_extensions ==4.13.2 pyh29332c3_0 license: PSF-2.0 license_family: PSF purls: [] - size: 10075 - timestamp: 1733188758872 -- conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda - sha256: 337be7af5af8b2817f115b3b68870208b30c31d3439bec07bfb2d8f4823e3568 - md5: d17f13df8b65464ca316cbc000a3cb64 + size: 89900 + timestamp: 1744302253997 +- conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.13.2-pyh29332c3_0.conda + sha256: a8aaf351e6461de0d5d47e4911257e25eec2fa409d71f3b643bb2f748bde1c08 + md5: 83fc6ae00127671e301c9f44254c31b8 depends: - python >=3.9 + - python license: PSF-2.0 license_family: PSF purls: - - pkg:pypi/typing-extensions?source=hash-mapping - size: 39637 - timestamp: 1733188758212 + - pkg:pypi/typing-extensions?source=compressed-mapping + size: 52189 + timestamp: 1744302253997 - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192 md5: 4222072737ccff51314b5ece9c7d6f5a @@ -2572,9 +2577,9 @@ packages: - pkg:pypi/ukkonen?source=hash-mapping size: 17210 timestamp: 1725784604368 -- conda: https://prefix.dev/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda - sha256: 114919ffa80c328127dab9c8e7a38f9d563c617691fb81fccb11c1e86763727e - md5: 32674f8dbfb7b26410ed580dd3c10a29 +- conda: https://prefix.dev/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda + sha256: a25403b76f7f03ca1a906e1ef0f88521edded991b9897e7fed56a3e334b3db8c + md5: c1e349028e0052c4eea844e94f773065 depends: - brotli-python >=1.0.9 - h2 >=4,<5 @@ -2585,35 +2590,35 @@ packages: license_family: MIT purls: - pkg:pypi/urllib3?source=hash-mapping - size: 100102 - timestamp: 1734859520452 -- conda: https://prefix.dev/conda-forge/win-64/vc-14.3-hbf610ac_24.conda - sha256: 8ef83b62f9f0b885882d0dd41cbe47c2308f7ac0537fd508a5bbe6d3953a176e - md5: 9098c5cfb418fc0b0204bf2efc1e9afa + size: 100791 + timestamp: 1744323705540 +- conda: https://prefix.dev/conda-forge/win-64/vc-14.3-h2b53caa_26.conda + sha256: 7a685b5c37e9713fa314a0d26b8b1d7a2e6de5ab758698199b5d5b6dba2e3ce1 + md5: d3f0381e38093bde620a8d85f266ae55 depends: - - vc14_runtime >=14.42.34438 + - vc14_runtime >=14.42.34433 track_features: - vc14 license: BSD-3-Clause license_family: BSD purls: [] - size: 17469 - timestamp: 1741043406253 -- conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_24.conda - sha256: fb36814355ac12dcb4a55b75b5ef0d49ec219ad9df30d7955f2ace88bd6919c4 - md5: 5fceb7d965d59955888d9a9732719aa8 + size: 17893 + timestamp: 1743195261486 +- conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda + sha256: 30dcb71bb166e351aadbdc18f1718757c32cdaa0e1e5d9368469ee44f6bf4709 + md5: 91651a36d31aa20c7ba36299fb7068f4 depends: - ucrt >=10.0.20348.0 constrains: - - vs2015_runtime 14.42.34438.* *_24 + - vs2015_runtime 14.42.34438.* *_26 license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary purls: [] - size: 751362 - timestamp: 1741043402335 -- conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.29.3-pyhd8ed1ab_0.conda - sha256: f7b2cd8ee05769e57dab1f2e2206360cb03d15d4290ddb30442711700c430ba6 - md5: 87a2061465e55be9a997dd8cf8b5a578 + size: 750733 + timestamp: 1743195092905 +- conda: https://prefix.dev/conda-forge/noarch/virtualenv-20.30.0-pyhd8ed1ab_0.conda + sha256: 1dbb24b144f7b8400b30cca760cdee1b7de61716cd7f06d7ea82b741645823ce + md5: c0e0b4a09aa5a698a1bdd4ebfe28be38 depends: - distlib >=0.3.7,<1 - filelock >=3.12.2,<4 @@ -2623,18 +2628,18 @@ packages: license_family: MIT purls: - pkg:pypi/virtualenv?source=hash-mapping - size: 3520880 - timestamp: 1741337922189 -- conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_24.conda - sha256: a7104d3d605d191c8ee8d85d4175df3630d61830583494a5d1e62cd9f1260420 - md5: 1dd2e838eb13190ae1f1e2760c036fdc + size: 3635535 + timestamp: 1743474070226 +- conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_26.conda + sha256: 432f2937206f1ad4a77e39f84fabc1ce7d2472b669836fb72bd2bfd19a2defc9 + md5: 3357e4383dbce31eed332008ede242ab depends: - vc14_runtime >=14.42.34438 license: BSD-3-Clause license_family: BSD purls: [] - size: 17474 - timestamp: 1741043406612 + size: 17873 + timestamp: 1743195097269 - conda: https://prefix.dev/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f md5: 46e441ba871f524e2b067929da3051c2 diff --git a/pyproject.toml b/pyproject.toml index 101f513..5b5634c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ backend = { name = "pixi-build-python", version = "0.1.*" } [tool.pixi.package.host-dependencies] hatchling = "==1.27.0" +python = ">=3.13" [tool.mypy] @@ -55,6 +56,7 @@ python_version = "3.13" warn_unused_configs = true strict = true enable_error_code = ["ignore-without-code", "truthy-bool"] +disable_error_code = ["explicit-any", "decorated-any"] [tool.basedpyright] @@ -62,6 +64,7 @@ include = ["src"] pythonVersion = "3.13" pythonPlatform = "All" typeCheckingMode = "all" +reportExplicitAny = false [tool.numpydoc_validation] diff --git a/src/metrology_apis/__init__.py b/src/metrology_apis/__init__.py index 9deff66..405e98a 100644 --- a/src/metrology_apis/__init__.py +++ b/src/metrology_apis/__init__.py @@ -1,6 +1,13 @@ """Metrology APIs.""" -from typing import Final, Protocol, Self, override, runtime_checkable +from typing import ( + Any, + Final, + Protocol, + Self, + override, + runtime_checkable, +) import optype as op @@ -8,8 +15,52 @@ __all__ = ["__version__", "Dimension", "Quantity", "Unit"] +type VT = Any +type UT = Unit[Any] +type QT = Quantity[Any, Any, Any] + + +@runtime_checkable +class MetrologyNamespace[Q: QT = Any, V: VT = Any, U: UT = Any, D: Dimension = Any]( + Protocol +): + @staticmethod + def asdimension(obj: str | D) -> D: ... + + @staticmethod + def asunit(obj: str | U) -> U: ... + + @staticmethod + def asquantity(obj: Q | V, *, unit: U) -> Q: ... + + @runtime_checkable class Dimension(Protocol): + def __metrology_namespace__( + self, /, *, api_version: str | None = None + ) -> MetrologyNamespace[QT, VT, UT, Self]: + """ + Return an object that has all the metrology API functions on it. + + Parameters + ---------- + api_version : str or None + String representing the version of the metrology API + specification to be returned. If it is `None`, it should + return the namespace corresponding to latest version of the + metrology API specification. If the given version is invalid + or not implemented for the given module, an error should be + raised. Default: `None`. + + Returns + ------- + MetrologyNamespace + An object representing the metrology API namespace. It + should have every top-level function defined in the + specification as an attribute. + """ + ... + def __mul__(self, other: Self, /) -> Self: ... def __truediv__(self, other: Self, /) -> Self: ... def __pow__(self, other: int, /) -> Self: ... @@ -19,9 +70,34 @@ def __rtruediv__(self, other: Self, /) -> Self: ... @runtime_checkable -class Unit(Protocol): +class Unit[D: Dimension = Any](Protocol): + def __metrology_namespace__( + self, /, *, api_version: str | None = None + ) -> MetrologyNamespace[QT, VT, Self, D]: + """ + Return an object that has all the metrology API functions on it. + + Parameters + ---------- + api_version : str or None + String representing the version of the metrology API + specification to be returned. If it is `None`, it should + return the namespace corresponding to latest version of the + metrology API specification. If the given version is invalid + or not implemented for the given module, an error should be + raised. Default: `None`. + + Returns + ------- + MetrologyNamespace + An object representing the metrology API namespace. It should + have every top-level function defined in the specification as + an attribute. + """ + ... + @property - def dimension(self) -> Dimension: ... + def dimension(self) -> D: ... def __mul__(self, other: Self, /) -> Self: ... def __truediv__(self, other: Self, /) -> Self: ... @@ -32,7 +108,32 @@ def __rtruediv__(self, other: Self, /) -> Self: ... @runtime_checkable -class Quantity[V, U: Unit](Protocol): +class Quantity[V: VT = Any, U: UT = Any, D: Dimension = Any](Protocol): + def __metrology_namespace__( + self, /, *, api_version: str | None = None + ) -> MetrologyNamespace[Self, V, U, D]: + """ + Return an object that has all the metrology API functions on it. + + Parameters + ---------- + api_version : str or None + String representing the version of the metrology API + specification to be returned. If it is `None`, it should + return the namespace corresponding to the latest version of + the metrology API specification. If the given version is + invalid or not implemented for the given module, an error + should be raised. Default: `None`. + + Returns + ------- + MetrologyNamespace + An object representing the metrology API namespace. It should + have every top-level function defined in the specification as + an attribute. + """ + ... + @property def value(self) -> V: ... @property @@ -42,64 +143,64 @@ def unit(self) -> U: ... @override def __eq__[B]( # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] - self: "Quantity[V, U]", other: "Quantity[op.CanEq[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanEq[V, B], U, D]", / ) -> B: ... @override def __ne__[B]( # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] - self: "Quantity[V, U]", other: "Quantity[op.CanEq[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanEq[V, B], U, D]", / ) -> B: ... def __lt__[B]( - self: "Quantity[V, U]", other: "Quantity[op.CanLt[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanLt[V, B], U, D]", / ) -> B: ... def __le__[B]( - self: "Quantity[V, U]", other: "Quantity[op.CanLe[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanLe[V, B], U, D]", / ) -> B: ... def __gt__[B]( - self: "Quantity[V, U]", other: "Quantity[op.CanGt[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanGt[V, B], U, D]", / ) -> B: ... def __ge__[B]( - self: "Quantity[V, U]", other: "Quantity[op.CanGe[V, B], U]", / + self: "Quantity[V, U, D]", other: "Quantity[op.CanGe[V, B], U, D]", / ) -> B: ... - def __pos__[R](self: "Quantity[op.CanPos[R], U]") -> "Quantity[R, U]": ... - def __neg__[R](self: "Quantity[op.CanNeg[R], U]") -> "Quantity[R, U]": ... - def __abs__[R](self: "Quantity[op.CanAbs[R], U]") -> "Quantity[R, U]": ... + def __pos__[R](self: "Quantity[op.CanPos[R], U, D]") -> "Quantity[R, U, D]": ... + def __neg__[R](self: "Quantity[op.CanNeg[R], U, D]") -> "Quantity[R, U, D]": ... + def __abs__[R](self: "Quantity[op.CanAbs[R], U, D]") -> "Quantity[R, U, D]": ... def __add__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanRAdd[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanRAdd[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __radd__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanAdd[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanAdd[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __sub__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanRSub[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanRSub[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __rsub__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanSub[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanSub[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __mul__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanRMul[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanRMul[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __rmul__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanMul[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanMul[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __truediv__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanRTruediv[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanRTruediv[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __rtruediv__[R]( - self: "Quantity[V, U]", other: "Quantity[op.CanTruediv[V, R], U]", / - ) -> "Quantity[R, U]": ... + self: "Quantity[V, U, D]", other: "Quantity[op.CanTruediv[V, R], U, D]", / + ) -> "Quantity[R, U, D]": ... def __pow__[R]( - self: "Quantity[op.CanPow2[op.JustInt | op.JustFloat, R], U]", + self: "Quantity[op.CanPow2[op.JustInt | op.JustFloat, R], U, D]", other: op.JustInt | op.JustFloat, /, - ) -> "Quantity[R, U]": ... + ) -> "Quantity[R, U, D]": ... def __rpow__[R]( - self: "Quantity[op.CanRPow[op.JustInt | op.JustFloat, R], U]", + self: "Quantity[op.CanRPow[op.JustInt | op.JustFloat, R], U, D]", other: op.JustInt | op.JustFloat, /, - ) -> "Quantity[R, U]": ... + ) -> "Quantity[R, U, D]": ...