diff --git a/pixi.lock b/pixi.lock index 6dc0b9c..f67f956 100644 --- a/pixi.lock +++ b/pixi.lock @@ -335,7 +335,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda @@ -382,10 +382,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 @@ -444,7 +444,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-kernel-0.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda @@ -456,12 +456,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.3-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.27.1-py312h12e396e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda @@ -485,7 +485,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.22.3-py312h12e396e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.8.3-py312h2156523_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda @@ -586,7 +586,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2024.12.14-h8857fd0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py312hf857d28_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda @@ -633,14 +633,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.21.3-h37d8d59_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.5-hf95d169_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.6-hf95d169_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20191231-h0678c8f_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2 @@ -686,7 +686,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-kernel-0.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda @@ -698,12 +698,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-6.1.0-py312h3d0f464_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.3-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.27.1-py312h0d0de52_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-10.3.2-py312h2365019_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-10.3.2-py312h2365019_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda @@ -729,7 +729,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.22.3-py312h0d0de52_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.8.3-py312h07459cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh31c8845_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda @@ -830,7 +830,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.12.14-hf0a4a13_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda @@ -877,14 +877,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.5-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.6-ha82da77_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 @@ -930,7 +930,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-kernel-0.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda @@ -942,12 +942,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.0-py312h0bf5046_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.3-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.27.1-py312hcd83bfe_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-10.3.2-py312hb9d441b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-10.3.2-py312hb9d441b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda @@ -973,7 +973,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.22.3-py312hcd83bfe_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.8.3-py312h5d18b81_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh31c8845_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda @@ -1072,7 +1072,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda @@ -1120,10 +1120,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh5737063_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda @@ -1169,7 +1169,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-kernel-0.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda @@ -1180,12 +1180,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.2.1-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-6.1.0-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.3-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.27.1-py312h2615798_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda @@ -1210,7 +1210,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.22.3-py312h2615798_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.8.3-py312h4e4d446_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda @@ -1313,7 +1313,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -1368,10 +1368,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.1-py312h66e93f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.8-h9e4cc4f_1_cpython.conda @@ -1450,7 +1450,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h5861a67_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2024.12.14-h8857fd0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py312hf857d28_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -1467,7 +1467,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.4.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.5-hf95d169_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.6-hf95d169_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.6.3-hd471939_1.conda @@ -1497,10 +1497,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.2.1-py312h01d7ebd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.8-h9ccd52b_1_cpython.conda @@ -1579,7 +1579,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.12.14-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -1596,7 +1596,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.4.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.5-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.6-ha82da77_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.3-h39f12f2_1.conda @@ -1626,10 +1626,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.1-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda @@ -1707,7 +1707,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-win_pyh7428d3b_1.conda @@ -1752,10 +1752,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.2.1-py312h4389bb4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.8-h3f84c4b_1_cpython.conda @@ -1849,7 +1849,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -1868,7 +1868,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.7-pyh29332c3_1.conda @@ -1948,7 +1948,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/userpath-1.7.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.9-h0f3a69f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.10-h0f3a69f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.18.3-py312h66e93f0_0.conda @@ -2007,7 +2007,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h5861a67_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2024.12.14-h8857fd0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py312hf857d28_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -2023,7 +2023,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.7-pyh29332c3_1.conda @@ -2039,7 +2039,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/keyring-25.5.0-pyh534df25_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.5-hf95d169_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.6-hf95d169_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.6.3-hd471939_1.conda @@ -2090,7 +2090,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/userpath-1.7.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.9-h8de1528_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.10-h8de1528_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h0d85af4_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.18.3-py312h01d7ebd_0.conda @@ -2149,7 +2149,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.12.14-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_1.conda @@ -2165,7 +2165,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.7-pyh29332c3_1.conda @@ -2181,7 +2181,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/keyring-25.5.0-pyh534df25_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.5-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.6-ha82da77_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.3-h39f12f2_1.conda @@ -2232,7 +2232,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/userpath-1.7.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.9-h668ec48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.10-h668ec48_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.18.3-py312hea69d52_0.conda @@ -2290,7 +2290,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-win_pyh7428d3b_1.conda @@ -2307,7 +2307,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.7-pyh29332c3_1.conda @@ -2373,7 +2373,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/userpath-1.7.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.9-ha08ef0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.10-ha08ef0e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-ha32ba9b_23.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.42.34433-he29a5d6_23.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.28.0-pyhd8ed1ab_0.conda @@ -3498,6 +3498,8 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 md5: d7c89558ba9fa0495403155b64376d81 + arch: x86_64 + platform: linux license: None purls: [] size: 2562 @@ -3511,6 +3513,8 @@ packages: - libgomp >=7.5.0 constrains: - openmp_impl 9999 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -3797,6 +3801,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -3826,6 +3832,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -4039,6 +4047,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - libbrotlicommon 1.1.0 hb9d3cd8_2 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -4072,6 +4082,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - libbrotlicommon 1.1.0 hd74edd7_2 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -4101,6 +4113,8 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 + arch: x86_64 + platform: linux license: bzip2-1.0.6 license_family: BSD purls: [] @@ -4121,6 +4135,8 @@ packages: md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab depends: - __osx >=11.0 + arch: arm64 + platform: osx license: bzip2-1.0.6 license_family: BSD purls: [] @@ -4188,16 +4204,16 @@ packages: - pkg:pypi/cached-property?source=hash-mapping size: 11065 timestamp: 1615209567874 -- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f - md5: 12f7d00853807b0531775e9be891cb11 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda + sha256: 048c16a9cbcb1fbad02083414d3bc7c1d0eea4b39aee6aa6bf8d1d5089ca8bad + md5: 6feb87357ecd66733be3279f16a8c400 depends: - - python >=3.7 + - python >=3.9 license: ISC purls: - pkg:pypi/certifi?source=hash-mapping - size: 163752 - timestamp: 1725278204397 + size: 161642 + timestamp: 1734380604767 - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457 md5: a861504bbea4161a9170b85d4d2be840 @@ -4208,6 +4224,8 @@ packages: - pycparser - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -4239,6 +4257,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -4653,6 +4673,8 @@ packages: - python >=3.10,<3.11.0a0 - python_abi 3.10.* *_cp310 - tomli + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -4668,6 +4690,8 @@ packages: - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 - tomli + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -4683,6 +4707,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - tomli + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -4740,6 +4766,8 @@ packages: - python >=3.10,<3.11.0a0 *_cpython - python_abi 3.10.* *_cp310 - tomli + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -4755,6 +4783,8 @@ packages: - python >=3.11,<3.12.0a0 *_cpython - python_abi 3.11.* *_cp311 - tomli + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -4770,6 +4800,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - tomli + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -4847,6 +4879,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __glibc >=2.17 + arch: x86_64 + platform: linux license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT license_family: BSD purls: @@ -4873,6 +4907,8 @@ packages: - expat >=2.4.2,<3.0a0 - libgcc-ng >=9.4.0 - libglib >=2.70.2,<3.0a0 + arch: x86_64 + platform: linux license: GPL-2.0-or-later license_family: GPL purls: [] @@ -4887,6 +4923,8 @@ packages: - libstdcxx >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -4916,6 +4954,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -5054,6 +5094,8 @@ packages: - __glibc >=2.17,<3.0.a0 - libexpat 2.6.4 h5888daf_0 - libgcc >=13 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: [] @@ -5854,16 +5896,16 @@ packages: requires_dist: - numpy>=1.19.3 requires_python: '>=3.9' -- conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_0.conda - sha256: 8f07e3cde1dabf76ce5141bdc4036774e30e53390f504b685f3d974cb604de98 - md5: 80dc9fa62b315216b1d940804fcc5cd4 +- conda: https://conda.anaconda.org/conda-forge/noarch/hatch-1.14.0-pyhd8ed1ab_1.conda + sha256: 908fc6e847da57da39011be839db0f56f16428d3d950f49a8c7ac1c9c1ed0505 + md5: b34bdd91d7298c76d9891cea6c8ab27f depends: - click >=8.0.6 - hatchling >=1.24.2 - httpx >=0.22.0 - hyperlink >=21.0.0 - keyring >=23.5.0 - - packaging >=23.2 + - packaging >=24.2 - pexpect >=4.8,<5 - platformdirs >=2.5.0 - python >=3.9 @@ -5873,13 +5915,14 @@ packages: - tomlkit >=0.11.1 - userpath >=1.7,<2 - uv >=0.1.35 - - virtualenv >=20.26.1 + - virtualenv >=20.26.6 - zstandard <1.0 license: MIT + license_family: MIT purls: - pkg:pypi/hatch?source=hash-mapping - size: 177561 - timestamp: 1734371077543 + size: 177914 + timestamp: 1734476985835 - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda sha256: e83420f81390535774ac33b83d05249b8993e5376b76b4d461f83a77549e493d md5: b85c18ba6e927ae0da3fde426c893cc8 @@ -6331,6 +6374,8 @@ packages: depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -6356,6 +6401,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -6481,11 +6528,12 @@ packages: - pkg:pypi/jupyter-core?source=hash-mapping size: 58269 timestamp: 1727164026641 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_1.conda - sha256: d7fa4c627d56ce8dc02f09f358757f8fd49eb6137216dc99340a6b4efc7e0491 - md5: 62186e6383f38cc6a3466f0fadde3f2e +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda + sha256: eeb32aa58d37b130387628d5c151092f6d3fcf0a6964294bef06d6bac117f3c4 + md5: 2d8876ca6bda213622dfbc3d1da56ecb depends: - jsonschema-with-format-nongpl >=4.18.0 + - packaging - python >=3.9 - python-json-logger >=2.0.4 - pyyaml >=5.3 @@ -6497,8 +6545,8 @@ packages: license_family: BSD purls: - pkg:pypi/jupyter-events?source=hash-mapping - size: 21434 - timestamp: 1733441420606 + size: 22160 + timestamp: 1734531779868 - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_1.conda sha256: 082d3517455339c8baea245a257af249758ccec26b8832d969ac928901c234cc md5: 81ea84b3212287f926e35b9036192963 @@ -6540,9 +6588,9 @@ packages: - pkg:pypi/jupyter-server-terminals?source=hash-mapping size: 19711 timestamp: 1733428049134 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.3-pyhd8ed1ab_0.conda - sha256: 63aa00427abd4a3e7c1738257b8e296f5e0ba04a4a1ab9ff3bc186440c8b9fdc - md5: 0707e62d944a89c365ba11da4898f8af +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda + sha256: bcf9fc0ea4bd6cf06a7a23b7f8b7bb7d8520eea8d0cdd6d3b975ede7793ed69b + md5: edc13687180382b4444d9f143a2e1ef7 depends: - async-lru >=1.0.0 - httpx >=0.25.0 @@ -6564,8 +6612,8 @@ packages: license_family: BSD purls: - pkg:pypi/jupyterlab?source=hash-mapping - size: 7972675 - timestamp: 1733836496011 + size: 7257751 + timestamp: 1734539283837 - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 md5: fd312693df06da3578383232528c468d @@ -6660,6 +6708,8 @@ packages: md5: 30186d27e2c9fa62b45fb1476b7200e3 depends: - libgcc-ng >=10.3.0 + arch: x86_64 + platform: linux license: LGPL-2.1-or-later purls: [] size: 117831 @@ -6734,6 +6784,8 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - openssl >=3.3.1,<4.0a0 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: [] @@ -6762,6 +6814,8 @@ packages: - libedit >=3.1.20191231,<3.2.0a0 - libedit >=3.1.20191231,<4.0a0 - openssl >=3.3.1,<4.0a0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: [] @@ -6799,37 +6853,43 @@ packages: - __glibc >=2.17,<3.0.a0 constrains: - binutils_impl_linux-64 2.43 + arch: x86_64 + platform: linux license: GPL-3.0-only license_family: GPL purls: [] size: 669211 timestamp: 1729655358674 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.5-hf95d169_0.conda - sha256: 57e80908add715a2198559001087de014156c4b44a722add46253465ae9daa0c - md5: a20d4ea6839510372d1eeb8532b09acf +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.6-hf95d169_1.conda + sha256: c40661648c34c08e21b69e0eec021ccaf090ffff070d2a9cbcb1519e1b310568 + md5: 1bad6c181a0799298aad42fc5a7e98b7 depends: - __osx >=10.13 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 529401 - timestamp: 1733291621685 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.5-ha82da77_0.conda - sha256: 7918cc0bb7a6554cdd3eee634c3dc414a1ab8ec49faeca1567367bb92118f9d7 - md5: 3c7be0df28ccda1d193ea6de56dcb5ff + size: 527370 + timestamp: 1734494305140 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.6-ha82da77_1.conda + sha256: 2b2443404503cd862385fd2f2a2c73f9624686fd1e5a45050b4034cfc06904ec + md5: ce5252d8db110cdb4ae4173d0a63c7c5 depends: - __osx >=11.0 + arch: arm64 + platform: osx license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 519819 - timestamp: 1733291654212 + size: 520992 + timestamp: 1734494699681 - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf md5: 4d331e44109e3f0e19b4cb8f9b82f3e1 depends: - libgcc-ng >=7.5.0 - ncurses >=6.2,<7.0.0a0 + arch: x86_64 + platform: linux license: BSD-2-Clause license_family: BSD purls: [] @@ -6850,6 +6910,8 @@ packages: md5: 30e4362988a2623e9eb34337b83e01f9 depends: - ncurses >=6.2,<7.0.0a0 + arch: arm64 + platform: osx license: BSD-2-Clause license_family: BSD purls: [] @@ -6863,6 +6925,8 @@ packages: - libgcc >=13 constrains: - expat 2.6.4.* + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: [] @@ -6887,6 +6951,8 @@ packages: - __osx >=11.0 constrains: - expat 2.6.4.* + arch: arm64 + platform: osx license: MIT license_family: MIT purls: [] @@ -6911,6 +6977,8 @@ packages: md5: d645c6d2ac96843a2bfaccd2d62b3ac3 depends: - libgcc-ng >=9.4.0 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: [] @@ -6927,6 +6995,8 @@ packages: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca md5: 086914b672be056eb70fd4285b6783b6 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: [] @@ -6952,6 +7022,8 @@ packages: constrains: - libgomp 14.2.0 h77fa898_1 - libgcc-ng ==14.2.0=*_1 + arch: x86_64 + platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -6962,6 +7034,8 @@ packages: md5: e39480b9ca41323497b05492a63bc35b depends: - libgcc 14.2.0 h77fa898_1 + arch: x86_64 + platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -6979,6 +7053,8 @@ packages: - pcre2 >=10.44,<10.45.0a0 constrains: - glib 2.82.2 *_0 + arch: x86_64 + platform: linux license: LGPL-2.1-or-later purls: [] size: 3931898 @@ -6988,6 +7064,8 @@ packages: md5: cc3573974587f12dda90d96e3e55a702 depends: - _libgcc_mutex 0.1 conda_forge + arch: x86_64 + platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -6998,6 +7076,8 @@ packages: md5: d66573916ffcf376178462f1b61c941e depends: - libgcc-ng >=12 + arch: x86_64 + platform: linux license: LGPL-2.1-only purls: [] size: 705775 @@ -7008,6 +7088,8 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 + arch: x86_64 + platform: linux license: 0BSD purls: [] size: 111132 @@ -7026,6 +7108,8 @@ packages: md5: b2553114a7f5e20ccd02378a77d836aa depends: - __osx >=11.0 + arch: arm64 + platform: osx license: 0BSD purls: [] size: 99129 @@ -7046,6 +7130,8 @@ packages: md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 depends: - libgcc-ng >=12 + arch: x86_64 + platform: linux license: LGPL-2.1-only license_family: GPL purls: [] @@ -7056,6 +7142,8 @@ packages: md5: a587892d3c13b6621a6091be690dbca2 depends: - libgcc-ng >=12 + arch: x86_64 + platform: linux license: ISC purls: [] size: 205978 @@ -7074,6 +7162,8 @@ packages: md5: a7ce36e284c5faaf93c220dfc39e3abd depends: - __osx >=11.0 + arch: arm64 + platform: osx license: ISC purls: [] size: 164972 @@ -7096,6 +7186,8 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libzlib >=1.3.1,<2.0a0 + arch: x86_64 + platform: linux license: Unlicense purls: [] size: 873551 @@ -7116,6 +7208,8 @@ packages: depends: - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 + arch: arm64 + platform: osx license: Unlicense purls: [] size: 850553 @@ -7136,6 +7230,8 @@ packages: md5: 234a5554c53625688d51062645337328 depends: - libgcc 14.2.0 h77fa898_1 + arch: x86_64 + platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -7146,6 +7242,8 @@ packages: md5: 8371ac6457591af2cf6159439c1fd051 depends: - libstdcxx 14.2.0 hc0a3c3a_1 + arch: x86_64 + platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -7156,6 +7254,8 @@ packages: md5: 40b61aab5c7ba9ff276c41cfffe6b80b depends: - libgcc-ng >=12 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -7166,6 +7266,8 @@ packages: md5: 5aa797f8787fe7a17d1b0821485b5adc depends: - libgcc-ng >=12 + arch: x86_64 + platform: linux license: LGPL-2.1-or-later purls: [] size: 100393 @@ -7178,6 +7280,8 @@ packages: - libgcc >=13 constrains: - zlib 1.3.1 *_2 + arch: x86_64 + platform: linux license: Zlib license_family: Other purls: [] @@ -7202,6 +7306,8 @@ packages: - __osx >=11.0 constrains: - zlib 1.3.1 *_2 + arch: arm64 + platform: osx license: Zlib license_family: Other purls: [] @@ -7286,6 +7392,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - jinja2 >=3.0.0 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -7317,6 +7425,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - jinja2 >=3.0.0 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -7724,6 +7834,7 @@ packages: - python >=3.9 - pyyaml >=5.1 license: MIT + license_family: MIT purls: - pkg:pypi/mkdocs-get-deps?source=hash-mapping size: 14757 @@ -7939,6 +8050,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -7966,6 +8079,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -7998,6 +8113,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - typing_extensions >=4.1.0 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -8031,6 +8148,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - typing_extensions >=4.1.0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -8140,6 +8259,8 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 + arch: x86_64 + platform: linux license: X11 AND BSD-3-Clause purls: [] size: 889086 @@ -8158,6 +8279,8 @@ packages: md5: cb2b0ea909b97b3d70cd3921d1445e1a depends: - __osx >=11.0 + arch: arm64 + platform: osx license: X11 AND BSD-3-Clause purls: [] size: 802321 @@ -8299,6 +8422,8 @@ packages: - __glibc >=2.17,<3.0.a0 - ca-certificates - libgcc >=13 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: Apache purls: [] @@ -8321,6 +8446,8 @@ packages: depends: - __osx >=11.0 - ca-certificates + arch: arm64 + platform: osx license: Apache-2.0 license_family: Apache purls: [] @@ -8346,6 +8473,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - typing-extensions >=4.10 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -8373,6 +8502,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - typing-extensions >=4.10 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -9573,6 +9704,8 @@ packages: - bzip2 >=1.0.8,<2.0a0 - libgcc-ng >=12 - libzlib >=1.3.1,<2.0a0 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -9912,19 +10045,19 @@ packages: - typing-extensions ; python_full_version < '3.10' and extra == 'typing' - defusedxml ; extra == 'xmp' requires_python: '>=3.9' -- conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda - sha256: 499313e72e20225f84c2e9690bbaf5b952c8d7e0bf34b728278538f766b81628 - md5: 5dd546fe99b44fda83963d15f84263b7 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda + sha256: da8c8888de10c1e4234ebcaa1550ac2b4b5408ac20f093fe641e4bc8c9c9f3eb + md5: 04e691b9fadd93a8a9fad87a81d4fd8f depends: - - python >=3.8,<3.13.0a0 + - python >=3.9,<3.13.0a0 - setuptools - wheel license: MIT license_family: MIT purls: - pkg:pypi/pip?source=hash-mapping - size: 1243168 - timestamp: 1730203795600 + size: 1245116 + timestamp: 1734466348103 - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-kernel-0.5.2-pyhd8ed1ab_0.conda sha256: a8888f2023725a887da5ae2f0c17c7260d719486710d30e276df6a5c4904a363 md5: 41256cd3428671354dd39af67f7c8dd1 @@ -10079,6 +10212,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -10106,6 +10241,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -10135,6 +10272,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -10162,6 +10301,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -10204,17 +10345,17 @@ packages: - pkg:pypi/pure-eval?source=hash-mapping size: 16668 timestamp: 1733569518868 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_0.conda - sha256: 8c810e51bff3bdd42c05931fff68bb8d399b9394df22b56093bfeea5d0a10169 - md5: ed07ddeedf3870f76029954e93391318 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-24.12.1-pyhd8ed1ab_1.conda + sha256: 064087e4ee67df58fd6ca307baec59200406ec52ab0448f701324fb138db1cf2 + md5: df35eb458bcdd4f67d09e0e02c397dd1 depends: - python >=3.9 - pyyaml license: WTFPL purls: - pkg:pypi/pyaml?source=hash-mapping - size: 29090 - timestamp: 1734021155090 + size: 29029 + timestamp: 1734444913512 - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 md5: 12c566707c80111f9799308d9e265aef @@ -10252,6 +10393,8 @@ packages: - typing-extensions >=4.6.0,!=4.7.0 constrains: - __glibc >=2.17 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -10285,6 +10428,8 @@ packages: - typing-extensions >=4.6.0,!=4.7.0 constrains: - __osx >=11.0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -10366,19 +10511,19 @@ packages: - docopt>=0.6.2 - python-dateutil>=2.8.0 - ruamel-yaml>=0.16.0 -- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_0.conda - sha256: a56ba3e7070c0dbfe8c435a43d75ea0faa4ec61aa158f364f5826a283925cd25 - md5: e352dc92203f360748da72357da78ed8 +- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.12-pyhd8ed1ab_1.conda + sha256: 62bacd823fa241020f00555b60f63cb5f8916e5f7eefc70886bbcc5c19504c87 + md5: 30b4fe95b9335fb02f3dc315de7292fa depends: - markdown >=3.6 - - python >=3.8 + - python >=3.9 - pyyaml license: MIT license_family: MIT purls: - pkg:pypi/pymdown-extensions?source=hash-mapping - size: 167047 - timestamp: 1730190145267 + size: 167512 + timestamp: 1734431261248 - pypi: https://files.pythonhosted.org/packages/7b/fe/532e4899c5a19d51e4aae7fe2e8689380a27b8fb3b53560541f84c283445/pynrrd-1.1.1-py3-none-any.whl name: pynrrd version: 1.1.1 @@ -10415,6 +10560,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - setuptools + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -10446,6 +10593,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -10580,6 +10729,8 @@ packages: - tzdata constrains: - python_abi 3.10.* *_cp310 + arch: x86_64 + platform: linux license: Python-2.0 purls: [] size: 25199631 @@ -10608,6 +10759,8 @@ packages: - tzdata constrains: - python_abi 3.11.* *_cp311 + arch: x86_64 + platform: linux license: Python-2.0 purls: [] size: 30624804 @@ -10636,6 +10789,8 @@ packages: - tzdata constrains: - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Python-2.0 purls: [] size: 31565686 @@ -10726,6 +10881,8 @@ packages: - tzdata constrains: - python_abi 3.10.* *_cp310 + arch: arm64 + platform: osx license: Python-2.0 purls: [] size: 12372048 @@ -10749,6 +10906,8 @@ packages: - tzdata constrains: - python_abi 3.11.* *_cp311 + arch: arm64 + platform: osx license: Python-2.0 purls: [] size: 14647146 @@ -10772,6 +10931,8 @@ packages: - tzdata constrains: - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Python-2.0 purls: [] size: 12998673 @@ -10928,6 +11089,8 @@ packages: md5: 2921c34715e74b3587b4cff4d36844f9 constrains: - python 3.10.* *_cpython + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -10939,6 +11102,8 @@ packages: md5: 139a8d40c8a2f430df31048949e450de constrains: - python 3.11.* *_cpython + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -10950,6 +11115,8 @@ packages: md5: 0424ae29b104430108f5218a66db7260 constrains: - python 3.12.* *_cpython + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -10994,6 +11161,8 @@ packages: md5: e33836c9096802b29d28981765becbee constrains: - python 3.10.* *_cpython + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: [] @@ -11005,6 +11174,8 @@ packages: md5: 3b855e3734344134cb56c410f729c340 constrains: - python 3.11.* *_cpython + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: [] @@ -11016,6 +11187,8 @@ packages: md5: b76f9b1c862128e56ac7aa8cd2333de9 constrains: - python 3.12.* *_cpython + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: [] @@ -11277,6 +11450,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - yaml >=0.2.5,<0.3.0a0 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -11306,6 +11481,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - yaml >=0.2.5,<0.3.0a0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -11351,6 +11528,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - zeromq >=4.3.5,<4.4.0a0 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -11384,6 +11563,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - zeromq >=4.3.5,<4.4.0a0 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -11409,8 +11590,8 @@ packages: timestamp: 1728642895644 - pypi: . name: readii - version: 1.27.0 - sha256: e29b2c9c47f5afff0bb8fcbcd3f53b579ece2545bdac05f9738045e7584b2761 + version: 1.28.0 + sha256: 58aca4e0adfd0056675a096c102ba6dde8f8f2eecd52805c4ad9a1377f99af21 requires_dist: - simpleitk>=2.3.1 - matplotlib>=3.9.2,<4 @@ -11429,6 +11610,8 @@ packages: depends: - libgcc-ng >=12 - ncurses >=6.3,<7.0a0 + arch: x86_64 + platform: linux license: GPL-3.0-only license_family: GPL purls: [] @@ -11449,6 +11632,8 @@ packages: md5: 8cbb776a2f641b943d413b3e19df71f4 depends: - ncurses >=6.3,<7.0a0 + arch: arm64 + platform: osx license: GPL-3.0-only license_family: GPL purls: [] @@ -11475,6 +11660,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Python-2.0 license_family: PSF purls: @@ -11502,6 +11689,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Python-2.0 license_family: PSF purls: @@ -11609,6 +11798,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __glibc >=2.17 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -11640,6 +11831,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __osx >=11.0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -11727,6 +11920,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __glibc >=2.17 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -11760,6 +11955,8 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __osx >=11.0 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -13785,20 +13982,19 @@ packages: - doit>=0.36.0 ; extra == 'dev' - pydevtool ; extra == 'dev' requires_python: '>=3.10' -- conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_0.conda - sha256: d023323e8df8408a6b0f88445773c4e76ed6c0a8df1c87bb14d08a6925a49e40 - md5: 2fc0fc6888e30721a9697cc42d11993f +- conda: https://conda.anaconda.org/conda-forge/noarch/scipy-stubs-1.14.1.6-pyhd8ed1ab_1.conda + sha256: bb644b771e570274df67495a85b94f66fa9bcd4a46b314fae84d517844382c54 + md5: 8119a9eed6447e89423fd8846c98badc depends: - optype >=0.7.3 - python >=3.10,<4.0.0 constrains: - scipy >=1.10 license: BSD-3-Clause - license_family: BSD purls: - pkg:pypi/scipy-stubs?source=hash-mapping - size: 239150 - timestamp: 1734305149735 + size: 239800 + timestamp: 1734527845005 - pypi: https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl name: seaborn version: 0.13.2 @@ -13836,6 +14032,8 @@ packages: - jeepney >=0.6 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -14586,6 +14784,8 @@ packages: depends: - libgcc-ng >=12 - libzlib >=1.2.13,<2.0.0a0 + arch: x86_64 + platform: linux license: TCL license_family: BSD purls: [] @@ -14606,6 +14806,8 @@ packages: md5: b50a57ba89c32b62428b71a875291c9b depends: - libzlib >=1.2.13,<2.0.0a0 + arch: arm64 + platform: osx license: TCL license_family: BSD purls: [] @@ -14675,6 +14877,8 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: Apache purls: @@ -14702,6 +14906,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Apache-2.0 license_family: Apache purls: @@ -14840,6 +15046,8 @@ packages: - libstdcxx >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: @@ -14871,6 +15079,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: @@ -14931,22 +15141,24 @@ packages: - pkg:pypi/userpath?source=hash-mapping size: 17423 timestamp: 1632758637093 -- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.9-h0f3a69f_0.conda - sha256: e3fbc6b4fb0a09599fdeb6f6101f8ef5d67870b08feb4d533517cf9cf0e3c674 - md5: 0b7cf121375f413a011f39e04fc2f10f +- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.10-h0f3a69f_0.conda + sha256: 7c3caf54a016adde74f112087672d26511cdb67f2d6fe15b86da4ab6da432527 + md5: 4ae185c7bfbbd547e607e5da7d54fcbd depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libstdcxx >=13 constrains: - __glibc >=2.17 + arch: x86_64 + platform: linux license: Apache-2.0 OR MIT purls: [] - size: 10533310 - timestamp: 1734173830839 -- conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.9-h8de1528_0.conda - sha256: f10c97c95098f0567886927c3d481f9ddbd44f8407a68faa77d40e78ab011836 - md5: 8b16a50fb3e59f0c2972a90f8fdc16b9 + size: 10499821 + timestamp: 1734537153777 +- conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.10-h8de1528_0.conda + sha256: 00941f058033a871364e1b665fac586e631c6b24d20c06c31d8324a4005d62e5 + md5: 4ad3b4259075e04bd9d5453e506f1a74 depends: - __osx >=10.13 - libcxx >=18 @@ -14954,31 +15166,33 @@ packages: - __osx >=10.13 license: Apache-2.0 OR MIT purls: [] - size: 10035662 - timestamp: 1734174020548 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.9-h668ec48_0.conda - sha256: bfab9b18fdfde34eaf578b723d4bd32facba254707461e63c25986e774f3ad7d - md5: 7040351064239f6c3dcca2eca8dee0cf + size: 10207409 + timestamp: 1734538178073 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.10-h668ec48_0.conda + sha256: 40f3cb33f804e5c2ed09fa1937a90c100b43d1a0dcadc9c07a1c434bcdc8138b + md5: 7698ba47600cbd85c196ea2edb271f3f depends: - __osx >=11.0 - libcxx >=18 constrains: - __osx >=11.0 + arch: arm64 + platform: osx license: Apache-2.0 OR MIT purls: [] - size: 10189645 - timestamp: 1734174252694 -- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.9-ha08ef0e_0.conda - sha256: 528ba29bf49444553199b3563d08ac16cf9ae653a54b114a9404ec0eb75c7c99 - md5: 926934d2ab5249a6007201b71f35190c + size: 10167353 + timestamp: 1734537952525 +- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.10-ha08ef0e_0.conda + sha256: 213ac214b56f2a2422bc751274b944237337b0b6b5faa07ea7dc6ee733cc1d87 + md5: 44d01272188eb35fc9def8037036123f depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Apache-2.0 OR MIT purls: [] - size: 11430840 - timestamp: 1734174322551 + size: 11481404 + timestamp: 1734537661786 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-ha32ba9b_23.conda sha256: 986ddaf8feec2904eac9535a7ddb7acda1a1dfb9482088fdb8129f1595181663 md5: 7c10ec3158d1eb4ddff7007c9101adb0 @@ -15045,6 +15259,8 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - pyyaml >=3.10 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -15074,6 +15290,8 @@ packages: - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - pyyaml >=3.10 + arch: arm64 + platform: osx license: Apache-2.0 license_family: APACHE purls: @@ -15183,6 +15401,8 @@ packages: md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae depends: - libgcc-ng >=9.4.0 + arch: x86_64 + platform: linux license: MIT license_family: MIT purls: [] @@ -15199,6 +15419,8 @@ packages: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 sha256: 93181a04ba8cfecfdfb162fc958436d868cc37db504c58078eab4c1a3e57fbb7 md5: 4bb3f014845110883a3c5ee811fd84b4 + arch: arm64 + platform: osx license: MIT license_family: MIT purls: [] @@ -15334,6 +15556,8 @@ packages: - propcache >=0.2.1 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux license: Apache-2.0 license_family: Apache purls: @@ -15367,6 +15591,8 @@ packages: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx license: Apache-2.0 license_family: Apache purls: @@ -15400,6 +15626,8 @@ packages: - libgcc >=13 - libsodium >=1.0.20,<1.0.21.0a0 - libstdcxx >=13 + arch: x86_64 + platform: linux license: MPL-2.0 license_family: MOZILLA purls: [] @@ -15426,6 +15654,8 @@ packages: - krb5 >=1.21.3,<1.22.0a0 - libcxx >=18 - libsodium >=1.0.20,<1.0.21.0a0 + arch: arm64 + platform: osx license: MPL-2.0 license_family: MOZILLA purls: [] @@ -15467,6 +15697,8 @@ packages: - python_abi 3.12.* *_cp312 - zstd >=1.5.6,<1.5.7.0a0 - zstd >=1.5.6,<1.6.0a0 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -15500,6 +15732,8 @@ packages: - python_abi 3.12.* *_cp312 - zstd >=1.5.6,<1.5.7.0a0 - zstd >=1.5.6,<1.6.0a0 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: @@ -15531,6 +15765,8 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - libzlib >=1.2.13,<2.0.0a0 + arch: x86_64 + platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -15553,6 +15789,8 @@ packages: depends: - __osx >=11.0 - libzlib >=1.2.13,<2.0.0a0 + arch: arm64 + platform: osx license: BSD-3-Clause license_family: BSD purls: [] diff --git a/src/readii/io/writers/correlation_writer.py b/src/readii/io/writers/correlation_writer.py new file mode 100644 index 0000000..42e7efa --- /dev/null +++ b/src/readii/io/writers/correlation_writer.py @@ -0,0 +1,131 @@ +from dataclasses import dataclass, field +from pathlib import Path +from typing import ClassVar + +from pandas import DataFrame + +from readii.io.writers.base_writer import BaseWriter +from readii.utils import logger + + +class CorrelationWriterError(Exception): + """Base exception for CorrelationWriter errors.""" + + pass + + +class CorrelationWriterIOError(CorrelationWriterError): + """Raised when I/O operations fail.""" + + pass + + +class CorrelationWriterValidationError(CorrelationWriterError): + """Raised when validation of writer configuration fails.""" + + pass + +@dataclass +class CorrelationWriter(BaseWriter): + """Class for managing file writing with customizable paths and filenames for plot figure files.""" + + overwrite: bool = field( + default=False, + metadata={ + "help": "If True, allows overwriting existing files. If False, raises CorrelationWriterIOError." + }, + ) + + # Make extensions immutable + VALID_EXTENSIONS: ClassVar[list[str]] = ( + ".csv", + ".xlsx" + ) + + def __post_init__(self) -> None: + """Validate writer configuration.""" + super().__post_init__() + + if not any(self.filename_format.endswith(ext) for ext in self.VALID_EXTENSIONS): + msg = f"Invalid filename format {self.filename_format}. Must end with one of {self.VALID_EXTENSIONS}." + raise CorrelationWriterValidationError(msg) + + def save(self, correlation_df:DataFrame, **kwargs: str) -> Path: + """Save the correlation dataframe to a .csv file. + + Parameters + ---------- + correlation_df : DataFrame + The correlation dataframe to save. + **kwargs : str + Additional keyword arguments to pass to the filename format. + + Returns + ------- + Path + The path to the saved file. + + Raises + ------ + CorrelationWriterIOError + If an error occurs during file writing. + CorrelationWriterValidationError + If the filename format is invalid. + """ + logger.debug("Saving.", kwargs=kwargs) + + # Generate the output path + out_path = self.resolve_path(**kwargs) + + # Check if the output path already exists + if out_path.exists(): + if not self.overwrite: + msg = f"File {out_path} already exists. \nSet {self.__class__.__name__}.overwrite to True to overwrite." + raise CorrelationWriterIOError(msg) + else: + logger.warning(f"File {out_path} already exists. Overwriting.") + + # Check if the correlation dataframe is a DataFrame + if not isinstance(correlation_df, DataFrame): + msg = f"Correlation dataframe must be a pandas DataFrame, got {type(correlation_df)}" + raise CorrelationWriterValidationError(msg) + + # Check if the correlation dataframe is empty + if correlation_df.empty: + msg = "Correlation dataframe is empty" + raise CorrelationWriterValidationError(msg) + + # Check that the columns and index of the correlation dataframe are the same + if not correlation_df.columns.equals(correlation_df.index): + msg = "Correlation dataframe columns and index are not the same" + raise CorrelationWriterValidationError(msg) + + logger.debug("Saving correlation dataframe to file", out_path=out_path) + try: + match out_path.suffix: + case ".csv": + correlation_df.to_csv(out_path, index=True, index_label="") + case ".xlsx": + correlation_df.to_excel(out_path, index=True, index_label="") + case _: + msg = f"Invalid file extension {out_path.suffix}. Must be one of {self.VALID_EXTENSIONS}." + raise CorrelationWriterValidationError(msg) + except Exception as e: + msg = f"Error saving correlation dataframe to file {out_path}: {e}" + raise CorrelationWriterIOError(msg) from e + else: + logger.info("Correlation dataframe saved successfully.", out_path=out_path) + return out_path + + +if __name__ == "__main__": # pragma: no cover + from rich import print # noqa + + plot_writer = CorrelationWriter( + root_directory=Path("TRASH", "correlation_writer_examples"), + filename_format="{DatasetName}_{VerticalFeatureType}_{HorizontalFeatureType}_{CorrelationType}_correlations.csv", + overwrite=True, + create_dirs=True + ) + + print(plot_writer) \ No newline at end of file diff --git a/tests/io/test_pattern_resolver.py b/tests/io/utils/test_pattern_resolver.py similarity index 100% rename from tests/io/test_pattern_resolver.py rename to tests/io/utils/test_pattern_resolver.py diff --git a/tests/io/test_base_writer.py b/tests/io/writers/test_base_writer.py similarity index 100% rename from tests/io/test_base_writer.py rename to tests/io/writers/test_base_writer.py diff --git a/tests/io/writers/test_correlation_writer.py b/tests/io/writers/test_correlation_writer.py new file mode 100644 index 0000000..dba15b1 --- /dev/null +++ b/tests/io/writers/test_correlation_writer.py @@ -0,0 +1,59 @@ +import pytest + +import pandas as pd +import numpy as np +from pathlib import Path +from readii.analyze.correlation import getFeatureCorrelations +from readii.io.writers.correlation_writer import CorrelationWriter, CorrelationWriterValidationError, CorrelationWriterError, CorrelationWriterIOError # type: ignore + +@pytest.fixture +def random_feature_correlations(): + # Create a 10x10 matrix with random float values between 0 and 1 + random_matrix = np.random.default_rng(seed=10).random((10,10)) + # Convert to dataframe and name the columns feature1, feature2, etc. + random_df = pd.DataFrame(random_matrix, columns=[f"feature_{i+1}" for i in range(10)]) + # Calculate correlation + return getFeatureCorrelations(random_df, random_df) + + +@pytest.fixture +def corr_writer(tmp_path): + """Fixture for creating a CorrelationWriter instance.""" + return CorrelationWriter( + root_directory=tmp_path, + filename_format="{CorrelationType}_correlation_matrix.csv", + overwrite=False, + create_dirs=True, + ) + +@pytest.mark.parametrize("correlation_df", ["not_a_correlation_df", 12345, pd.DataFrame()]) +def test_save_invalid_correlation(corr_writer, correlation_df): + """Test saving an invalid image.""" + with pytest.raises(CorrelationWriterValidationError): + corr_writer.save(correlation_df, CorrelationType="Pearson") + +@pytest.mark.parametrize("correlation_df", ["random_feature_correlations"]) +def test_save_valid_correlation(corr_writer, request, correlation_df): + """Test saving a valid correlation dataframe.""" + correlation_df = request.getfixturevalue(correlation_df) + out_path = corr_writer.save(correlation_df, CorrelationType="Pearson") + assert out_path.exists() + +def test_save_existing_file_without_overwrite(corr_writer, random_feature_correlations): + """Test saving when file already exists and overwrite is False.""" + corr_writer.save(random_feature_correlations, CorrelationType="Pearson") + with pytest.raises(CorrelationWriterIOError): + corr_writer.save(random_feature_correlations, CorrelationType="Pearson") + +def test_save_existing_file_with_overwrite(corr_writer, random_feature_correlations): + """Test saving when file already exists and overwrite is True.""" + corr_writer.overwrite = True + corr_writer.save(random_feature_correlations, CorrelationType="Pearson") + assert corr_writer.save(random_feature_correlations, CorrelationType="Pearson").exists() + +@pytest.mark.parametrize("filename_format", ["{CorrelationType}_correlation_matrix.csv", "{CorrelationType}_correlation_matrix.xlsx"]) +def test_save_with_different_filename_formats(corr_writer, random_feature_correlations, filename_format): + """Test saving with different filename formats.""" + corr_writer.filename_format = filename_format + out_path = corr_writer.save(random_feature_correlations, CorrelationType="Pearson") + assert out_path.exists() diff --git a/tests/io/test_nifti_writer.py b/tests/io/writers/test_nifti_writer.py similarity index 100% rename from tests/io/test_nifti_writer.py rename to tests/io/writers/test_nifti_writer.py