diff --git a/mkdocs.yml b/mkdocs.yml index 151d0edaf..e909a9117 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -58,8 +58,10 @@ extra_javascript: - javascripts/config.js - https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js - javascripts/tables.js - - https://cdnjs.cloudflare.com/ajax/libs/tablesort/5.2.1/tablesort.min.js + - https://cdn.jsdelivr.net/npm/tablesort@5/src/tablesort.min.js + - https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js - javascripts/katex.js - https://cdn.jsdelivr.net/npm/katex@0.16/dist/katex.min.js - https://cdn.jsdelivr.net/npm/katex@0.16/dist/contrib/mhchem.min.js - https://cdn.jsdelivr.net/npm/katex@0.16/dist/contrib/auto-render.min.js + - https://cdn.plot.ly/plotly-3.1.0.min.js diff --git a/pages/cv/index.md b/pages/cv/index.md index 81b14ae14..37903450f 100644 --- a/pages/cv/index.md +++ b/pages/cv/index.md @@ -21,6 +21,9 @@ as in **[Ionic Liquids](ionic_liquid.md)**, or it consists of a non-conductive s * **COOR**: CO Oxidation Reaction, usually studied in a CO saturated electrolyte. * **HER**: Hydrogen Evolution Reaction. +## Individual Comparisons +**[Compare](compare.md)** + [^1]: Note that in the literature the abbreviation CV is sometimes used for the technique cyclic voltammetry. diff --git a/pixi.lock b/pixi.lock index f600dd0b9..5f920bcba 100644 --- a/pixi.lock +++ b/pixi.lock @@ -198,6 +198,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.3.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda @@ -218,7 +219,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h80c1187_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh8b19718_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-5.24.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda @@ -286,7 +287,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stringcase-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/text-unidecode-1.3-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhe01879c_2.conda @@ -303,7 +303,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uncompresspy-0.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unitpackage-0.10.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda @@ -344,15 +344,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.24.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.12.15-py313h4db2fa4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.12.15-py312h3d55d04_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.12.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-3.3.11-py313habf4b1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-3.3.11-py312hb401068_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/astropy-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/astropy-base-7.1.0-py313hc310da9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/astropy-base-7.1.0-py312ha1a7de2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/astropy-iers-data-0.2025.8.25.0.36.58-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda @@ -376,50 +376,50 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h8df8335_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.5-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/black-25.1.0-py312hb401068_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyh29332c3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.39.11-pyge310_1234567_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.5.0-py313h1492807_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.5.0-py312h025c719_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bqplot-0.12.43-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.1.0-h6e16a3a_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.1.0-h6e16a3a_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py313h14b76d3_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312haafddd8_3.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/c-ares-1.34.5-hf13058a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_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-2025.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py313h49682b3_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/chardet-5.2.0-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py313hc551f4f_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.5-py313hd8ed1ab_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hedd4973_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.11-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.16-py313h03db916_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.16-py312h2ac44ba_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.59.2-py313h4db2fa4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.59.2-py312h3d55d04_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.13.3-h694c41f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/frictionless-5.18.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.7.0-py313haf29b43_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.7.0-py312h18bfd43_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gast-0.4.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.2.4-py313h253db18_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.2.4-py312h462f358_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.14.0-nompi_py313h003f59e_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.14.0-nompi_py312h4eb4aaa_100.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_hc8237f9_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda @@ -437,7 +437,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-8.1.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isodate-0.7.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isort-6.0.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/iteration_utilities-0.13.0-py313ha37c0e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/iteration_utilities-0.13.0-py312hb553811_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.0.1-pyhd8ed1ab_1.conda @@ -448,7 +448,7 @@ environments: - 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.8.1-pyh31011fe_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.15-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.9-py313hb91e98b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.9-py312hef387a8_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/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.17-h72f5680_0.conda @@ -485,7 +485,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.0-h6e16a3a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-34_h236ab99_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.1-hd471939_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-h6e16a3a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.64.0-hc7306c3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.30-openmp_h83c2472_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda @@ -510,8 +509,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/marko-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.2-py313h717bdf5_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.5-py313h5771d13_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.2-py312h3520af0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.5-py312hb83d5b5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda @@ -520,48 +519,49 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.6.3-py313h797cdad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.6.3-py312h6f3313d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.3.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h92383a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.3.2-py313hdb1a8e5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.3.2-py312hda18a35_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.3-h036ada5_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.5.2-h6e31bce_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.0-hd73430f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.2-py313h366a99e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.2-py312hbf2c5ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/petl-1.7.17-pyhd8ed1ab_0.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/osx-64/pillow-11.3.0-py313h0c4f865_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-11.3.0-py312hd9f36e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh8b19718_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-5.24.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.3.1-py313h717bdf5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.0.0-py313h585f44e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.3.1-py312h3520af0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.0.0-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.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/py2vega-0.6.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py313habf4b1d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py313hc71e1e6_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312had73edf_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.25.1-pyhd8ed1ab_0.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.11.7-pyh3cfb1c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.33.2-py313hb35714d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.1.5-py313h1492807_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.33.2-py312haba3716_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.1.5-py312h025c719_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pylatexenc-2.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-3.3.8-pyhe01879c_0.conda @@ -571,15 +571,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-doctestplus-1.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-remotedata-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.5-hc3a4c56_102_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.11-h9ccd52b_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.5-h4df99d1_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.11-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-slugify-8.0.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.2-py313h717bdf5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.2-py312h3520af0_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.0.2-py312h04a22a1_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda @@ -590,9 +590,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.1.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.27.1-py313h66e1e84_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.27.1-py312h00ff6fd_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/s3fs-2025.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.16.1-py313hada7951_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.16.1-py312h594e5de_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/simpleeval-1.0.3-pyhd8ed1ab_0.conda @@ -608,17 +608,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.43-py313h585f44e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.43-py312h2f459f6_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stringcase-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/text-unidecode-1.3-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hf689a15_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.2-py313h585f44e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.2-py312h2f459f6_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traittypes-0.2.1-pyh9f0ad1d_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.16.1-pyhc167863_0.conda @@ -629,24 +628,26 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uncompresspy-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-16.0.0-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unitpackage-0.10.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py313h585f44e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py313h585f44e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h6e16a3a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h00291cd_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.20.1-py313h717bdf5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.20.1-py312h3520af0_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h7130eaa_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.1-hd23fc13_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.23.0-py313h585f44e_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.23.0-py312h2f459f6_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h8210216_2.conda - - pypi: https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/7f/13cd798d180af4bf4c0ceddeefba2b864a63c71645abc0308b768d67bb81/hjson-3.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d2/07/ff8a29330fa35483a19221fd89e102e7ebf700acda8f0ba0b66ef14bcd48/LinkChecker-10.6.0-py3-none-any.whl @@ -837,6 +838,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.3.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda @@ -854,7 +856,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-11.3.0-py313h641beac_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-5.24.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.3.1-py313hb4c8b1a_0.conda @@ -886,7 +888,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py313h40c08fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py313h40c08fc_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py313hb4c8b1a_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.0.2-py312hbb5da91_2.conda @@ -920,7 +922,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/stringcase-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2021.13.0-h18a62a1_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/text-unidecode-1.3-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhe01879c_2.conda @@ -1076,9 +1077,9 @@ packages: - pkg:pypi/aiohttp?source=hash-mapping size: 1007572 timestamp: 1753805448349 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.12.15-py313h4db2fa4_0.conda - sha256: f50adf1346af7bdaec8ec42591ffef888f59f527f3f27840ce2ad405c8598886 - md5: 6739165bd6418e3d75cedee5a3b1cabd +- conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.12.15-py312h3d55d04_0.conda + sha256: 445c5fff62749cb36ee8190a754a2559ab51ec8644460c67439aed6b2802b1ed + md5: af245c6a9327e623a25008ba60e93369 depends: - __osx >=10.13 - aiohappyeyeballs >=2.5.0 @@ -1087,15 +1088,15 @@ packages: - frozenlist >=1.1.1 - multidict >=4.5,<7.0 - propcache >=0.2.0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - yarl >=1.17.0,<2.0 license: MIT AND Apache-2.0 license_family: Apache purls: - pkg:pypi/aiohttp?source=hash-mapping - size: 988129 - timestamp: 1753805283426 + size: 980844 + timestamp: 1753805465708 - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.12.15-py313hd650c13_0.conda sha256: a1c14f111dcf91b30fee4fb5b4b5e33813bc67be35f6ff2292d0f5ffe4fa6306 md5: efd9e75935befc2f3e92876056cc70c1 @@ -1189,18 +1190,18 @@ packages: - pkg:pypi/astroid?source=hash-mapping size: 507583 timestamp: 1752454917854 -- conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-3.3.11-py313habf4b1d_0.conda - sha256: f1eea760c71b8477756a72ffe200302662b9fecdee1e8163835d9c07dc02540a - md5: d7a64a6cd1f5b7bab3017cb792d06682 +- conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-3.3.11-py312hb401068_0.conda + sha256: 8fbf78894379dcab004933ad14c6859bbf801bc7e13cb09023fcf2e158efd47e + md5: 2ef76a5fd905da8abc284f325410e851 depends: - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: LGPL-2.1-or-later license_family: LGPL purls: - pkg:pypi/astroid?source=hash-mapping - size: 518165 - timestamp: 1752455052451 + size: 508239 + timestamp: 1752455028264 - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-3.3.11-py313hfa70ccb_0.conda sha256: 8e2a4e79ffe920d57d58240eac1983541d3d44fd9ca54b2c55cf9b18ed1fd81a md5: 67218e3dbef8942c7485aa4028f9d60a @@ -1269,18 +1270,18 @@ packages: - pkg:pypi/astropy?source=hash-mapping size: 9512845 timestamp: 1748350671070 -- conda: https://conda.anaconda.org/conda-forge/osx-64/astropy-base-7.1.0-py313hc310da9_0.conda - sha256: a46f8c975669d4a08ac70c09fda76b481b4ecc1a3b1f7afe47c8a593c3c58ece - md5: da5f33793ab3fd4ee248d575c356d301 +- conda: https://conda.anaconda.org/conda-forge/osx-64/astropy-base-7.1.0-py312ha1a7de2_0.conda + sha256: c0796bf5fdf508c4e576320047718048bd2d3f06ff42f7dd37a4001139048ee4 + md5: 51347120ab0bbe56a6597333ee31bae2 depends: - __osx >=10.13 - astropy-iers-data >=0.2025.4.28.0.37.27 - - numpy >=1.21,<3 + - numpy >=1.19,<3 - numpy >=1.23.2 - packaging >=22.0.0 - pyerfa >=2.0.1.1 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - pyyaml >=6.0.0 constrains: - astropy >=7.0.0 @@ -1288,8 +1289,8 @@ packages: license_family: BSD purls: - pkg:pypi/astropy?source=hash-mapping - size: 9515447 - timestamp: 1748350805406 + size: 9492827 + timestamp: 1748350758028 - conda: https://conda.anaconda.org/conda-forge/win-64/astropy-base-7.1.0-py313hbd89788_0.conda sha256: dc5b17fb431d6ce35e6f6c4593bb3a71e60d01c3f11b5a414b5b7e8e2612446c md5: c6dffad30454accf276f6ac3dc112c14 @@ -2153,6 +2154,23 @@ packages: - pkg:pypi/black?source=hash-mapping size: 172678 timestamp: 1742502887437 +- conda: https://conda.anaconda.org/conda-forge/osx-64/black-25.1.0-py312hb401068_0.conda + sha256: e937f18e36e23ecf0ec9ab89fc3ef5263308e88b645c4278fe8807fd95bef4c1 + md5: d37d5213fcf23a33d946e40937578a02 + depends: + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9 + - platformdirs >=2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/black?source=hash-mapping + size: 393484 + timestamp: 1738616259890 - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyh29332c3_4.conda sha256: a05971bb80cca50ce9977aad3f7fc053e54ea7d5321523efc7b9a6e12901d3cd md5: f0b4c8e370446ef89797608d60a564b3 @@ -2196,20 +2214,20 @@ packages: - pkg:pypi/bottleneck?source=hash-mapping size: 143315 timestamp: 1747241575976 -- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.5.0-py313h1492807_0.conda - sha256: 661015057fb5c65b68a0ae0d5fa62bd78bbeb17f59611876b5c03e0b1f78e563 - md5: 7e46d0a6a8d7f7472dba2ba3ed6b358c +- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.5.0-py312h025c719_0.conda + sha256: cfaaae73e19ed6e660df178d467f72f957d581eb63ff63be802ea490e8c1b506 + md5: a3e9cc3270412c02dace63c1bbf188b7 depends: - __osx >=10.13 - numpy >=1.21,<3 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/bottleneck?source=hash-mapping - size: 141523 - timestamp: 1747241699479 + size: 141483 + timestamp: 1747241669490 - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.5.0-py313h8e081ca_0.conda sha256: 77c15abb765fd8ae95141c9e0951e8a5aaa12c0429ce98fa988f618cc4f6a3ee md5: 538c73512a191f9bdd17331d31f34ed4 @@ -2340,22 +2358,22 @@ packages: - pkg:pypi/brotli?source=hash-mapping size: 351721 timestamp: 1749230265727 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py313h14b76d3_3.conda - sha256: b486b5d469bd412fcf5a49d50056a069d84d44f0762b64e18f5a3027b1871278 - md5: b48636a1c2074e650b7a930e3a68f104 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312haafddd8_3.conda + sha256: d1a8635422d99b4b7cc1b35d62d1a5c392ae0a4d74e0a44bf190916a21180ba3 + md5: 11489c0fc22f550acf63da5e7ec7304d depends: - __osx >=10.13 - libcxx >=18 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 constrains: - libbrotlicommon 1.1.0 h6e16a3a_3 license: MIT license_family: MIT purls: - pkg:pypi/brotli?source=hash-mapping - size: 366909 - timestamp: 1749230725855 + size: 367262 + timestamp: 1749230495846 - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py313h5813708_3.conda sha256: 152e1f4bb8076b4f37a70e80dcd457a50e14e0bd5501351cd0fc602c5ef782a5 md5: a25f98cfd4eb1ac26325c1869f11edf5 @@ -2505,21 +2523,21 @@ packages: - pkg:pypi/cffi?source=hash-mapping size: 294403 timestamp: 1725560714366 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py313h49682b3_0.conda - sha256: 660c8f8488f78c500a1bb4a803c31403104b1ee2cabf1476a222a3b8abf5a4d7 - md5: 98afc301e6601a3480f9e0b9f8867ee0 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-1.17.1-py312hf857d28_0.conda + sha256: 94fe49aed25d84997e2630d6e776a75ee2a85bd64f258702c57faa4fe2986902 + md5: 5bbc69b8194fedc2792e451026cac34f depends: - __osx >=10.13 - libffi >=3.4,<4.0a0 - pycparser - - python >=3.13.0rc1,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - pkg:pypi/cffi?source=hash-mapping - size: 284540 - timestamp: 1725560667915 + size: 282425 + timestamp: 1725560725144 - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda sha256: b19f581fe423858f1f477c52e10978be324c55ebf2e418308d30d013f4a476ff md5: 519a29d7ac273f8c165efc0af099da42 @@ -2630,24 +2648,24 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/contourpy?source=compressed-mapping + - pkg:pypi/contourpy?source=hash-mapping size: 291827 timestamp: 1754063770363 -- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py313hc551f4f_1.conda - sha256: d7f81d9c84f07a3916473bc69cabaf2e42ce296b8f76727e24f15f636185a45f - md5: f944076ba621dfde21fc4f1cc283af2a +- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hedd4973_1.conda + sha256: e9bef101ef00dc48aef43d2470b2adede37e30f5f8594d90f28272d508b777c4 + md5: a5cfae27fe77321e49fc4268f78b4a38 depends: - __osx >=10.13 - libcxx >=19 - numpy >=1.25 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/contourpy?source=hash-mapping - size: 268870 - timestamp: 1754064078937 + size: 268369 + timestamp: 1754063947309 - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py313hf069bd2_1.conda sha256: 35ee83ec1933fb7c9ff0d37fae65c8fd8a4ac850e3cbbd69e88419fc75fb3bf4 md5: 26bd483a50c3db6f61c648067ef52898 @@ -2733,20 +2751,20 @@ packages: - pkg:pypi/debugpy?source=compressed-mapping size: 2856116 timestamp: 1754523420446 -- conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.16-py313h03db916_0.conda - sha256: 1c07630626879de9c4a63a767cc304d23373dc1c4fb92b1f1891534dcc316917 - md5: 3cd9930005c64df818f07d56c29bff1f +- conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.16-py312h2ac44ba_0.conda + sha256: eeb94df68e7ff704a2a8ceb8bb945dc8bfbe009e900c510eb2125e2e34d98945 + md5: 5a6b041083ed03590235b65c7c8f32b4 depends: - python - __osx >=10.13 - libcxx >=19 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - pkg:pypi/debugpy?source=hash-mapping - size: 2769397 - timestamp: 1754523432779 + size: 2760376 + timestamp: 1754523425543 - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.16-py313h927ade5_0.conda sha256: 5829816abc09896825c1f587cbfbf5548b1e0aa39758fbb10a65d53889dfeac8 md5: 5fe037380ae0b46e412141e4ddea31a0 @@ -2827,7 +2845,7 @@ packages: - pypi: ./ name: echemdb-website version: 0.1.0 - sha256: d47d8e8df852da8385105c82eeb30b0615ecad8baf15a73e3976c7af15a27e00 + sha256: fb92446a1d83a11c40c49fcaebacc0a7c244b373139ddde1ffbdc46574cce0d5 requires_python: '>=3.9' editable: true - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda @@ -2880,21 +2898,22 @@ packages: - pkg:pypi/fonttools?source=hash-mapping size: 2891057 timestamp: 1756328984659 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.59.2-py313h4db2fa4_0.conda - sha256: ffb36143ef728b0a490413a87114a80c966d22de8ec011568df2cda42731d265 - md5: 0f0b289aa8a0d88d4823fa4a4f11eb93 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.59.2-py312h3d55d04_0.conda + sha256: d9d8764c6693d65f39d5726afc1eff054ea5172ededd0ea41681774ad98f43bf + md5: d634f090d804ab3d35abf2c7c02b4053 depends: - __osx >=10.13 - brotli - munkres - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - unicodedata2 >=15.1.0 license: MIT license_family: MIT purls: - pkg:pypi/fonttools?source=hash-mapping - size: 2854372 - timestamp: 1756328902111 + size: 2867526 + timestamp: 1756328887507 - conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.59.2-py313hd650c13_0.conda sha256: b04bce7cf6582f007577537286e960bd2ee4eaa7e8fe6f65b323c7aa7417cd6a md5: 03fa681733db4d9afdffea33adbd318d @@ -2988,20 +3007,20 @@ packages: - pkg:pypi/frozenlist?source=hash-mapping size: 55037 timestamp: 1752167383781 -- conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.7.0-py313haf29b43_0.conda - sha256: 2d84925c6451d601d1691fbb7ac895f9ceee8c8d6d6afa4a55f3dd026db8edc5 - md5: ca2679bd526610ece88767eb6182f916 +- conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.7.0-py312h18bfd43_0.conda + sha256: 33a8bc7384594da4ce9148a597215dc28517d11fa41e1fac14326abab1e55206 + md5: d1e9b9b950051516742a6719489e98c6 depends: - __osx >=10.13 - libcxx >=19 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/frozenlist?source=hash-mapping - size: 50795 - timestamp: 1752167465420 + size: 51802 + timestamp: 1752167396364 - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.7.0-py313h0c48a3b_0.conda sha256: 98750d29e4ed0c8e99d1278073def4115bd2ac395b60ff644790d16e472209b0 md5: 85b7d5b8cc0422ff7f8908a415ea87c8 @@ -3113,20 +3132,20 @@ packages: - pkg:pypi/greenlet?source=hash-mapping size: 238137 timestamp: 1754586277909 -- conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.2.4-py313h253db18_0.conda - sha256: f779d0f91e3b5f5b60799e4934432f0573df0133dd6b9a27a66bec3e4e4c4152 - md5: 8dc972930e178433e492a755cb65bf38 +- conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.2.4-py312h462f358_0.conda + sha256: d17d7f9747ee750a65ae862c9d4dee5ce18ad28a2b404fa5e327a4e64fa952b5 + md5: 9d6c253733941b28374064567d1a6581 depends: - __osx >=10.13 - libcxx >=19 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - pkg:pypi/greenlet?source=hash-mapping - size: 234004 - timestamp: 1754586561036 + size: 232815 + timestamp: 1754586567390 - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.2.4-py313hfe59770_0.conda sha256: 461c80cc0094070bb2fa548b1ebe3c477c282462a42da085416866297b5ebb39 md5: d0f8903228138cc05ea6d60f30118b32 @@ -3172,22 +3191,22 @@ packages: - pkg:pypi/h5py?source=hash-mapping size: 1319482 timestamp: 1749298493941 -- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.14.0-nompi_py313h003f59e_100.conda - sha256: dccb3271d5e6e3ccab12c4385b5cc498c796161489f282a58d977f31b99cdc53 - md5: ccdf8e0023cd3d462e5468384ad7a7e8 +- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.14.0-nompi_py312h4eb4aaa_100.conda + sha256: 3a725e19634c3b195c3a7815f4ff8636fdc4d43137c56ea579a3e27de8d59571 + md5: 88f581d43b4d9013fe3206d594dddf4b depends: - __osx >=10.13 - cached-property - hdf5 >=1.14.6,<1.14.7.0a0 - numpy >=1.21,<3 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/h5py?source=hash-mapping - size: 1171669 - timestamp: 1749298542470 + size: 1155724 + timestamp: 1749298548872 - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.14.0-nompi_py313h74a315e_100.conda sha256: bf4c957871a0b860e2d80ac5765801207eff451be1670f9927217d0bafd94d22 md5: 5aa0d701f6c6c0236d68e637fd2c78f6 @@ -3565,19 +3584,19 @@ packages: - pkg:pypi/iteration-utilities?source=hash-mapping size: 176554 timestamp: 1728425328404 -- conda: https://conda.anaconda.org/conda-forge/osx-64/iteration_utilities-0.13.0-py313ha37c0e0_1.conda - sha256: 7f2b36357e967fc0fee02eb998bc6ad29be65b2d569d21ac70ebad2b3bc6c774 - md5: f679cd4d329662c760689b06aad3662c +- conda: https://conda.anaconda.org/conda-forge/osx-64/iteration_utilities-0.13.0-py312hb553811_1.conda + sha256: 8dcedd1e9147119c6746042c90ff32adc9eca722651c29587d6ca7358245fcab + md5: b3beaba3ae8dcd9fcfd7c4ad98f2bc7a depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/iteration-utilities?source=hash-mapping - size: 170731 - timestamp: 1728425314883 + size: 166278 + timestamp: 1728425288716 - conda: https://conda.anaconda.org/conda-forge/win-64/iteration_utilities-0.13.0-py313ha7868ed_1.conda sha256: de257e228b81af29415f254295d0778e404a9e9dfdf608876bebab58c3cf0786 md5: af1cc2ccd806439d4dbdc1de7ed7c698 @@ -3771,19 +3790,19 @@ packages: - pkg:pypi/kiwisolver?source=compressed-mapping size: 77266 timestamp: 1756467527669 -- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.9-py313hb91e98b_1.conda - sha256: 9a52ac90574d99286059e82ecf357e978f6e0d1163d7a8439e31582a4c585a2f - md5: 641919ea862da8b06555e24ac7187923 +- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.9-py312hef387a8_1.conda + sha256: 5dce7103d7abac37c59d0cad59e442c69075fd99a22d1e365c045197632bb05f + md5: 33fea04c72a6d7ce222fbc82ebe4492c depends: - python - libcxx >=19 - __osx >=10.13 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause purls: - - pkg:pypi/kiwisolver?source=hash-mapping - size: 69568 - timestamp: 1756467610330 + - pkg:pypi/kiwisolver?source=compressed-mapping + size: 68999 + timestamp: 1756467598509 - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.4.9-py313h1a38498_1.conda sha256: 774b67a7d93c373db620ada8353fc5ab28a976f8b4a7e53d4dd9a522f3d82100 md5: 70f93375919f715a9dd2ca9517e57728 @@ -5328,16 +5347,6 @@ packages: purls: [] size: 104935 timestamp: 1749230611612 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-h6e16a3a_0.conda - sha256: 98299c73c7a93cd4f5ff8bb7f43cd80389f08b5a27a296d806bdef7841cc9b9e - md5: 18b81186a6adb43f000ad19ed7b70381 - depends: - - __osx >=10.13 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 77667 - timestamp: 1748393757154 - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda sha256: fc529fc82c7caf51202cc5cec5bb1c2e8d90edbac6d0a4602c966366efe3c7bf md5: 74860100b2029e2523cf480804c76b9b @@ -6245,21 +6254,21 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 24604 timestamp: 1733219911494 -- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.2-py313h717bdf5_1.conda - sha256: 297242943522a907c270bc2f191d16142707d970541b9a093640801b767d7aa7 - md5: a6fbde71416d6eb9898fcabf505a85c5 +- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.2-py312h3520af0_1.conda + sha256: d521e272f7789ca62e7617058a4ea3bd79efa73de1a39732df209ca5299e64e2 + md5: 32d6bc2407685d7e2d8db424f42018c6 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 constrains: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/markupsafe?source=hash-mapping - size: 24363 - timestamp: 1733219815199 + size: 23888 + timestamp: 1733219886634 - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py313hb4c8b1a_1.conda sha256: f16cb398915f52d582bcea69a16cf69a56dab6ea2fab6f069da9c2c10f09534c md5: ec9ecf6ee4cceb73a0c9a8cdfdf58bed @@ -6307,9 +6316,9 @@ packages: - pkg:pypi/matplotlib?source=compressed-mapping size: 8071030 timestamp: 1754005868258 -- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.5-py313h5771d13_0.conda - sha256: 37b206a2d000e555f0cf52589e79805f16cc4862eb3ca65fac2b15db582db03b - md5: c5210f966876b237ba35340b3b89d695 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.5-py312hb83d5b5_0.conda + sha256: 2d9f3d2865209c3350e780bb788629e198fed71fb015e52cb162310a459453bc + md5: 4eba589e971291d9b64b96d4578110b8 depends: - __osx >=10.13 - contourpy >=1.0.1 @@ -6325,16 +6334,16 @@ packages: - packaging >=20.0 - pillow >=8 - pyparsing >=2.3.1 - - python >=3.13,<3.14.0a0 + - python >=3.12,<3.13.0a0 - python-dateutil >=2.7 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 - qhull >=2020.2,<2020.3.0a0 license: PSF-2.0 license_family: PSF purls: - pkg:pypi/matplotlib?source=hash-mapping - size: 8249844 - timestamp: 1754005832823 + size: 8193888 + timestamp: 1754005842129 - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.5-py313he1ded55_0.conda sha256: cdf826574270d01869250021b0d58bc39330cb885e523f6eb897d1c7dda7c192 md5: d2d0d64e2fd39aca9dfb689b1c100414 @@ -6574,19 +6583,19 @@ packages: - pkg:pypi/multidict?source=hash-mapping size: 97272 timestamp: 1751310833783 -- conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.6.3-py313h797cdad_0.conda - sha256: 26fb67dce950f8c032371a1585cc0345afbeab694948305fd06c0194ad3d3030 - md5: 69410a46f8a20a511427a32536957385 +- conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.6.3-py312h6f3313d_0.conda + sha256: c49c4e85de4d84cb2bd128ce4053c4fc2c226061649aabe5b5175c484b13d4a5 + md5: e495a8697e472a5ecd766c0ddcbeacd6 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/multidict?source=hash-mapping - size: 88308 - timestamp: 1751310809781 + size: 88680 + timestamp: 1751310944858 - conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.6.3-py313hd650c13_0.conda sha256: a4d3390498aecb4b8711745a1deb66e69aaa9cf318ce8426bef825f8dff510f5 md5: a70222aca972874c001c477220c5c82f @@ -6663,6 +6672,18 @@ packages: - pkg:pypi/myst-parser?source=hash-mapping size: 73074 timestamp: 1739381945342 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.2.0-pyhcf101f3_0.conda + sha256: 9f08e4e50695546e6c68288a35350b5cce8be13fbd1f4dc0ecf04a1e180e1673 + md5: 7b058c5f94d7fdfde0f91e3f498b81fc + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/narwhals?source=hash-mapping + size: 248742 + timestamp: 1756119139962 - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda sha256: a20cff739d66c2f89f413e4ba4c6f6b59c50d5c30b5f0d840c13e8c9c2df9135 md5: 6bb0d77277061742744176ab555b723c @@ -6758,24 +6779,24 @@ packages: - pkg:pypi/numpy?source=hash-mapping size: 8785544 timestamp: 1756343060399 -- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.3.2-py313hdb1a8e5_2.conda - sha256: 0979cd27685e5c8767547e7dbc7ec5015b8080d85d4f43dd4318d9beb99fd98f - md5: 87843ce61a6baf2cb0d7fad97433f704 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.3.2-py312hda18a35_2.conda + sha256: a6540036fc49d2a5f044adc567b148c2c22bdef34a6a4957727083bb4127995e + md5: 95fac8d8fcce82d91e07aba451c7cdaa depends: - python - - libcxx >=19 - __osx >=10.13 - - liblapack >=3.9.0,<4.0a0 - - python_abi 3.13.* *_cp313 + - libcxx >=19 + - python_abi 3.12.* *_cp312 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 constrains: - numpy-base <0a0 license: BSD-3-Clause purls: - pkg:pypi/numpy?source=hash-mapping - size: 8032409 - timestamp: 1756343064663 + size: 7945733 + timestamp: 1756343067826 - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.2-py313hce7ae62_2.conda sha256: 6c10cd2ef2ced4c9c4e2582648505248bb14d8dfa509d1610845fafa877cfa23 md5: fd183febc421360098ad1052f2239c6b @@ -7003,57 +7024,57 @@ packages: - pkg:pypi/pandas?source=compressed-mapping size: 15108897 timestamp: 1755779512007 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.2-py313h366a99e_0.conda - sha256: d565c58d7ab76e7b40d1bf201ad397924ddd5ee9e61c20c00eacddc97d0f45af - md5: 31a66209f11793d320c1344f466d3d37 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.2-py312hbf2c5ff_0.conda + sha256: 55e632cf2befb255b963b9d50d3b692294ae6a426aae0fad4526b975398d09f8 + md5: c7b84cb440695f139ea34189a1c4e094 depends: - __osx >=10.13 - libcxx >=19 - numpy >=1.22.4 - numpy >=1.23,<3 - - python >=3.13,<3.14.0a0 + - python >=3.12,<3.13.0a0 - python-dateutil >=2.8.2 - python-tzdata >=2022.7 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 - pytz >=2020.1 constrains: - - beautifulsoup4 >=4.11.2 - - matplotlib >=3.6.3 - - sqlalchemy >=2.0.0 - - psycopg2 >=2.9.6 - - pandas-gbq >=0.19.0 - - pyqt5 >=5.15.9 - - python-calamine >=0.1.7 - - xlsxwriter >=3.0.5 - - blosc >=1.21.3 - - scipy >=1.10.0 - - xarray >=2022.12.0 - pyreadstat >=1.2.0 - - odfpy >=1.4.1 - - tzdata >=2022.7 + - scipy >=1.10.0 + - pyarrow >=10.0.1 + - sqlalchemy >=2.0.0 + - html5lib >=1.1 - lxml >=4.9.2 + - fsspec >=2022.11.0 - s3fs >=2022.11.0 - - html5lib >=1.1 - - zstandard >=0.19.0 - - fastparquet >=2022.12.0 - - pytables >=3.8.0 - - bottleneck >=1.3.6 - - qtpy >=2.3.0 - gcsfs >=2022.11.0 - - pyarrow >=10.0.1 - - numba >=0.56.4 - - fsspec >=2022.11.0 + - blosc >=1.21.3 + - matplotlib >=3.6.3 + - bottleneck >=1.3.6 + - xlsxwriter >=3.0.5 + - beautifulsoup4 >=4.11.2 - tabulate >=0.9.0 + - psycopg2 >=2.9.6 + - tzdata >=2022.7 + - python-calamine >=0.1.7 + - zstandard >=0.19.0 + - odfpy >=1.4.1 + - xlrd >=2.0.1 + - numba >=0.56.4 - pyxlsb >=1.0.10 + - pyqt5 >=5.15.9 + - xarray >=2022.12.0 + - pytables >=3.8.0 - numexpr >=2.8.4 - openpyxl >=3.1.0 - - xlrd >=2.0.1 + - fastparquet >=2022.12.0 + - qtpy >=2.3.0 + - pandas-gbq >=0.19.0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/pandas?source=hash-mapping - size: 14213620 - timestamp: 1755779477672 + size: 14246389 + timestamp: 1755779512178 - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.2-py313hc90dcd4_0.conda sha256: d58849a03599e75d6ff9488e368a882aa37388e4b41478bbd3e3ea1179031fe0 md5: 35fe6d384d80f6e52c880c4abfc41a35 @@ -7103,7 +7124,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/pandas?source=hash-mapping + - pkg:pypi/pandas?source=compressed-mapping size: 13966284 timestamp: 1755779637297 - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda @@ -7198,9 +7219,9 @@ packages: - pkg:pypi/pillow?source=hash-mapping size: 42964111 timestamp: 1751482158083 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-11.3.0-py313h0c4f865_0.conda - sha256: fe97af28686fa56c90437a3d7d07230f68d364cf8b92b5c8005bc03520bf0bb7 - md5: 4cedae60046caf240dda5b29ba2f60a7 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-11.3.0-py312hd9f36e3_0.conda + sha256: c80c1e858659beadcd9de16ccb208a319d34cce9a6412731cf2d08dfc1eb86fa + md5: a3c63eeab0ecca11e93104aebed345fc depends: - __osx >=10.13 - lcms2 >=2.17,<3.0a0 @@ -7212,14 +7233,14 @@ packages: - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - openjpeg >=2.5.3,<3.0a0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - tk >=8.6.13,<8.7.0a0 license: HPND purls: - pkg:pypi/pillow?source=hash-mapping - size: 42282880 - timestamp: 1751482328308 + size: 42486529 + timestamp: 1751482537411 - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-11.3.0-py313h641beac_0.conda sha256: 7443ad7db99ec4432c9dc09961a92405b899889aafea5b55dc193d2eb5416ba8 md5: 04595138d9590cd65691218b20f0f4b6 @@ -7252,7 +7273,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/pip?source=hash-mapping + - pkg:pypi/pip?source=compressed-mapping size: 1179951 timestamp: 1753925011027 - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh8b19718_0.conda @@ -7279,21 +7300,21 @@ packages: - pkg:pypi/platformdirs?source=compressed-mapping size: 23653 timestamp: 1756227402815 -- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-5.24.1-pyhd8ed1ab_1.conda - sha256: d1bbf2d80105bfc8a7ed9817888f4a1686ed393d6435572921add09cc9347c1c - md5: 71ac632876630091c81c50a05ec5e030 +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.3.0-pyhd8ed1ab_0.conda + sha256: de59e60bdb5f42a6da18821e49545a0040c1f6940360c6177b5e3a350cc96d51 + md5: 5366b5b366cd3a2efa7e638792972ea1 depends: + - narwhals >=1.15.1 - packaging - python >=3.9 - - tenacity >=6.2.0 constrains: - ipywidgets >=7.6 license: MIT license_family: MIT purls: - pkg:pypi/plotly?source=hash-mapping - size: 8022748 - timestamp: 1733733328161 + size: 4921172 + timestamp: 1755067356284 - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda sha256: a8eb555eef5063bbb7ba06a379fa7ea714f57d9741fe0efdb9442dbbc2cccbcc md5: 7da7ccd349dbf6487a7778579d2bb971 @@ -7361,19 +7382,19 @@ packages: - pkg:pypi/propcache?source=hash-mapping size: 54233 timestamp: 1744525107433 -- conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.3.1-py313h717bdf5_0.conda - sha256: 7603b848cfafa574d5dd88449d2d1995fc69c30d1f34a34521729e76f03d5f1c - md5: 8c3e4610b7122a3c016d0bc5a9e4b9f1 +- conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.3.1-py312h3520af0_0.conda + sha256: b589b640427dbfdc09a54783f89716440f4c9a4d9e479a2e4f33696f1073c401 + md5: 9e58210edacc700e43c515206904f0ca depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/propcache?source=hash-mapping - size: 50881 - timestamp: 1744525138325 + size: 51501 + timestamp: 1744525135519 - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.3.1-py313hb4c8b1a_0.conda sha256: b6f9e491fed803a4133d6993f0654804332904bc31312cb42ff737456195fc3f md5: 5aa4e7fa533f7de1b964c8d3a3581190 @@ -7403,19 +7424,19 @@ packages: - pkg:pypi/psutil?source=hash-mapping size: 467818 timestamp: 1755851390449 -- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.0.0-py313h585f44e_1.conda - sha256: df943fa46f030b043ca28bd939d7e4110273aa41197080a598da467cbd300c6b - md5: a1457ea8cfd6104cea63410320772abc +- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.0.0-py312h2f459f6_1.conda + sha256: 818b08bcb49a1d2384b6244c0910ec1daec5c7182bfdf0e7b878d7526c0683e9 + md5: d2d5563cc54683a441e2de5fd332911d depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping - size: 480270 - timestamp: 1755851507696 + size: 474384 + timestamp: 1755851651170 - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.0.0-py313h5ea7bf4_1.conda sha256: 9e63542ffd8ac4104cff34e722019fc3eb6eef274c77740eef1d73056c56cade md5: 00c2580acce9c51004818c6981c586d9 @@ -7513,22 +7534,22 @@ packages: purls: [] size: 26130 timestamp: 1753372099545 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py313habf4b1d_0.conda - sha256: cfc0350ada2ac1ed6024fe32df3c12d439ae90973351230b39cb778c7fa37811 - md5: 141c0afcb16e5a416dfc8feb23573d5d +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_0.conda + sha256: 056cfe01158d37003da64ae5e999770114459ea6f9effc8a8a4f50bc0c87766d + md5: a540b01a6ab2cc7f575b76883eac9397 depends: - libarrow-acero 21.0.0.* - libarrow-dataset 21.0.0.* - libarrow-substrait 21.0.0.* - libparquet 21.0.0.* - pyarrow-core 21.0.0 *_0_* - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE purls: [] - size: 26183 - timestamp: 1753372055511 + size: 26110 + timestamp: 1753371827572 - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-21.0.0-py313hfa70ccb_0.conda sha256: 420ed1bd70736819caf998b4df132781347b973b4f050f7ce7c35a1a503143bd md5: 1722f945fedb2133bdce2f8e78318482 @@ -7566,26 +7587,26 @@ packages: - pkg:pypi/pyarrow?source=hash-mapping size: 4796116 timestamp: 1753371950984 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py313hc71e1e6_0_cpu.conda - sha256: 0ad3132e5eb55d013614c080ad626818498c4256dc143c659a7f0cd07bfc7a55 - md5: 61721383813544f77d2f257a955e164d +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312had73edf_0_cpu.conda + sha256: 5db0c774866c93c4f1b0f125aa18823973158e3bb61428a2eb0e3150a67a2011 + md5: df040192d28124926bd1fe738fa9dd91 depends: - __osx >=10.13 - libarrow 21.0.0.* *cpu - libarrow-compute 21.0.0.* *cpu - libcxx >=18 - libzlib >=1.3.1,<2.0a0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 constrains: - - apache-arrow-proc * cpu - numpy >=1.21,<3 + - apache-arrow-proc * cpu license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/pyarrow?source=hash-mapping - size: 4392145 - timestamp: 1753372012600 + size: 4001380 + timestamp: 1753371801889 - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-21.0.0-py313h5921983_0_cpu.conda sha256: def0185a4ab0456d3eb04d92f69c3adb459b67787915509d18f683dbde9fc2da md5: baff4f6ac77293753e03246d73a6b7ac @@ -7667,22 +7688,22 @@ packages: - pkg:pypi/pydantic-core?source=hash-mapping size: 1890081 timestamp: 1746625309715 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.33.2-py313hb35714d_0.conda - sha256: 84b5d39c74f8578722b0fc40b6c0a862cff590549ff74abfe88210f98526fa62 - md5: d005389707c7f9ccc4f86933b4649708 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.33.2-py312haba3716_0.conda + sha256: 2bd1ff91077790b93141f6a718840626c6fe12eddd6de8441da6d211aa74999a + md5: ef5b500de254557bd376a64ef2d76c9a depends: - python - typing-extensions >=4.6.0,!=4.7.0 - __osx >=10.13 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 constrains: - __osx >=10.13 license: MIT license_family: MIT purls: - pkg:pypi/pydantic-core?source=hash-mapping - size: 1867059 - timestamp: 1746625317183 + size: 1861583 + timestamp: 1746625308090 - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.33.2-py313ha8a9a3c_0.conda sha256: 14dc654f3bb8e5a489da6632cf91b421a32e0d1c521d4f0b64a6910ae51d5c8f md5: b3a8def3a1d2e94644e2a9c0b8717f4a @@ -7717,20 +7738,20 @@ packages: - pkg:pypi/pyerfa?source=hash-mapping size: 373189 timestamp: 1731377800110 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.1.5-py313h1492807_0.conda - sha256: 3910306c9a7f3bc58e7f58366885d5ae2b1405dd38477f67849ca8d0ec07f85e - md5: 1f3d1bb0d2e4409c6a735bff9c0d6358 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyerfa-2.0.1.5-py312h025c719_0.conda + sha256: 1d895eef19d88a65b8f7021715600e1ed02d241ddf5c7d2a6c0c340a8b63c399 + md5: 317e6ca531774f4c1720c26729711394 depends: - __osx >=10.13 - - numpy >=1.21,<3 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/pyerfa?source=hash-mapping - size: 368517 - timestamp: 1731377954764 + size: 348333 + timestamp: 1731377865892 - conda: https://conda.anaconda.org/conda-forge/win-64/pyerfa-2.0.1.5-py313h8e081ca_0.conda sha256: 2748ccafeafe7884cd3582c002ddf5804db047cd506e70f0d15fa65985126fc4 md5: 9fa794b51a343af869a03ba0d5ca66ce @@ -7926,30 +7947,28 @@ packages: purls: [] size: 31445023 timestamp: 1749050216615 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.5-hc3a4c56_102_cp313.conda - build_number: 102 - sha256: 8b2f14010eb0baf04ed1eb3908c9e184cd14512c4d64c43f313251b90e75b345 - md5: afa9492a7d31f6f7189ca8f08aceadac +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.11-h9ccd52b_0_cpython.conda + sha256: ebda5b5e8e25976013fdd81b5ba253705b076741d02bdc8ab32763f2afb2c81b + md5: 06049132ecd09d0c1dc3d54d93cf1d5d depends: - __osx >=10.13 - bzip2 >=1.0.8,<2.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.50.1,<4.0a0 + - libsqlite >=3.50.0,<4.0a0 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.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 + constrains: + - python_abi 3.12.* *_cp312 license: Python-2.0 purls: [] - size: 13955531 - timestamp: 1750063132430 - python_site_packages_path: lib/python3.13/site-packages + size: 13571569 + timestamp: 1749049058713 - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.5-h7de537c_102_cp313.conda build_number: 102 sha256: 3de2b9f89b220cb779f6947cf87b328f73d54eed4f7e75a3f9337caeb4443910 @@ -8092,9 +8111,9 @@ packages: - pkg:pypi/pytz?source=hash-mapping size: 189015 timestamp: 1742920947249 -- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py313h40c08fc_0.conda - sha256: b4f2d91fa6f291d8ea1eff17113c4d2774c796d14b330aeca0e42434c2dcbf88 - md5: c087068c22d8c7041174ea8c9e25cb26 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py313h40c08fc_1.conda + sha256: 87eaeb79b5961e0f216aa840bc35d5f0b9b123acffaecc4fda4de48891901f20 + md5: 1ce4f826332dca56c76a5b0cc89fb19e depends: - python - vc >=14.3,<15 @@ -8105,11 +8124,10 @@ packages: - ucrt >=10.0.20348.0 - python_abi 3.13.* *_cp313 license: PSF-2.0 - license_family: PSF purls: - pkg:pypi/pywin32?source=hash-mapping - size: 6694986 - timestamp: 1752564076579 + size: 6695114 + timestamp: 1756487139550 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.conda sha256: 159cba13a93b3fe084a1eb9bda0a07afc9148147647f0d437c3c3da60980503b md5: cf2485f39740de96e2a7f2bb18ed2fee @@ -8125,20 +8143,20 @@ packages: - pkg:pypi/pyyaml?source=hash-mapping size: 206903 timestamp: 1737454910324 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.2-py313h717bdf5_2.conda - sha256: 27501e9b3b5c6bfabb3068189fd40c650356a258e4a82b0cfe31c60f568dcb85 - md5: b7f2984724531d2233b77c89c54be594 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.2-py312h3520af0_2.conda + sha256: de96d83b805dba03422d39e855fb33cbeedc8827235d6f76407a3b42dc085910 + md5: 4a2d83ac55752681d54f781534ddd209 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT purls: - pkg:pypi/pyyaml?source=hash-mapping - size: 196573 - timestamp: 1737455046063 + size: 193577 + timestamp: 1737454858212 - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py313hb4c8b1a_2.conda sha256: 5b496c96e48f495de41525cb1b603d0147f2079f88a8cf061aaf9e17a2fe1992 md5: d14f685b5d204b023c641b188a8d0d7c @@ -8389,20 +8407,20 @@ packages: - pkg:pypi/rpds-py?source=hash-mapping size: 389613 timestamp: 1756315744748 -- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.27.1-py313h66e1e84_0.conda - sha256: 8c5ffeca70230f1a17f7a77c4e076630d6f7b6f3d22b5d3a876947de9474c072 - md5: 1c76a37ff2400bc40a83ef4c765eaf5c +- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-0.27.1-py312h00ff6fd_0.conda + sha256: 2306a04385d8e25d0e7279baed4b65633b4cb4548bdccbbbbb0dd3f78f1808b3 + md5: 552f8c0cb3f903bdbf4c9ca247ec17da depends: - python - __osx >=10.13 - - python_abi 3.13.* *_cp313 + - python_abi 3.12.* *_cp312 constrains: - __osx >=10.13 license: MIT purls: - pkg:pypi/rpds-py?source=hash-mapping - size: 368886 - timestamp: 1756315420318 + size: 368751 + timestamp: 1756315393985 - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.27.1-py313hfbe8231_0.conda sha256: 3239b9612d2ee2e8e1c6af84b426a46031a8c6c712420024afacdaa534ee0411 md5: bdaef5397588a4b73e788cf33d6b2a5e @@ -8469,9 +8487,9 @@ packages: - pkg:pypi/scipy?source=hash-mapping size: 17190354 timestamp: 1754970575489 -- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.16.1-py313hada7951_0.conda - sha256: e2e6560419f6809d272880e82e50b7cf2e11bb64ca8b4aa64fe90b420a138d1d - md5: 0754bd8f813107c8f6adda6530e07b60 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.16.1-py312h594e5de_0.conda + sha256: 9a20672be8210e9d5401435b7f3d81e5c8836842e652eda2ec607d9aadb768cc + md5: 3049c99f851921b483b528daa81e2bdc depends: - __osx >=10.13 - libblas >=3.9.0,<4.0a0 @@ -8484,14 +8502,14 @@ packages: - numpy <2.6 - numpy >=1.23,<3 - numpy >=1.25.2 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping - size: 15410632 - timestamp: 1754971272367 + size: 15332499 + timestamp: 1754971101552 - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.16.1-py313h22ae3c1_0.conda sha256: 852fe5f600cd3f883ae1ecb5eea1eaf0407256ea69cdd02e32e7b27b60414492 md5: 001fed7e72552a872a4b26a3e88aac79 @@ -8741,24 +8759,24 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/sqlalchemy?source=compressed-mapping + - pkg:pypi/sqlalchemy?source=hash-mapping size: 3532535 timestamp: 1754983880268 -- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.43-py313h585f44e_0.conda - sha256: e28bc5d751e6abd416a131ce9b9ff660441b107c817b293136e6a080b2231f43 - md5: bea5cf9c02fe5a568499c0ce772ad694 +- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.43-py312h2f459f6_0.conda + sha256: 02054457b724f5e659c982bd61c080b1b0acd9418ba80db94f9dde20ece0aa95 + md5: c3be86bc40e8aa92367364f362074af5 depends: - __osx >=10.13 - greenlet !=0.4.17 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - typing-extensions >=4.6.0 license: MIT license_family: MIT purls: - pkg:pypi/sqlalchemy?source=hash-mapping - size: 3642716 - timestamp: 1754984107987 + size: 3558095 + timestamp: 1754984000812 - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.43-py313h5ea7bf4_0.conda sha256: 6144a0352e8f53eb6842f07d7b500434e85f87f71d728d7811df740cd1aa7fae md5: fca5a303d90de787c586b665ade83506 @@ -8833,17 +8851,6 @@ packages: purls: [] size: 150266 timestamp: 1755776172092 -- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda - sha256: fd9ab8829947a6a405d1204904776a3b206323d78b29d99ae8b60532c43d6844 - md5: 5d99943f2ae3cc69e1ada12ce9d4d701 - depends: - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/tenacity?source=hash-mapping - size: 25364 - timestamp: 1743640859268 - pypi: https://files.pythonhosted.org/packages/4f/bd/de8d508070629b6d84a30d01d57e4a65c69aa7f5abe7560b8fad3b50ea59/termcolor-3.1.0-py3-none-any.whl name: termcolor version: 3.1.0 @@ -8946,19 +8953,19 @@ packages: - pkg:pypi/tornado?source=compressed-mapping size: 850503 timestamp: 1754732194289 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.2-py313h585f44e_0.conda - sha256: 6703359f10133da77905743c287735177bb7f074b68b289c41e72c4756da586d - md5: 80dbd1e0d4eb09da8a97b3315a26d904 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.2-py312h2f459f6_0.conda + sha256: 93ab198aa2f4dc4edf0f34bb58daabe62cbbd13c164eba8319f9bc197e2b613a + md5: 45295c7a0d78367b40351370cd8fd8a6 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/tornado?source=hash-mapping - size: 876047 - timestamp: 1754732200371 + size: 849962 + timestamp: 1754732232519 - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.2-py313h5ea7bf4_0.conda sha256: 6a461f7ffba2f0d90bca775fc95f58840c9b3ed3d6002659f4979a4a7b7ed344 md5: 57756431d27f6043d8bc1e78eb8b3c7b @@ -9007,7 +9014,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/typer?source=hash-mapping + - pkg:pypi/typer?source=compressed-mapping size: 77346 timestamp: 1755547637982 - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.16.1-pyhe01879c_0.conda @@ -9025,7 +9032,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/typer-slim?source=compressed-mapping + - pkg:pypi/typer-slim?source=hash-mapping size: 46871 timestamp: 1755547637982 - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.16.1-h810d63d_0.conda @@ -9102,20 +9109,33 @@ packages: - pkg:pypi/uncompresspy?source=hash-mapping size: 16185 timestamp: 1747843857565 -- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h66e93f0_0.conda - sha256: 638916105a836973593547ba5cf4891d1f2cb82d1cf14354fcef93fd5b941cdc - md5: 617f5d608ff8c28ad546e5d9671cbb95 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h4c3975b_1.conda + sha256: cbf7d13819cf526a094f0cfe2da7f7ba22c4fbae4d231c9004520fbbf93f7027 + md5: 4da303c1e91703d178817252615ca0a7 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=hash-mapping + size: 404974 + timestamp: 1756494558558 +- conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-16.0.0-py312h2f459f6_1.conda + sha256: d53d5e9589e07c7176c05f7e82ca12374a7e95da47cc037baaf5ff2baa32643c + md5: 40a411be2653f780dd8cc8f120027ef7 + depends: + - __osx >=10.13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/unicodedata2?source=hash-mapping - size: 404401 - timestamp: 1736692621599 + size: 399990 + timestamp: 1756494876017 - conda: https://conda.anaconda.org/conda-forge/noarch/unitpackage-0.10.1-pyhd8ed1ab_0.conda sha256: e33d61a7b6ac417f990bd087cf60506777ebb127f7ab9ba8af953334d7dcb264 md5: daeb10a4bfcd9947bfee3143a70c5c68 @@ -9220,20 +9240,20 @@ packages: - pkg:pypi/watchdog?source=hash-mapping size: 141297 timestamp: 1756135345110 -- conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py313h585f44e_1.conda - sha256: 63961c1cac16f0f2dbb32f2499b16d59895a4727df7afae2c61e1c91f083e048 - md5: f9f9ec9a5a54a9b2a8cf8891fe934be5 +- conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py312h2f459f6_1.conda + sha256: 8e25ea20e6c8e80a085dcc8d9bf7de9289ea3d42009c92d51a374cf7588138d0 + md5: 14743a96d1a4df100fbff4618cf69d52 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - pyyaml >=3.10 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/watchdog?source=hash-mapping - size: 151558 - timestamp: 1756135500585 + size: 149242 + timestamp: 1756135617786 - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py313hfa70ccb_1.conda sha256: 06263427dcd0100706d26c0461f2ff8356f23f4b2ee047f67d0cd7f073e2c842 md5: ff8bfc0c2479faccdfa9ec9859ed663b @@ -9316,19 +9336,19 @@ packages: - pkg:pypi/wrapt?source=hash-mapping size: 64581 timestamp: 1755007045538 -- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py313h585f44e_0.conda - sha256: 286844fc97c84588d26e0bca6887332f2b7f829c11b49ed34ee3ee1cc80c7925 - md5: 60a2eed291bb1e920fb32c8f345765f5 +- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_0.conda + sha256: 18c49f1c475c55be856b1a43892389ef4e2d79114392ea5718d8e5b04ff0fb2e + md5: 9af60a9fe81152586f8f2a168741a581 depends: - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-2-Clause license_family: BSD purls: - pkg:pypi/wrapt?source=hash-mapping - size: 61133 - timestamp: 1755006608260 + size: 60804 + timestamp: 1755006545368 - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_0.conda sha256: 796fc42d3586dcda3470d083504f2ab8deabfec02fdaf0e18f4f1e9c28b162cc md5: d4d3263ff77796f907f0b56e593804d9 @@ -9463,22 +9483,22 @@ packages: - pkg:pypi/yarl?source=hash-mapping size: 149496 timestamp: 1749555225039 -- conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.20.1-py313h717bdf5_0.conda - sha256: ef9b93aef8a63dbc9c264b2ef7169200325c03b7c5ba71969d1b99d7f94d1cec - md5: 484fad6d5e455d642d18c331444b3f8c +- conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.20.1-py312h3520af0_0.conda + sha256: 91011952c0e020ab56c012d9f7bfc245c348e9bf1669c30cc523736c8ec4fddd + md5: 889fa353589442fb6eef00ae03285cae depends: - __osx >=10.13 - idna >=2.0 - multidict >=4.0 - propcache >=0.2.1 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/yarl?source=hash-mapping - size: 144490 - timestamp: 1749555095769 + size: 143930 + timestamp: 1749555082258 - conda: https://conda.anaconda.org/conda-forge/win-64/yarl-1.20.1-py313hb4c8b1a_0.conda sha256: c7173defe45cb7863d2c5a415a2a16b4afc9e0f6d4ac7b61879e24b095b01f64 md5: 288f95c67d49237abbaab05d2f0ef9dd @@ -9587,20 +9607,20 @@ packages: - pkg:pypi/zstandard?source=hash-mapping size: 488806 timestamp: 1756075707087 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.23.0-py313h585f44e_3.conda - sha256: e747c88492fea02af89ecfd0c861dfce9e4dae2cc7654b1b47149e28020dcaa6 - md5: f18c1c08e948da397136badfa69ad82d +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.23.0-py312h2f459f6_3.conda + sha256: ae6a6f87f27270d3c58c826ba3e344780816793af7586fe7f3fa4d4b07c9e274 + md5: f53fa375c2e4a2e42a64578db302145d depends: - __osx >=10.13 - cffi >=1.11 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/zstandard?source=hash-mapping - size: 648827 - timestamp: 1756075802303 + size: 644204 + timestamp: 1756075773049 - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py313h5ea7bf4_3.conda sha256: fd446ae9142ddcaf123de7997dbded7aee88c333ab4dfd7bf3cfca4c2041aca1 md5: 884170f85de370eb45d5c4edab147861 diff --git a/pyproject.toml b/pyproject.toml index 6dc29f19e..f6e392e0b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ mkdocs = "*" myst-nb = "*" myst-parser = "*" pip = "*" -plotly = ">=5,<6" # Workaround for https://github.com/executablebooks/MyST-NB/issues/667 +plotly = "*" pylatexenc = "*" pylint = "*" pytest = "*" diff --git a/templates/components/cv_compare_table.md b/templates/components/cv_compare_table.md new file mode 100644 index 000000000..c554bbac3 --- /dev/null +++ b/templates/components/cv_compare_table.md @@ -0,0 +1,5 @@ +| Selected | | Substrate | Electrolyte {: .echemdb-expand-column } | Year {: .echemdb-hide-mobile } | Reference {: .echemdb-hide-mobile } | +| -------- | ----- | --------- | ----------- | ---- | --------- | +{% for entry in database %} +| {{entry.identifier}} | [![{{ entry.identifier}}](data:image/png;base64,{{ entry.thumbnail(96, 72) | b64encode }}){: .echemdb-cv-thumbnail }](entries/{{ entry.identifier }}.md) {: .echemdb-middle-cell } | {{ material }}({{ entry.get_electrode('WE').crystallographicOrientation }}) {: .echemdb-middle-cell } | {{ entry.system.electrolyte | render("components/electrolyte.md") }} {: .echemdb-middle-cell } | {{ database.bibliography.entries[entry.source.citationKey].fields['year'] }} {: .echemdb-hide-mobile .echemdb-middle-cell } | [ {{ entry.bibliography.persons['author'][0].last_names[0] | unicode }} ***et. al.*** Fig. {{ entry.source.figure }} ({{ entry.source.curve }})]({{ entry.source.url }}) {: .echemdb-hide-mobile .echemdb-middle-cell } | +{% endfor %} diff --git a/templates/pages/compare.md b/templates/pages/compare.md new file mode 100644 index 000000000..919a96b15 --- /dev/null +++ b/templates/pages/compare.md @@ -0,0 +1,161 @@ +# Cyclic Voltammograms +{{ intro }} +
+Click a graph to add it to the comparison. + + + + + +{{ render("components/cv_compare_table.md", entries_path=entries_path, database=database) }} + + + + + + + + diff --git a/website/filters/render.py b/website/filters/render.py index 0cbabd057..769400857 100644 --- a/website/filters/render.py +++ b/website/filters/render.py @@ -148,5 +148,8 @@ def render_plot(entry): fig.update_yaxes( showline=True, mirror=True, range=(y_min - y_padding, y_max + y_padding) ) - - return fig._repr_html_() # pylint: disable=W0212 + return fig.to_html( + full_html=False, + include_plotlyjs="https://cdn.plot.ly/plotly-3.1.0.min.js", + include_mathjax=False, + ) diff --git a/website/generator/__main__.py b/website/generator/__main__.py index aa5e81244..2ad9e51f6 100644 --- a/website/generator/__main__.py +++ b/website/generator/__main__.py @@ -77,6 +77,18 @@ def main(): ) t_aqueous = time.time() - t_aqueous_start print(f"Generated aqueous overview page in {t_aqueous:.2f} seconds") + + # Create an overview page with tabulated and linked entries for all systems to compare. + with mkdocs_gen_files.open(os.path.join("cv", "compare.md"), "w") as markdown: + markdown.write( + render( + "pages/compare.md", + database=database, + intro="Cyclic voltammograms to compare.", + material_filter=material_filter(), + ) + ) + t_coor_start = time.time() # Create an overview page with tabulated and linked entries for CO oxidation (COOR) in aqueous systems. with mkdocs_gen_files.open( @@ -110,6 +122,7 @@ def main(): material_filter=material_filter(), ) ) + t_ionic_liquid = time.time() - t_ionic_liquid_start print(f"Generated ionic liquid overview page in {t_ionic_liquid:.2f} seconds") diff --git a/website/generator/database.py b/website/generator/database.py index 1f3d4f0e5..ca43c6e10 100644 --- a/website/generator/database.py +++ b/website/generator/database.py @@ -37,11 +37,15 @@ # ******************************************************************** import os +from mkdocs.config import load_config from unitpackage.database.echemdb import Echemdb +config = load_config("mkdocs.yml") + ECHEMDB_DATABASE_URL = os.environ.get( "ECHEMDB_DATABASE_URL", "https://github.com/echemdb/electrochemistry-data/releases/download/0.5.1/data-0.5.1.zip", ) cv = Echemdb.from_remote(url=ECHEMDB_DATABASE_URL) +cv.save_entries(outdir=os.path.join(config["site_dir"], "data"))