diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..887a2c1
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# SCM syntax highlighting & preventing 3-way merges
+pixi.lock merge=binary linguist-language=YAML linguist-generated=true
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 88d12dc..64d27db 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -12,28 +12,20 @@ jobs:
python-version: ["3.9", "3.11", "3.13"]
steps:
- uses: actions/checkout@v3
- - uses: conda-incubator/setup-miniconda@v3.0.4
+ - uses: prefix-dev/setup-pixi@v0.8.3
with:
- miniforge-version: latest
- conda-version: ">=24.11"
- conda-build-version: ">=25.1"
- environment-file: environment.yml
- activate-environment: mkxref-dev
- python-version: ${{ matrix.python-version }}
- condarc-file: github-condarc.yml
- auto-activate-base: true
- use-mamba: false
- - name: Dev install package
- run: |
- conda run -n mkxref-dev pip install -e . --no-deps --no-build-isolation
+ pixi-version: v0.43.3
+ cache: true
+ auth-host: prefix.dev
+ auth-token: ${{ secrets.GITHUB_TOKEN }}
- name: ruff
run: |
- make ruff
+ pixi run ruff
- name: mypy
if: success() || failure()
run: |
- make mypy
+ pixi run mypy
- name: Test with pytest
if: success() || failure()
run: |
- make coverage-test
+ pixi run coverage
diff --git a/.gitignore b/.gitignore
index 7b59b3a..af60d6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,7 @@ conda-meta-data.json
+
+# pixi environments
+.pixi
+*.egg-info
diff --git a/.idea/garpy.mkdocstrings.iml b/.idea/garpy.mkdocstrings.iml
index 2edac60..c97fdb6 100644
--- a/.idea/garpy.mkdocstrings.iml
+++ b/.idea/garpy.mkdocstrings.iml
@@ -6,6 +6,7 @@
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5c9afba..72ea0b9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,29 +1,25 @@
# Contributing to mkdocstrings-python-xref
+This project's environment and developemtn tasks are managed using [pixi]
+(previously it used conda and make).
+
## Prerequisites
-* conda must be installed on your machine
-* make should be installed in your base conda environment
+* [install pixi][pixi-install]
-## Development install
+## Development setup
-To (re)create a conda development environment for this project run:
+To (re)create a pixi development environment for this project, from inside
+the source tree run:
```
-make createdev
-conda activate mkxref-dev
+pixi reinstall
```
-After you have created the environment for the first time, you can configure your IDE
-to use that for this project.
-
-To update the environment after pulling or modifying project dependencies, you can use
-
-```
-make updatedev
-```
+This is actually optional, since pixi will automatically install the
+environment the first time you run a command.
-This is just an optimization. If it does not work (e.g. can happen when switching to an old branch), just use `createdev`.
+See `pixi task list` for a list of available tasks.
## Versioning
@@ -32,3 +28,5 @@ The versions will generally track the version of [mkdocstrings_python][] on whic
[mkdocstrings_python]: https://github.com/mkdocstrings/python
+[pixi]: https://pixi.sh/latest/
+[pixi-install]: https://pixi.sh/latest/installation/
diff --git a/Makefile b/Makefile
index d6128bc..5285d69 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,5 @@
+# This makefile is deprecated!
+
CONDA := conda
ECHO := echo
RM := rm
@@ -32,13 +34,8 @@ SRC_FILES := $(wildcard src/mkdocstrings_handlers/python_xref/*.py) $(PYTHON_VER
# Env names
DEV_ENV := mkxref-dev
-# Whether to run targets in current env or explicitly in $(DEV_ENV)
-CURR_ENV_BASENAME := $(shell basename $(CONDA_PREFIX))
-ifeq ($(CURR_ENV_BASENAME), $(DEV_ENV))
- CONDA_RUN :=
-else
- CONDA_RUN := conda run -n $(DEV_ENV) --no-capture-output
-endif
+PIXI_RUN := pixi run
+CONDA_RUN := $(PIXI_RUN)
# Testing args
PYTEST_ARGS :=
diff --git a/environment.yml b/environment.yml
index 993cf7c..3c8fc6f 100644
--- a/environment.yml
+++ b/environment.yml
@@ -14,7 +14,6 @@ dependencies:
- coverage >=7.4.0
- pytest >=8.2
- pytest-cov >=5.0
- - pylint >=3.0.3
- mypy >=1.10
- ruff >=0.4.10
- beautifulsoup4 >=4.12
@@ -24,4 +23,3 @@ dependencies:
- mkdocs >=1.5.3,<2.0
- mkdocs-material >=9.5.4
- linkchecker >=10.4
- - pydantic >=2.0
diff --git a/pixi.lock b/pixi.lock
new file mode 100644
index 0000000..fc7b8c8
--- /dev/null
+++ b/pixi.lock
@@ -0,0 +1,2352 @@
+version: 6
+environments:
+ default:
+ channels:
+ - url: https://conda.anaconda.org/conda-forge/
+ indexes:
+ - https://pypi.org/simple
+ packages:
+ linux-64:
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/black-25.1.0-py312h7900ff3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.6.15-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.6.15-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.2-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/colorama-0.4.6-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.9.1-py312h178313f_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.5-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/ghp-import-2.1.0-pyhd8ed1ab_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.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.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-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/linux-64/ld_impl_linux-64-2.43-h1423503_5.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.1-hee588c1_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/linkchecker-10.4.0-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mike-2.1.3-pyh29332c3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.2-pyhd8ed1ab_0.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/mkdocs-material-9.6.14-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-0.29.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-1.16.12-pyhff2d567_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.16.0-py312h66e93f0_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.0-h7b32b05_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-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/platformdirs-4.3.8-pyhe01879c_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/psutil-7.0.0-py312h66e93f0_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-25.5.0-pyhe01879c_0.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.19.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.15-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.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.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.2.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.11-h9e4cc4f_0_cpython.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_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/linux-64/readline-8.2-h8c095d6_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.11.13-py312h1d08497_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.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/toml-0.10.2-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2025.5.9.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.0-h32cad80_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.0-pyhe01879c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/verspec-0.1.0-pyh29332c3_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py312h7900ff3_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/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda
+ - pypi: ./
+ osx-arm64:
+ - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-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-arm64/brotli-python-1.1.0-py313h928ef07_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.6.15-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.6.15-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py313hc845a76_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-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/colorama-0.4.6-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.9.1-py313ha9b7d5b_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.5-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/ghp-import-2.1.0-pyhd8ed1ab_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.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.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-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/osx-arm64/libcxx-20.1.7-ha82da77_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h5505292_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.50.1-h3f77e49_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/linkchecker-10.4.0-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py313ha9b7d5b_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mike-2.1.3-pyh29332c3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.2-pyhd8ed1ab_0.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/mkdocs-material-9.6.14-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-0.29.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-1.16.12-pyhff2d567_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.16.0-py313h90d716c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.0-h81ee809_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-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/platformdirs-4.3.8-pyhe01879c_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-arm64/psutil-7.0.0-py313h90d716c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-25.5.0-pyhe01879c_0.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.19.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.15-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.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.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.2.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.5-h81fe080_101_cp313.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-7_cp313.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py313ha9b7d5b_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-arm64/readline-8.2-h1d1bf99_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.11.13-py313h19b3928_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2025.5.9.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.0-h32cad80_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.0-pyhe01879c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/verspec-0.1.0-pyh29332c3_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py313h90d716c_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/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py313h90d716c_2.conda
+ - pypi: ./
+ win-64:
+ - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-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/win-64/brotli-python-1.1.0-py313h5813708_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.6.15-h4c7d964_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.6.15-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.9.1-py313hb4c8b1a_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.5-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/ghp-import-2.1.0-pyhd8ed1ab_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.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.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-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/win-64/libexpat-2.7.0-he0c23c2_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.50.1-h67fdade_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/linkchecker-10.4.0-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.8-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py313hb4c8b1a_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mike-2.1.3-pyh29332c3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.2-pyhd8ed1ab_0.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/mkdocs-material-9.6.14-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-0.29.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-1.16.12-pyhff2d567_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.16.0-py313ha7868ed_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.5.0-ha4e3fda_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-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/platformdirs-4.3.8-pyhe01879c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.0.0-py313ha7868ed_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-25.5.0-pyhe01879c_0.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.19.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.15-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.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.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.2.1-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.5-h261c0b1_101_cp313.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-7_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/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/noarch/requests-2.32.4-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.11.13-py313h784dc11_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.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/toml-0.10.2-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2025.5.9.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.0-h32cad80_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.0-pyhe01879c_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
+ - 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.4.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_26.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/verspec-0.1.0-pyh29332c3_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_26.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py313hfa70ccb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2
+ - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py313ha7868ed_2.conda
+ - pypi: ./
+packages:
+- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
+ md5: d7c89558ba9fa0495403155b64376d81
+ license: None
+ purls: []
+ size: 2562
+ timestamp: 1578324546067
+- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ build_number: 16
+ sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
+ md5: 73aaf86a425cc6e73fcf236a5a46396d
+ depends:
+ - _libgcc_mutex 0.1 conda_forge
+ - libgomp >=7.5.0
+ constrains:
+ - openmp_impl 9999
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 23621
+ timestamp: 1650670423406
+- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda
+ sha256: 1c656a35800b7f57f7371605bc6507c8d3ad60fbaaec65876fce7f73df1fc8ac
+ md5: 0a01c169f0ab0f91b26e77a3301fbfe4
+ depends:
+ - python >=3.9
+ - pytz >=2015.7
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/babel?source=compressed-mapping
+ size: 6938256
+ timestamp: 1738490268466
+- conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda
+ sha256: 3a0af23d357a07154645c41d035a4efbd15b7a642db397fa9ea0193fd58ae282
+ md5: b16e2595d3a9042aa9d570375978835f
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/backrefs?source=hash-mapping
+ size: 143810
+ timestamp: 1740887689966
+- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-pyha770c72_0.conda
+ sha256: ddb0df12fd30b2d36272f5daf6b6251c7625d6a99414d7ea930005bbaecad06d
+ md5: 9f07c4fc992adb2d6c30da7fab3959a7
+ depends:
+ - python >=3.9
+ - soupsieve >=1.2
+ - typing-extensions
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/beautifulsoup4?source=compressed-mapping
+ size: 146613
+ timestamp: 1744783307123
+- conda: https://conda.anaconda.org/conda-forge/linux-64/black-25.1.0-py312h7900ff3_0.conda
+ sha256: a115a0984455ee031ac90fc533ab719fd5f5e3803930ccf0a934fb7416d568ef
+ md5: 986a60de52eec10b36c61bb3890858ff
+ 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: 394760
+ timestamp: 1738616131766
+- conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda
+ sha256: c68f110cd491dc839a69e340930862e54c00fb02cede5f1831fcf8a253bd68d2
+ md5: b9b0c42e7316aa6043bdfd49883955b8
+ depends:
+ - click >=8.0.0
+ - mypy_extensions >=0.4.3
+ - packaging >=22.0
+ - pathspec >=0.9
+ - platformdirs >=2
+ - python >=3.11
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/black?source=hash-mapping
+ size: 172678
+ timestamp: 1742502887437
+- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_3.conda
+ sha256: dc27c58dc717b456eee2d57d8bc71df3f562ee49368a2351103bc8f1b67da251
+ md5: a32e0c069f6c3dcac635f7b0b0dac67e
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - libstdcxx >=13
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ constrains:
+ - libbrotlicommon 1.1.0 hb9d3cd8_3
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/brotli?source=compressed-mapping
+ size: 351721
+ timestamp: 1749230265727
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py313h928ef07_3.conda
+ sha256: 0f2f3c7b3f6a19a27b2878b58bfd16af69cea90d0d3052a2a0b4e0a2cbede8f9
+ md5: 3030bcec50cc407b596f9311eeaa611f
+ depends:
+ - __osx >=11.0
+ - libcxx >=18
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ constrains:
+ - libbrotlicommon 1.1.0 h5505292_3
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/brotli?source=hash-mapping
+ size: 338938
+ timestamp: 1749230456550
+- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py313h5813708_3.conda
+ sha256: 152e1f4bb8076b4f37a70e80dcd457a50e14e0bd5501351cd0fc602c5ef782a5
+ md5: a25f98cfd4eb1ac26325c1869f11edf5
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ constrains:
+ - libbrotlicommon 1.1.0 h2466b09_3
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/brotli?source=compressed-mapping
+ size: 321652
+ timestamp: 1749231335599
+- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
+ sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d
+ md5: 62ee74e96c5ebb0af99386de58cf9553
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc-ng >=12
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ size: 252783
+ timestamp: 1720974456583
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
+ sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
+ md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
+ depends:
+ - __osx >=11.0
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ size: 122909
+ timestamp: 1720974522888
+- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda
+ sha256: 35a5dad92e88fdd7fc405e864ec239486f4f31eec229e31686e61a140a8e573b
+ md5: 276e7ffe9ffe39688abc665ef0f45596
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ size: 54927
+ timestamp: 1720974860185
+- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.6.15-h4c7d964_0.conda
+ sha256: 065241ba03ef3ee8200084c075cbff50955a7e711765395ff34876dbc51a6bb9
+ md5: b01649832f7bc7ff94f8df8bd2ee6457
+ depends:
+ - __win
+ license: ISC
+ purls: []
+ size: 151351
+ timestamp: 1749990170707
+- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.6.15-hbd8a1cb_0.conda
+ sha256: 7cfec9804c84844ea544d98bda1d9121672b66ff7149141b8415ca42dfcd44f6
+ md5: 72525f07d72806e3b639ad4504c30ce5
+ depends:
+ - __unix
+ license: ISC
+ purls: []
+ size: 151069
+ timestamp: 1749990087500
+- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.6.15-pyhd8ed1ab_0.conda
+ sha256: d71c85835813072cd6d7ce4b24be34215cd90c104785b15a5d58f4cd0cb50778
+ md5: 781d068df0cc2407d4db0ecfbb29225b
+ depends:
+ - python >=3.9
+ license: ISC
+ purls:
+ - pkg:pypi/certifi?source=hash-mapping
+ size: 155377
+ timestamp: 1749972291158
+- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda
+ sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457
+ md5: a861504bbea4161a9170b85d4d2be840
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libffi >=3.4,<4.0a0
+ - libgcc >=13
+ - pycparser
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/cffi?source=hash-mapping
+ size: 294403
+ timestamp: 1725560714366
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py313hc845a76_0.conda
+ sha256: 50650dfa70ccf12b9c4a117d7ef0b41895815bb7328d830d667a6ba3525b60e8
+ md5: 6d24d5587a8615db33c961a4ca0a8034
+ depends:
+ - __osx >=11.0
+ - libffi >=3.4,<4.0a0
+ - pycparser
+ - python >=3.13.0rc1,<3.14.0a0
+ - python >=3.13.0rc1,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/cffi?source=hash-mapping
+ size: 282115
+ timestamp: 1725560759157
+- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py313ha7868ed_0.conda
+ sha256: b19f581fe423858f1f477c52e10978be324c55ebf2e418308d30d013f4a476ff
+ md5: 519a29d7ac273f8c165efc0af099da42
+ depends:
+ - pycparser
+ - python >=3.13.0rc1,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/cffi?source=hash-mapping
+ size: 291828
+ timestamp: 1725561211547
+- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-pyhd8ed1ab_0.conda
+ sha256: 535ae5dcda8022e31c6dc063eb344c80804c537a5a04afba43a845fa6fa130f5
+ md5: 40fe4284b8b5835a9073a645139f35af
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/charset-normalizer?source=hash-mapping
+ size: 50481
+ timestamp: 1746214981991
+- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda
+ sha256: 8aee789c82d8fdd997840c952a586db63c6890b00e88c4fb6e80a38edd5f51c0
+ md5: 94b550b8d3a614dbd326af798c7dfb40
+ depends:
+ - __unix
+ - python >=3.10
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/click?source=hash-mapping
+ size: 87749
+ timestamp: 1747811451319
+- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda
+ sha256: 20c2d8ea3d800485245b586a28985cba281dd6761113a49d7576f6db92a0a891
+ md5: 3a59475037bc09da916e4062c5cad771
+ depends:
+ - __win
+ - colorama
+ - python >=3.10
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/click?source=compressed-mapping
+ size: 88117
+ timestamp: 1747811467132
+- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda
+ sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287
+ md5: 962b9857ee8e7018c22f2776ffa0b2d7
+ depends:
+ - python >=3.9
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/colorama?source=hash-mapping
+ size: 27011
+ timestamp: 1733218222191
+- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.9.1-py312h178313f_0.conda
+ sha256: bef32c5830b7701705660ef18d5d6ad7c597ebab196954c012e8a1cb4af0d3bc
+ md5: 4c18b79fa2a3371557ed3663876e5dcc
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ - tomli
+ license: Apache-2.0
+ purls:
+ - pkg:pypi/coverage?source=hash-mapping
+ size: 371371
+ timestamp: 1749833562595
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.9.1-py313ha9b7d5b_0.conda
+ sha256: 1c7ce80d0dd114744b00c962f189b3e437e34f6a5699ee8316d84fd4d8c9f2e6
+ md5: bf5f193d77ff3d2372c6e678e4711e59
+ depends:
+ - __osx >=11.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ - tomli
+ license: Apache-2.0
+ purls:
+ - pkg:pypi/coverage?source=compressed-mapping
+ size: 380492
+ timestamp: 1749833499891
+- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.9.1-py313hb4c8b1a_0.conda
+ sha256: d58320b827b6428d090d966f40802a3793d10b0e6b79f5e116c98421a4365735
+ md5: 1c4e3215bb5f74caf6653bb802d3fc02
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - tomli
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: Apache-2.0
+ purls:
+ - pkg:pypi/coverage?source=hash-mapping
+ size: 405028
+ timestamp: 1749833588845
+- conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_1.conda
+ sha256: 3ec40ccf63f2450c5e6c7dd579e42fc2e97caf0d8cd4ba24aa434e6fc264eda0
+ md5: 5fbd60d61d21b4bd2f9d7a48fe100418
+ depends:
+ - python >=3.9,<4.0.0
+ - sniffio
+ constrains:
+ - aioquic >=1.0.0
+ - wmi >=1.5.1
+ - httpx >=0.26.0
+ - trio >=0.23
+ - cryptography >=43
+ - httpcore >=1.0.0
+ - idna >=3.7
+ - h2 >=4.1.0
+ license: ISC
+ license_family: OTHER
+ purls:
+ - pkg:pypi/dnspython?source=hash-mapping
+ size: 172172
+ timestamp: 1733256829961
+- conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.5-pyhd8ed1ab_1.conda
+ sha256: 8d4f908e670be360617d418c328213bc46e7100154c3742db085148141712f60
+ md5: 2cf824fe702d88e641eec9f9f653e170
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/editables?source=hash-mapping
+ size: 10828
+ timestamp: 1733208220327
+- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda
+ sha256: ce61f4f99401a4bd455b89909153b40b9c823276aefcbb06f2044618696009ca
+ md5: 72e42d28960d875c7654614f8b50939a
+ depends:
+ - python >=3.9
+ - typing_extensions >=4.6.0
+ license: MIT and PSF-2.0
+ purls:
+ - pkg:pypi/exceptiongroup?source=compressed-mapping
+ size: 21284
+ timestamp: 1746947398083
+- conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda
+ sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15
+ md5: 93f742fe078a7b34c29a182958d4d765
+ depends:
+ - python >=3.9
+ - python-dateutil >=2.8.1
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/ghp-import?source=hash-mapping
+ size: 16538
+ timestamp: 1734344477841
+- conda: https://conda.anaconda.org/conda-forge/noarch/griffe-1.7.3-pyhd8ed1ab_0.conda
+ sha256: c1e4039c9b6d613e8e9feafa21fae58db5eebeaa5f8bece5d8610154ae6ebf80
+ md5: aafe052f140a58b1afaf8ab473f5ac0d
+ depends:
+ - colorama >=0.4
+ - python >=3.9
+ license: ISC
+ purls:
+ - pkg:pypi/griffe?source=compressed-mapping
+ size: 99814
+ timestamp: 1745436578592
+- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda
+ sha256: 0aa1cdc67a9fe75ea95b5644b734a756200d6ec9d0dff66530aec3d1c1e9df75
+ md5: b4754fb1bdcb70c8fd54f918301582c6
+ depends:
+ - hpack >=4.1,<5
+ - hyperframe >=6.1,<7
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/h2?source=hash-mapping
+ size: 53888
+ timestamp: 1738578623567
+- conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.27.0-pypyhd8ed1ab_0.conda
+ sha256: e83420f81390535774ac33b83d05249b8993e5376b76b4d461f83a77549e493d
+ md5: b85c18ba6e927ae0da3fde426c893cc8
+ depends:
+ - editables >=0.3
+ - importlib-metadata
+ - packaging >=21.3
+ - pathspec >=0.10.1
+ - pluggy >=1.0.0
+ - python >=3.7
+ - python >=3.8
+ - tomli >=1.2.2
+ - trove-classifiers
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/hatchling?source=hash-mapping
+ size: 56598
+ timestamp: 1734311718682
+- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda
+ sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba
+ md5: 0a802cb9888dd14eeefc611f05c40b6e
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/hpack?source=hash-mapping
+ size: 30731
+ timestamp: 1737618390337
+- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda
+ sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8
+ md5: 8e6923fc12f1fe8f8c4e5c9f343256ac
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/hyperframe?source=hash-mapping
+ size: 17397
+ timestamp: 1737618427549
+- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda
+ sha256: d7a472c9fd479e2e8dcb83fb8d433fce971ea369d704ece380e876f9c3494e87
+ md5: 39a4f67be3286c86d696df570b1201b7
+ depends:
+ - python >=3.9
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/idna?source=hash-mapping
+ size: 49765
+ timestamp: 1733211921194
+- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda
+ sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745
+ md5: 63ccfdc3a3ce25b027b8767eb722fca8
+ depends:
+ - python >=3.9
+ - zipp >=3.20
+ - python
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/importlib-metadata?source=hash-mapping
+ size: 34641
+ timestamp: 1747934053147
+- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda
+ sha256: a99a3dafdfff2bb648d2b10637c704400295cb2ba6dc929e2d814870cf9f6ae5
+ md5: e376ea42e9ae40f3278b0f79c9bf9826
+ depends:
+ - importlib_resources >=6.5.2,<6.5.3.0a0
+ - python >=3.9
+ license: Apache-2.0
+ license_family: APACHE
+ purls: []
+ size: 9724
+ timestamp: 1736252443859
+- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda
+ sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80
+ md5: c85c76dc67d75619a92f51dfbce06992
+ depends:
+ - python >=3.9
+ - zipp >=3.1.0
+ constrains:
+ - importlib-resources >=6.5.2,<6.5.3.0a0
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/importlib-resources?source=hash-mapping
+ size: 33781
+ timestamp: 1736252433366
+- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda
+ sha256: 0ec8f4d02053cd03b0f3e63168316530949484f80e16f5e2fb199a1d117a89ca
+ md5: 6837f3eff7dcea42ecd714ce1ac2b108
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/iniconfig?source=hash-mapping
+ size: 11474
+ timestamp: 1733223232820
+- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda
+ sha256: f1ac18b11637ddadc05642e8185a851c7fab5998c6f5470d716812fae943b2af
+ md5: 446bd6c8cb26050d528881df495ce646
+ depends:
+ - markupsafe >=2.0
+ - python >=3.9
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/jinja2?source=compressed-mapping
+ size: 112714
+ timestamp: 1741263433881
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h1423503_5.conda
+ sha256: dcd2b1a065bbf5c54004ddf6551c775a8eb6993c8298ca8a6b92041ed413f785
+ md5: 6dc9e1305e7d3129af4ad0dabda30e56
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ constrains:
+ - binutils_impl_linux-64 2.43
+ license: GPL-3.0-only
+ purls: []
+ size: 670635
+ timestamp: 1749858327854
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.7-ha82da77_0.conda
+ sha256: a3fd34773f1252a4f089e74a075ff5f0f6b878aede097e83a405f35687c36f24
+ md5: 881de227abdddbe596239fa9e82eb3ab
+ depends:
+ - __osx >=11.0
+ license: Apache-2.0 WITH LLVM-exception
+ license_family: Apache
+ purls: []
+ size: 567189
+ timestamp: 1749847129529
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda
+ sha256: 33ab03438aee65d6aa667cf7d90c91e5e7d734c19a67aa4c7040742c0a13d505
+ md5: db0bfbe7dd197b68ad5f30333bae6ce0
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ constrains:
+ - expat 2.7.0.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 74427
+ timestamp: 1743431794976
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda
+ sha256: ee550e44765a7bbcb2a0216c063dcd53ac914a7be5386dd0554bd06e6be61840
+ md5: 6934bbb74380e045741eb8637641a65b
+ depends:
+ - __osx >=11.0
+ constrains:
+ - expat 2.7.0.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 65714
+ timestamp: 1743431789879
+- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.0-he0c23c2_0.conda
+ sha256: 1a227c094a4e06bd54e8c2f3ec40c17ff99dcf3037d812294f842210aa66dbeb
+ md5: b6f5352fdb525662f4169a0431d2dd7a
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ constrains:
+ - expat 2.7.0.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 140896
+ timestamp: 1743432122520
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda
+ sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab
+ md5: ede4673863426c0883c0063d853bbd85
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 57433
+ timestamp: 1743434498161
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda
+ sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60
+ md5: c215a60c2935b517dcda8cad4705734d
+ depends:
+ - __osx >=11.0
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 39839
+ timestamp: 1743434670405
+- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda
+ sha256: d3b0b8812eab553d3464bbd68204f007f1ebadf96ce30eb0cbc5159f72e353f5
+ md5: 85d8fa5e55ed8f93f874b3b23ed54ec6
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 44978
+ timestamp: 1743435053850
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_2.conda
+ sha256: 0024f9ab34c09629621aefd8603ef77bf9d708129b0dd79029e502c39ffc2195
+ md5: ea8ac52380885ed41c1baa8f1d6d2b93
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - _openmp_mutex >=4.5
+ constrains:
+ - libgcc-ng ==15.1.0=*_2
+ - libgomp 15.1.0 h767d61c_2
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ size: 829108
+ timestamp: 1746642191935
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_2.conda
+ sha256: 0ab5421a89f090f3aa33841036bb3af4ed85e1f91315b528a9d75fab9aad51ae
+ md5: ddca86c7040dd0e73b2b69bd7833d225
+ depends:
+ - libgcc 15.1.0 h767d61c_2
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ size: 34586
+ timestamp: 1746642200749
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_2.conda
+ sha256: 05fff3dc7e80579bc28de13b511baec281c4343d703c406aefd54389959154fb
+ md5: fbe7d535ff9d3a168c148e07358cd5b1
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ size: 452635
+ timestamp: 1746642113092
+- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda
+ sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8
+ md5: 1a580f7796c7bf6393fddb8bbbde58dc
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ constrains:
+ - xz 5.8.1.*
+ license: 0BSD
+ purls: []
+ size: 112894
+ timestamp: 1749230047870
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda
+ sha256: 0cb92a9e026e7bd4842f410a5c5c665c89b2eb97794ffddba519a626b8ce7285
+ md5: d6df911d4564d77c4374b02552cb17d1
+ depends:
+ - __osx >=11.0
+ constrains:
+ - xz 5.8.1.*
+ license: 0BSD
+ purls: []
+ size: 92286
+ timestamp: 1749230283517
+- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda
+ sha256: 55764956eb9179b98de7cc0e55696f2eff8f7b83fc3ebff5e696ca358bca28cc
+ md5: c15148b2e18da456f5108ccb5e411446
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ constrains:
+ - xz 5.8.1.*
+ license: 0BSD
+ purls: []
+ size: 104935
+ timestamp: 1749230611612
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h5505292_0.conda
+ sha256: 0a1875fc1642324ebd6c4ac864604f3f18f57fbcf558a8264f6ced028a3c75b2
+ md5: 85ccccb47823dd9f7a99d2c7f530342f
+ depends:
+ - __osx >=11.0
+ license: BSD-2-Clause
+ license_family: BSD
+ purls: []
+ size: 71829
+ timestamp: 1748393749336
+- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda
+ sha256: fc529fc82c7caf51202cc5cec5bb1c2e8d90edbac6d0a4602c966366efe3c7bf
+ md5: 74860100b2029e2523cf480804c76b9b
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: BSD-2-Clause
+ license_family: BSD
+ purls: []
+ size: 88657
+ timestamp: 1723861474602
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6
+ md5: 30fd6e37fe21f86f4bd26d6ee73eeec7
+ depends:
+ - libgcc-ng >=12
+ license: LGPL-2.1-only
+ license_family: GPL
+ purls: []
+ size: 33408
+ timestamp: 1697359010159
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.1-hee588c1_0.conda
+ sha256: cd15ab1b9f0d53507e7ad7a01e52f6756ab3080bf623ab0e438973b6e4dba3c0
+ md5: 96a7e36bff29f1d0ddf5b771e0da373a
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - libzlib >=1.3.1,<2.0a0
+ license: Unlicense
+ purls: []
+ size: 919819
+ timestamp: 1749232795476
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.50.1-h3f77e49_0.conda
+ sha256: f39e22a00396c048dcfcb5d8c9dbedb2d69f06edcd8dba98b87f263eeb6d2049
+ md5: 73df23998b27dd6774d03db626d031d3
+ depends:
+ - __osx >=11.0
+ - libzlib >=1.3.1,<2.0a0
+ license: Unlicense
+ purls: []
+ size: 901258
+ timestamp: 1749232800279
+- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.50.1-h67fdade_0.conda
+ sha256: 0dda5b3f21ad2c7e823f21b0e173194347fbfccb73a06ddc9366da1877020bda
+ md5: 0e11a893eeeb46510520fd3fdd9c346a
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: Unlicense
+ purls: []
+ size: 1082758
+ timestamp: 1749233212790
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_2.conda
+ sha256: 6ae3d153e78f6069d503d9309f2cac6de5b93d067fc6433160a4c05226a5dad4
+ md5: 1cb1c67961f6dd257eae9e9691b341aa
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc 15.1.0 h767d61c_2
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ size: 3902355
+ timestamp: 1746642227493
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
+ md5: 40b61aab5c7ba9ff276c41cfffe6b80b
+ depends:
+ - libgcc-ng >=12
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 33601
+ timestamp: 1680112270483
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ depends:
+ - libgcc-ng >=12
+ license: LGPL-2.1-or-later
+ purls: []
+ size: 100393
+ timestamp: 1702724383534
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
+ sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4
+ md5: edb0dca6bc32e4f4789199455a1dbeb8
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ constrains:
+ - zlib 1.3.1 *_2
+ license: Zlib
+ license_family: Other
+ purls: []
+ size: 60963
+ timestamp: 1727963148474
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
+ sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b
+ md5: 369964e85dc26bfe78f41399b366c435
+ depends:
+ - __osx >=11.0
+ constrains:
+ - zlib 1.3.1 *_2
+ license: Zlib
+ license_family: Other
+ purls: []
+ size: 46438
+ timestamp: 1727963202283
+- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda
+ sha256: ba945c6493449bed0e6e29883c4943817f7c79cbff52b83360f7b341277c6402
+ md5: 41fbfac52c601159df6c01f875de31b9
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ constrains:
+ - zlib 1.3.1 *_2
+ license: Zlib
+ license_family: Other
+ purls: []
+ size: 55476
+ timestamp: 1727963768015
+- conda: https://conda.anaconda.org/conda-forge/noarch/linkchecker-10.4.0-pyhd8ed1ab_1.conda
+ sha256: d6570cf8d75898cb5f892817003fd97f9e936baccc1ad96d63c0f0a889d90bb8
+ md5: 06f91f94ac8df0db4d9adc135deb6bc2
+ depends:
+ - beautifulsoup4 >=4.8.1
+ - dnspython >=2.0
+ - python >=3.9
+ - requests >=2.4
+ license: GPL-2.0-or-later
+ license_family: GPL
+ purls:
+ - pkg:pypi/linkchecker?source=hash-mapping
+ size: 168241
+ timestamp: 1737935506411
+- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.8-pyhd8ed1ab_0.conda
+ sha256: 04c3f45b1390ee24d3c088d3dbaa20473311d99e1c3ba73099efdf91e2ae2bd3
+ md5: 016103aab3842859e6702d7f8bbb0a54
+ depends:
+ - importlib-metadata >=4.4
+ - python >=3.9
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/markdown?source=hash-mapping
+ size: 80015
+ timestamp: 1744984620627
+- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda
+ sha256: 4a6bf68d2a2b669fecc9a4a009abd1cf8e72c2289522ff00d81b5a6e51ae78f5
+ md5: eb227c3e0bf58f5bd69c0532b157975b
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - 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: 24604
+ timestamp: 1733219911494
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py313ha9b7d5b_1.conda
+ sha256: 81759af8a9872c8926af3aa59dc4986eee90a0956d1ec820b42ac4f949a71211
+ md5: 3acf05d8e42ff0d99820d2d889776fff
+ depends:
+ - __osx >=11.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ constrains:
+ - jinja2 >=3.0.0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/markupsafe?source=hash-mapping
+ size: 24757
+ timestamp: 1733219916634
+- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py313hb4c8b1a_1.conda
+ sha256: f16cb398915f52d582bcea69a16cf69a56dab6ea2fab6f069da9c2c10f09534c
+ md5: ec9ecf6ee4cceb73a0c9a8cdfdf58bed
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ constrains:
+ - jinja2 >=3.0.0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/markupsafe?source=hash-mapping
+ size: 27930
+ timestamp: 1733220059655
+- conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda
+ sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d
+ md5: d9a8fc1f01deae61735c88ec242e855c
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mergedeep?source=hash-mapping
+ size: 11676
+ timestamp: 1734157119152
+- conda: https://conda.anaconda.org/conda-forge/noarch/mike-2.1.3-pyh29332c3_0.conda
+ sha256: 0f9ce5712d30f447524fb5a8d8a33337f6544a6cacad295935ea1f51a8d59e4e
+ md5: 13c7fd10f5bb25cf02cd7798ea02ee37
+ depends:
+ - python >=3.9
+ - jinja2 >=2.7
+ - mkdocs >=1.0
+ - pyparsing >=3.0
+ - pyaml >=5.1
+ - verspec
+ - pyyaml-env-tag
+ - importlib-resources
+ - importlib-metadata
+ - python
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/mike?source=hash-mapping
+ size: 32866
+ timestamp: 1736381474362
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda
+ sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35
+ md5: 14661160be39d78f2b210f2cc2766059
+ depends:
+ - click >=7.0
+ - colorama >=0.4
+ - ghp-import >=1.0
+ - importlib-metadata >=4.4
+ - jinja2 >=2.11.1
+ - markdown >=3.3.6
+ - markupsafe >=2.0.1
+ - mergedeep >=1.3.4
+ - mkdocs-get-deps >=0.2.0
+ - packaging >=20.5
+ - pathspec >=0.11.1
+ - python >=3.9
+ - pyyaml >=5.1
+ - pyyaml-env-tag >=0.1
+ - watchdog >=2.0
+ constrains:
+ - babel >=2.9.0
+ license: BSD-2-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/mkdocs?source=hash-mapping
+ size: 3524754
+ timestamp: 1734344673481
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.2-pyhd8ed1ab_0.conda
+ sha256: ed8d25452bd4211a719183c73ef970a54f239d8224125937294396c09fad48ea
+ md5: d4468440b32d63e082e0d6c335b19a70
+ depends:
+ - markdown >=3.3
+ - markupsafe >=2.0.1
+ - mkdocs >=1.1
+ - pymdown-extensions
+ - python >=3.9
+ license: ISC
+ purls:
+ - pkg:pypi/mkdocs-autorefs?source=hash-mapping
+ size: 34912
+ timestamp: 1747758093008
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda
+ sha256: e0b501b96f7e393757fb2a61d042015966f6c5e9ac825925e43f9a6eafa907b6
+ md5: 84382acddb26c27c70f2de8d4c830830
+ depends:
+ - importlib-metadata >=4.3
+ - mergedeep >=1.3.4
+ - platformdirs >=2.2.0
+ - python >=3.9
+ - pyyaml >=5.1
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mkdocs-get-deps?source=hash-mapping
+ size: 14757
+ timestamp: 1734353035244
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.14-pyhd8ed1ab_0.conda
+ sha256: 3e07277687f69476e1a94c361e07bcd3e9584e6364be4db1d03445e12f01fcae
+ md5: 85d4435caf917482a0005d143c4a6d31
+ depends:
+ - babel >=2.10,<3.dev0
+ - backrefs >=5.7.post1,<6.dev0
+ - colorama >=0.4,<1.dev0
+ - jinja2 >=3.0,<4.dev0
+ - markdown >=3.2,<4.dev0
+ - mkdocs >=1.6,<2.dev0
+ - mkdocs-material-extensions >=1.3,<2.dev0
+ - paginate >=0.5,<1.dev0
+ - pygments >=2.16,<3.dev0
+ - pymdown-extensions >=10.2,<11.dev0
+ - python >=3.9
+ - requests >=2.26,<3.dev0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mkdocs-material?source=hash-mapping
+ size: 4922259
+ timestamp: 1747168634333
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda
+ sha256: f62955d40926770ab65cc54f7db5fde6c073a3ba36a0787a7a5767017da50aa3
+ md5: de8af4000a4872e16fb784c649679c8e
+ depends:
+ - python >=3.9
+ constrains:
+ - mkdocs-material >=5.0.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mkdocs-material-extensions?source=hash-mapping
+ size: 16122
+ timestamp: 1734641109286
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-0.29.1-pyhd8ed1ab_0.conda
+ sha256: 95399acb1d0d6bb501cc453d1672d1f52b9d44cdfd35f99d5126c57141d1fc18
+ md5: 557c801bbd4820a59c8bd145ef6d0cfe
+ depends:
+ - click >=7.0
+ - importlib-metadata >=4.6
+ - jinja2 >=2.11.1
+ - markdown >=3.6
+ - markupsafe >=1.1
+ - mkdocs >=1.6
+ - mkdocs-autorefs >=1.4
+ - pymdown-extensions >=6.3
+ - python >=3.9,<4.0
+ - typing-extensions >=4.1
+ license: ISC
+ purls:
+ - pkg:pypi/mkdocstrings?source=hash-mapping
+ size: 728508
+ timestamp: 1743418701458
+- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-1.16.12-pyhff2d567_0.conda
+ sha256: f07f4a42bb13378305f2702905d35099838de83a235880017d1ae3a0fd401772
+ md5: 6c3977dafc75737777349db98cd22d5e
+ depends:
+ - griffe >=1.6.2
+ - mkdocs-autorefs >=1.4
+ - mkdocstrings >=0.28.3
+ - python >=3.9
+ - typing_extensions >=4.0
+ license: ISC
+ purls:
+ - pkg:pypi/mkdocstrings-python?source=hash-mapping
+ size: 58361
+ timestamp: 1748965218001
+- pypi: ./
+ name: mkdocstrings-python-xref
+ version: 1.16.3
+ sha256: 9fd9bfdbdc52b86f7b9f38b98ba2a818fdcbfffd1a7fa34e6ad7f277f09b8080
+ requires_dist:
+ - griffe>=1.0
+ - mkdocstrings-python>=1.16.6,<2.0
+ - beautifulsoup4>=4.12 ; extra == 'dev'
+ - black>=23.12 ; extra == 'dev'
+ - build>=1.0.0 ; extra == 'dev'
+ - coverage>=7.4.0 ; extra == 'dev'
+ - hatchling>=1.21 ; extra == 'dev'
+ - linkchecker>=10.4 ; extra == 'dev'
+ - mike>=1.1 ; extra == 'dev'
+ - mkdocs-material>=9.5.4 ; extra == 'dev'
+ - mkdocs>=1.5.3,<2.0 ; extra == 'dev'
+ - mypy>=1.10 ; extra == 'dev'
+ - pytest-cov>=5.0 ; extra == 'dev'
+ - pytest>=8.2 ; extra == 'dev'
+ - ruff>=0.4.10 ; extra == 'dev'
+ requires_python: '>=3.9'
+ editable: true
+- conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.16.0-py312h66e93f0_0.conda
+ sha256: 2a1d7b66b6abf0d2b72ae881612f60c5953244eaa3a2326f07dc0e176b432531
+ md5: af65ec3f748ca1e4c4bec26e2844f7e3
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - mypy_extensions >=1.0.0
+ - pathspec >=0.9.0
+ - psutil >=4.0
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ - typing_extensions >=4.6.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mypy?source=hash-mapping
+ size: 18824892
+ timestamp: 1748547279249
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.16.0-py313h90d716c_0.conda
+ sha256: a37d65ad2e837bc86eff91a0bf15ea86d6d64d7bb52dbf2720334314563cae50
+ md5: 4946c89919f258c1aad6000225b729a6
+ depends:
+ - __osx >=11.0
+ - mypy_extensions >=1.0.0
+ - pathspec >=0.9.0
+ - psutil >=4.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ - typing_extensions >=4.6.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mypy?source=compressed-mapping
+ size: 10453519
+ timestamp: 1748547483049
+- conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.16.0-py313ha7868ed_0.conda
+ sha256: 96f238306b14960b379570a209a864f448869b0c19a52b7ac5ac37d07c8ae797
+ md5: ae82bb456e3d670e21deac8b067fdc45
+ depends:
+ - mypy_extensions >=1.0.0
+ - pathspec >=0.9.0
+ - psutil >=4.0
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - typing_extensions >=4.6.0
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mypy?source=hash-mapping
+ size: 8496738
+ timestamp: 1748547465206
+- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda
+ sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1
+ md5: e9c622e0d00fa24a6292279af3ab6d06
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/mypy-extensions?source=hash-mapping
+ size: 11766
+ timestamp: 1745776666688
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
+ sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586
+ md5: 47e340acb35de30501a76c7c799c41d7
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ license: X11 AND BSD-3-Clause
+ purls: []
+ size: 891641
+ timestamp: 1738195959188
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
+ sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733
+ md5: 068d497125e4bf8a66bf707254fff5ae
+ depends:
+ - __osx >=11.0
+ license: X11 AND BSD-3-Clause
+ purls: []
+ size: 797030
+ timestamp: 1738196177597
+- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.0-h7b32b05_1.conda
+ sha256: b4491077c494dbf0b5eaa6d87738c22f2154e9277e5293175ec187634bd808a0
+ md5: de356753cfdbffcde5bb1e86e3aa6cd0
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - ca-certificates
+ - libgcc >=13
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ size: 3117410
+ timestamp: 1746223723843
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.0-h81ee809_1.conda
+ sha256: 73d366c1597a10bcd5f3604b5f0734b31c23225536e03782c6a13f9be9d01bff
+ md5: 5c7aef00ef60738a14e0e612cfc5bcde
+ depends:
+ - __osx >=11.0
+ - ca-certificates
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ size: 3064197
+ timestamp: 1746223530698
+- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.5.0-ha4e3fda_1.conda
+ sha256: 02846553d2a4c9bde850c60824d0f02803eb9c9b674d5c1a8cce25bc387e748f
+ md5: 72c07e46b6766bb057018a9a74861b89
+ depends:
+ - ca-certificates
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ size: 9025176
+ timestamp: 1746227349882
+- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda
+ sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991
+ md5: 58335b26c38bf4a20f399384c33cbcf9
+ depends:
+ - python >=3.8
+ - python
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/packaging?source=compressed-mapping
+ size: 62477
+ timestamp: 1745345660407
+- conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda
+ sha256: f6fef1b43b0d3d92476e1870c08d7b9c229aebab9a0556b073a5e1641cf453bd
+ md5: c3f35453097faf911fd3f6023fc2ab24
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/paginate?source=hash-mapping
+ size: 18865
+ timestamp: 1734618649164
+- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda
+ sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee
+ md5: 617f15191456cc6a13db418a275435e5
+ depends:
+ - python >=3.9
+ license: MPL-2.0
+ license_family: MOZILLA
+ purls:
+ - pkg:pypi/pathspec?source=hash-mapping
+ size: 41075
+ timestamp: 1733233471940
+- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda
+ sha256: 0f48999a28019c329cd3f6fd2f01f09fc32cc832f7d6bbe38087ddac858feaa3
+ md5: 424844562f5d337077b445ec6b1398a7
+ depends:
+ - python >=3.9
+ - python
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/platformdirs?source=hash-mapping
+ size: 23531
+ timestamp: 1746710438805
+- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda
+ sha256: a8eb555eef5063bbb7ba06a379fa7ea714f57d9741fe0efdb9442dbbc2cccbcc
+ md5: 7da7ccd349dbf6487a7778579d2bb971
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pluggy?source=compressed-mapping
+ size: 24246
+ timestamp: 1747339794916
+- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py312h66e93f0_0.conda
+ sha256: 158047d7a80e588c846437566d0df64cec5b0284c7184ceb4f3c540271406888
+ md5: 8e30db4239508a538e4a3b3cdf5b9616
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - 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: 466219
+ timestamp: 1740663246825
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.0.0-py313h90d716c_0.conda
+ sha256: a3d8376cf24ee336f63d3e6639485b68c592cf5ed3e1501ac430081be055acf9
+ md5: 21105780750e89c761d1c72dc5304930
+ depends:
+ - __osx >=11.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/psutil?source=hash-mapping
+ size: 484139
+ timestamp: 1740663381126
+- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.0.0-py313ha7868ed_0.conda
+ sha256: d8e5d86e939d5f308c7922835a94458afb29d81c90b5d43c43a5537c9c7adbc1
+ md5: 3cdf99cf98b01856af9f26c5d8036353
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/psutil?source=hash-mapping
+ size: 491314
+ timestamp: 1740663777370
+- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-25.5.0-pyhe01879c_0.conda
+ sha256: 89962891edb1bee7beef0656fbfc5b451c4a7d1aeb69bae14ff9284e2228fe13
+ md5: 78fca2c5bec4077d4c9f854235190852
+ depends:
+ - python >=3.9
+ - pyyaml
+ - python
+ license: WTFPL
+ purls:
+ - pkg:pypi/pyaml?source=hash-mapping
+ size: 30303
+ timestamp: 1748715588617
+- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda
+ sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6
+ md5: 12c566707c80111f9799308d9e265aef
+ depends:
+ - python >=3.9
+ - python
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 110100
+ timestamp: 1733195786147
+- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda
+ sha256: 28a3e3161390a9d23bc02b4419448f8d27679d9e2c250e29849e37749c8de86b
+ md5: 232fb4577b6687b2d503ef8e254270c9
+ depends:
+ - python >=3.9
+ license: BSD-2-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/pygments?source=hash-mapping
+ size: 888600
+ timestamp: 1736243563082
+- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.15-pyhd8ed1ab_0.conda
+ sha256: 9f5f77029f435fe489cf256580296cb5204ea4239dfde6db47629aa009a25015
+ md5: 9d03ff5deacac960acadb5b2044f0763
+ depends:
+ - markdown >=3.6
+ - python >=3.9
+ - pyyaml
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pymdown-extensions?source=hash-mapping
+ size: 170879
+ timestamp: 1745885522295
+- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda
+ sha256: b92afb79b52fcf395fd220b29e0dd3297610f2059afac45298d44e00fcbf23b6
+ md5: 513d3c262ee49b54a8fec85c5bc99764
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pyparsing?source=hash-mapping
+ size: 95988
+ timestamp: 1743089832359
+- conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda
+ sha256: 065ac44591da9abf1ff740feb25929554b920b00d09287a551fcced2c9791092
+ md5: d4582021af437c931d7d77ec39007845
+ depends:
+ - python >=3.9
+ - tomli >=1.1.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pyproject-hooks?source=hash-mapping
+ size: 15528
+ timestamp: 1733710122949
+- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda
+ sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca
+ md5: e2fd202833c4a981ce8a65974fe4abd1
+ depends:
+ - __win
+ - python >=3.9
+ - win_inet_pton
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/pysocks?source=hash-mapping
+ size: 21784
+ timestamp: 1733217448189
+- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda
+ sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8
+ md5: 461219d1a5bd61342293efa2c0c90eac
+ depends:
+ - __unix
+ - python >=3.9
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/pysocks?source=hash-mapping
+ size: 21085
+ timestamp: 1733217331982
+- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.0-pyhd8ed1ab_0.conda
+ sha256: f8c5a65ff4216f7c0a9be1708be1ee1446ad678da5a01eeb2437551156e32a06
+ md5: 516d31f063ce7e49ced17f105b63a1f1
+ depends:
+ - colorama >=0.4
+ - exceptiongroup >=1
+ - iniconfig >=1
+ - packaging >=20
+ - pluggy >=1.5,<2
+ - pygments >=2.7.2
+ - python >=3.9
+ - tomli >=1
+ constrains:
+ - pytest-faulthandler >=2
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pytest?source=compressed-mapping
+ size: 275014
+ timestamp: 1748907618871
+- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.2.1-pyhd8ed1ab_0.conda
+ sha256: 3a9fc07be76bc67aef355b78816b5117bfe686e7d8c6f28b45a1f89afe104761
+ md5: ce978e1b9ed8b8d49164e90a5cdc94cd
+ depends:
+ - coverage >=7.5
+ - pytest >=4.6
+ - python >=3.9
+ - toml
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pytest-cov?source=compressed-mapping
+ size: 28216
+ timestamp: 1749778064293
+- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.11-h9e4cc4f_0_cpython.conda
+ sha256: 6cca004806ceceea9585d4d655059e951152fc774a471593d4f5138e6a54c81d
+ md5: 94206474a5608243a10c92cefbe0908f
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - bzip2 >=1.0.8,<2.0a0
+ - ld_impl_linux-64 >=2.36.1
+ - libexpat >=2.7.0,<3.0a0
+ - libffi >=3.4.6,<3.5.0a0
+ - libgcc >=13
+ - liblzma >=5.8.1,<6.0a0
+ - libnsl >=2.0.1,<2.1.0a0
+ - libsqlite >=3.50.0,<4.0a0
+ - libuuid >=2.38.1,<3.0a0
+ - libxcrypt >=4.4.36
+ - libzlib >=1.3.1,<2.0a0
+ - ncurses >=6.5,<7.0a0
+ - openssl >=3.5.0,<4.0a0
+ - 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: 31445023
+ timestamp: 1749050216615
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.5-h81fe080_101_cp313.conda
+ build_number: 101
+ sha256: 580614f9effb10d8a5f152dbabc43ca2794ef1b97c7b31687f4dbc97dae426cc
+ md5: 82ee4a2fd1992ce68b0b515e27620b4e
+ depends:
+ - __osx >=11.0
+ - 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
+ - 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
+ license: Python-2.0
+ purls: []
+ size: 12878037
+ timestamp: 1749777275830
+ python_site_packages_path: lib/python3.13/site-packages
+- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.5-h261c0b1_101_cp313.conda
+ build_number: 101
+ sha256: 138d7ac744adab4718df94c12898ef3153d2ea88639ed241c486c4e6b3025156
+ md5: 3699fb9e2953e31e7ba535fd28b0408f
+ depends:
+ - 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
+ - libzlib >=1.3.1,<2.0a0
+ - openssl >=3.5.0,<4.0a0
+ - python_abi 3.13.* *_cp313
+ - tk >=8.6.13,<8.7.0a0
+ - tzdata
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: Python-2.0
+ purls: []
+ size: 16887694
+ timestamp: 1749777091109
+ python_site_packages_path: Lib/site-packages
+- conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_1.conda
+ sha256: da40ab7413029351852268ca479e5cc642011c72317bd02dba28235c5c5ec955
+ md5: 0903621fe8a9f37286596529528f4f74
+ depends:
+ - colorama
+ - importlib-metadata >=4.6
+ - packaging >=19.0
+ - pyproject_hooks
+ - python >=3.9
+ - tomli >=1.1.0
+ constrains:
+ - build <0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/build?source=hash-mapping
+ size: 25108
+ timestamp: 1733230700715
+- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda
+ sha256: a50052536f1ef8516ed11a844f9413661829aa083304dc624c5925298d078d79
+ md5: 5ba79d7c71f03c678c8ead841f347d6e
+ depends:
+ - python >=3.9
+ - six >=1.5
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/python-dateutil?source=hash-mapping
+ size: 222505
+ timestamp: 1733215763718
+- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda
+ build_number: 7
+ sha256: a1bbced35e0df66cc713105344263570e835625c28d1bdee8f748f482b2d7793
+ md5: 0dfcdc155cf23812a0c9deada86fb723
+ constrains:
+ - python 3.12.* *_cpython
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 6971
+ timestamp: 1745258861359
+- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-7_cp313.conda
+ build_number: 7
+ sha256: 0595134584589064f56e67d3de1d8fcbb673a972946bce25fb593fb092fdcd97
+ md5: e84b44e6300f1703cb25d29120c5b1d8
+ constrains:
+ - python 3.13.* *_cp313
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 6988
+ timestamp: 1745258852285
+- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda
+ sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0
+ md5: bc8e3267d44011051f2eb14d22fb0960
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pytz?source=hash-mapping
+ size: 189015
+ timestamp: 1742920947249
+- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.conda
+ sha256: 159cba13a93b3fe084a1eb9bda0a07afc9148147647f0d437c3c3da60980503b
+ md5: cf2485f39740de96e2a7f2bb18ed2fee
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - 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: 206903
+ timestamp: 1737454910324
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py313ha9b7d5b_2.conda
+ sha256: 58c41b86ff2dabcf9ccd9010973b5763ec28b14030f9e1d9b371d22b538bce73
+ md5: 03a7926e244802f570f25401c25c13bc
+ depends:
+ - __osx >=11.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ - yaml >=0.2.5,<0.3.0a0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pyyaml?source=hash-mapping
+ size: 194243
+ timestamp: 1737454911892
+- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py313hb4c8b1a_2.conda
+ sha256: 5b496c96e48f495de41525cb1b603d0147f2079f88a8cf061aaf9e17a2fe1992
+ md5: d14f685b5d204b023c641b188a8d0d7c
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ - yaml >=0.2.5,<0.3.0a0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pyyaml?source=hash-mapping
+ size: 182783
+ timestamp: 1737455202579
+- conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda
+ sha256: 69ab63bd45587406ae911811fc4d4c1bf972d643fa57a009de7c01ac978c4edd
+ md5: e8e53c4150a1bba3b160eacf9d53a51b
+ depends:
+ - python >=3.9
+ - pyyaml
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/pyyaml-env-tag?source=hash-mapping
+ size: 11137
+ timestamp: 1747237061448
+- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda
+ sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c
+ md5: 283b96675859b20a825f8fa30f311446
+ depends:
+ - libgcc >=13
+ - ncurses >=6.5,<7.0a0
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ size: 282480
+ timestamp: 1740379431762
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
+ sha256: 7db04684d3904f6151eff8673270922d31da1eea7fa73254d01c437f49702e34
+ md5: 63ef3f6e6d6d5c589e64f11263dc5676
+ depends:
+ - ncurses >=6.5,<7.0a0
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ size: 252359
+ timestamp: 1740379663071
+- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda
+ sha256: 9866aaf7a13c6cfbe665ec7b330647a0fb10a81e6f9b8fee33642232a1920e18
+ md5: f6082eae112814f1447b56a5e1f6ed05
+ depends:
+ - certifi >=2017.4.17
+ - charset-normalizer >=2,<4
+ - idna >=2.5,<4
+ - python >=3.9
+ - urllib3 >=1.21.1,<3
+ constrains:
+ - chardet >=3.0.2,<6
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/requests?source=hash-mapping
+ size: 59407
+ timestamp: 1749498221996
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.11.13-py312h1d08497_0.conda
+ sha256: 25e99382bbe8431e25f086960ba34de8d975c903a4810fbf2009e95285e4d719
+ md5: 8e7c909d4f48865c8c5241d83649fc66
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - libstdcxx >=13
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ constrains:
+ - __glibc >=2.17
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/ruff?source=hash-mapping
+ size: 8254968
+ timestamp: 1749215957598
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.11.13-py313h19b3928_0.conda
+ sha256: cc86ed15d30fe6039bf5c83d9157b44a2ad0133ce55209aff02330855455684b
+ md5: 8800290270f1d0d9d8482a153c92dc5e
+ depends:
+ - __osx >=11.0
+ - libcxx >=18
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ constrains:
+ - __osx >=11.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/ruff?source=hash-mapping
+ size: 7444761
+ timestamp: 1749216159571
+- conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.11.13-py313h784dc11_0.conda
+ sha256: f1855143169ce7217158829d64f46fc5a36806875b83068655a9c02e8b3084c4
+ md5: 747a0705331d45934a8c853b4beb5111
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/ruff?source=hash-mapping
+ size: 8262379
+ timestamp: 1749216842505
+- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda
+ sha256: 41db0180680cc67c3fa76544ffd48d6a5679d96f4b71d7498a759e94edc9a2db
+ md5: a451d576819089b0d672f18768be0f65
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/six?source=hash-mapping
+ size: 16385
+ timestamp: 1733381032766
+- conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda
+ sha256: c2248418c310bdd1719b186796ae50a8a77ce555228b6acd32768e2543a15012
+ md5: bf7a226e58dfb8346c70df36065d86c9
+ depends:
+ - python >=3.9
+ license: Apache-2.0
+ license_family: Apache
+ purls:
+ - pkg:pypi/sniffio?source=hash-mapping
+ size: 15019
+ timestamp: 1733244175724
+- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.conda
+ sha256: 7518506cce9a736042132f307b3f4abce63bf076f5fb07c1f4e506c0b214295a
+ md5: fb32097c717486aa34b38a9db57eb49e
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/soupsieve?source=hash-mapping
+ size: 37773
+ timestamp: 1746563720271
+- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
+ sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1
+ md5: a0116df4f4ed05c303811a837d5b39d8
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=13
+ - libzlib >=1.3.1,<2.0a0
+ license: TCL
+ license_family: BSD
+ purls: []
+ size: 3285204
+ timestamp: 1748387766691
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
+ sha256: cb86c522576fa95c6db4c878849af0bccfd3264daf0cc40dd18e7f4a7bfced0e
+ md5: 7362396c170252e7b7b0c8fb37fe9c78
+ depends:
+ - __osx >=11.0
+ - libzlib >=1.3.1,<2.0a0
+ license: TCL
+ license_family: BSD
+ purls: []
+ size: 3125538
+ timestamp: 1748388189063
+- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_2.conda
+ sha256: e3614b0eb4abcc70d98eae159db59d9b4059ed743ef402081151a948dce95896
+ md5: ebd0e761de9aa879a51d22cc721bd095
+ depends:
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: TCL
+ license_family: BSD
+ purls: []
+ size: 3466348
+ timestamp: 1748388121356
+- conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda
+ sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938
+ md5: b0dd904de08b7db706167240bf37b164
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/toml?source=hash-mapping
+ size: 22132
+ timestamp: 1734091907682
+- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda
+ sha256: 18636339a79656962723077df9a56c0ac7b8a864329eb8f847ee3d38495b863e
+ md5: ac944244f1fed2eb49bae07193ae8215
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/tomli?source=hash-mapping
+ size: 19167
+ timestamp: 1733256819729
+- conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2025.5.9.12-pyhd8ed1ab_0.conda
+ sha256: 455b7b0dc0cf7e4a6fcc41455b4fd7f646b3b842e6dc0d894438366827d7d9b2
+ md5: 764db08a8d868de9e377d88277c75d83
+ depends:
+ - python >=3.9
+ license: Apache-2.0
+ license_family: Apache
+ purls:
+ - pkg:pypi/trove-classifiers?source=hash-mapping
+ size: 19516
+ timestamp: 1746817031708
+- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.0-h32cad80_0.conda
+ sha256: b8cabfa54432b0f124c0af6b6facdf8110892914fa841ac2e80ab65ac52c1ba4
+ md5: a1cdd40fc962e2f7944bc19e01c7e584
+ depends:
+ - typing_extensions ==4.14.0 pyhe01879c_0
+ license: PSF-2.0
+ license_family: PSF
+ purls: []
+ size: 90310
+ timestamp: 1748959427551
+- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.0-pyhe01879c_0.conda
+ sha256: 8561db52f278c5716b436da6d4ee5521712a49e8f3c70fcae5350f5ebb4be41c
+ md5: 2adcd9bb86f656d3d43bf84af59a1faf
+ depends:
+ - python >=3.9
+ - python
+ license: PSF-2.0
+ license_family: PSF
+ purls:
+ - pkg:pypi/typing-extensions?source=compressed-mapping
+ size: 50978
+ timestamp: 1748959427551
+- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
+ sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192
+ md5: 4222072737ccff51314b5ece9c7d6f5a
+ license: LicenseRef-Public-Domain
+ purls: []
+ size: 122968
+ timestamp: 1742727099393
+- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda
+ sha256: db8dead3dd30fb1a032737554ce91e2819b43496a0db09927edf01c32b577450
+ md5: 6797b005cd0f439c4c5c9ac565783700
+ constrains:
+ - vs2015_runtime >=14.29.30037
+ license: LicenseRef-MicrosoftWindowsSDK10
+ purls: []
+ size: 559710
+ timestamp: 1728377334097
+- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.4.0-pyhd8ed1ab_0.conda
+ sha256: a25403b76f7f03ca1a906e1ef0f88521edded991b9897e7fed56a3e334b3db8c
+ md5: c1e349028e0052c4eea844e94f773065
+ depends:
+ - brotli-python >=1.0.9
+ - h2 >=4,<5
+ - pysocks >=1.5.6,<2.0,!=1.5.7
+ - python >=3.9
+ - zstandard >=0.18.0
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/urllib3?source=hash-mapping
+ size: 100791
+ timestamp: 1744323705540
+- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_26.conda
+ sha256: 7a685b5c37e9713fa314a0d26b8b1d7a2e6de5ab758698199b5d5b6dba2e3ce1
+ md5: d3f0381e38093bde620a8d85f266ae55
+ depends:
+ - vc14_runtime >=14.42.34433
+ track_features:
+ - vc14
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 17893
+ timestamp: 1743195261486
+- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda
+ sha256: 30dcb71bb166e351aadbdc18f1718757c32cdaa0e1e5d9368469ee44f6bf4709
+ md5: 91651a36d31aa20c7ba36299fb7068f4
+ depends:
+ - ucrt >=10.0.20348.0
+ constrains:
+ - vs2015_runtime 14.42.34438.* *_26
+ license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime
+ license_family: Proprietary
+ purls: []
+ size: 750733
+ timestamp: 1743195092905
+- conda: https://conda.anaconda.org/conda-forge/noarch/verspec-0.1.0-pyh29332c3_2.conda
+ sha256: 723351de1d7cee8bd22f8ea64b169f36f5c625c315c59c0267fab4bad837d503
+ md5: 9c71dfe38494dd49c2547a3842b86fa7
+ depends:
+ - python >=3.9
+ - python
+ license: BSD-2-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/verspec?source=hash-mapping
+ size: 23765
+ timestamp: 1735596628662
+- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_26.conda
+ sha256: 432f2937206f1ad4a77e39f84fabc1ce7d2472b669836fb72bd2bfd19a2defc9
+ md5: 3357e4383dbce31eed332008ede242ab
+ depends:
+ - vc14_runtime >=14.42.34438
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ size: 17873
+ timestamp: 1743195097269
+- conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py312h7900ff3_0.conda
+ sha256: 2436c4736b8135801f6bfcd09c7283f2d700a66a90ebd14b666b996e33ef8c9a
+ md5: 687b37d1325f228429409465e811c0bc
+ depends:
+ - 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: 140940
+ timestamp: 1730493008472
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py313h90d716c_0.conda
+ sha256: e0bf1248afd854f8365a09ccc81cf2a85bf0f26a941bb921d8dc58a00c973f36
+ md5: 731c6c5bc30114ed12f311cc01e4376f
+ depends:
+ - __osx >=11.0
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ - pyyaml >=3.10
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/watchdog?source=hash-mapping
+ size: 152677
+ timestamp: 1730493165140
+- conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py313hfa70ccb_0.conda
+ sha256: 213d520704e528b2273b2701f0961048c5bdbefbe4db5cdabcf9d01d4322fbf8
+ md5: 9593f7b5c1aa4be66a9945c4f1e9f043
+ depends:
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - pyyaml >=3.10
+ license: Apache-2.0
+ license_family: APACHE
+ purls:
+ - pkg:pypi/watchdog?source=hash-mapping
+ size: 167930
+ timestamp: 1730493160417
+- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda
+ sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f
+ md5: 46e441ba871f524e2b067929da3051c2
+ depends:
+ - __win
+ - python >=3.9
+ license: LicenseRef-Public-Domain
+ purls:
+ - pkg:pypi/win-inet-pton?source=hash-mapping
+ size: 9555
+ timestamp: 1733130678956
+- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2
+ sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535
+ md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae
+ depends:
+ - libgcc-ng >=9.4.0
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 89141
+ timestamp: 1641346969816
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2
+ sha256: 93181a04ba8cfecfdfb162fc958436d868cc37db504c58078eab4c1a3e57fbb7
+ md5: 4bb3f014845110883a3c5ee811fd84b4
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 88016
+ timestamp: 1641347076660
+- conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2
+ sha256: 4e2246383003acbad9682c7c63178e2e715ad0eb84f03a8df1fbfba455dfedc5
+ md5: adbfb9f45d1004a26763652246a33764
+ depends:
+ - vc >=14.1,<15.0a0
+ - vs2015_runtime >=14.16.27012
+ license: MIT
+ license_family: MIT
+ purls: []
+ size: 63274
+ timestamp: 1641347623319
+- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda
+ sha256: 7560d21e1b021fd40b65bfb72f67945a3fcb83d78ad7ccf37b8b3165ec3b68ad
+ md5: df5e78d904988eb55042c0c97446079f
+ depends:
+ - python >=3.9
+ license: MIT
+ license_family: MIT
+ purls:
+ - pkg:pypi/zipp?source=hash-mapping
+ size: 22963
+ timestamp: 1749421737203
+- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda
+ sha256: ff62d2e1ed98a3ec18de7e5cf26c0634fd338cb87304cf03ad8cbafe6fe674ba
+ md5: 630db208bc7bbb96725ce9832c7423bb
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - cffi >=1.11
+ - libgcc >=13
+ - python >=3.12,<3.13.0a0
+ - python_abi 3.12.* *_cp312
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/zstandard?source=compressed-mapping
+ size: 732224
+ timestamp: 1745869780524
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py313h90d716c_2.conda
+ sha256: 70ed0c931f9cfad3e3a75a1faf557c5fc5bf638675c6afa2fb8673e4f88fb2c5
+ md5: 1f465c71f83bd92cfe9df941437dcd7c
+ depends:
+ - __osx >=11.0
+ - cffi >=1.11
+ - python >=3.13,<3.14.0a0
+ - python >=3.13,<3.14.0a0 *_cp313
+ - python_abi 3.13.* *_cp313
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/zstandard?source=hash-mapping
+ size: 536612
+ timestamp: 1745870248616
+- conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py313ha7868ed_2.conda
+ sha256: b7bfe264fe3810b1abfe7f80c0f21f470d7cc730ada7ce3b3d08a90cb871999c
+ md5: b4d967b4d695a2ba8554738b3649d754
+ depends:
+ - cffi >=1.11
+ - python >=3.13,<3.14.0a0
+ - python_abi 3.13.* *_cp313
+ - ucrt >=10.0.20348.0
+ - vc >=14.2,<15
+ - vc14_runtime >=14.29.30139
+ license: BSD-3-Clause
+ license_family: BSD
+ purls:
+ - pkg:pypi/zstandard?source=hash-mapping
+ size: 449871
+ timestamp: 1745870298072
diff --git a/pyproject.toml b/pyproject.toml
index bea7c4e..25ce6de 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,6 +33,51 @@ dependencies = [
Repository = "https://github.com/analog-garage/mkdocstrings-python-xref"
Documentation = "https://analog-garage.github.io/mkdocstrings-python-xref/"
+[project.optional-dependencies]
+dev = [
+ "build >=1.0.0", # python-build on conda
+ "hatchling >=1.21",
+ "coverage >=7.4.0",
+ "pytest >=8.2",
+ "pytest-cov >=5.0",
+ "mypy >=1.10",
+ "ruff >=0.4.10",
+ "beautifulsoup4 >=4.12",
+ "black >=23.12",
+ "mike >=1.1",
+ "mkdocs >=1.5.3,<2.0",
+ "mkdocs-material >=9.5.4",
+ "linkchecker >=10.4"
+]
+
+[tool.pixi.workspace]
+name = "mkxref-dev"
+channels = ["conda-forge"]
+platforms = ["osx-arm64", "linux-64", "win-64"]
+
+[tool.pixi.dependencies]
+# Use conda for these in pixi
+mkdocstrings-python ="*"
+griffe ="*"
+hatchling = "*"
+python-build = "*"
+coverage ="*"
+pytest ="*"
+pytest-cov ="*"
+mypy ="*"
+ruff = "*"
+black = "*"
+mike = "*"
+mkdocs = "*"
+mkdocs-material = "*"
+linkchecker = "*"
+
+[tool.pixi.pypi-dependencies]
+mkdocstrings-python-xref = { path = ".", editable = true }
+
+[tool.pixi.environments]
+default = {features = ["dev"]}
+
[tool.hatch.version]
path = "src/mkdocstrings_handlers/python_xref/VERSION"
pattern = "\\s*(?P[\\w.]*)"
@@ -174,3 +219,53 @@ disable = [
"wrong-spelling-in-comment",
"wrong-spelling-in-docstring",
]
+
+[tool.pixi.tasks]
+# linting tasks
+mypy = "mypy"
+ruff = "ruff check src/mkdocstrings_handlers tests"
+lint = {depends-on = ["ruff", "mypy"]}
+
+# testing tasks
+pytest = "pytest -sv -ra tests"
+test = {depends-on = ["pytest", "lint"]}
+coverage = "pytest -ra --cov --cov-report=html --cov-report=term -- tests"
+coverage-show = "python -m webbrowser file://$PIXI_PROJECT_ROOT/htmlcov/index.html"
+
+# doc tasks
+docs = {depends-on = ["doc"]}
+show-doc = "mkdocs serve -f mkdocs.yml"
+show-docs = {depends-on = ["show-doc"]}
+
+# cleanup tasks
+clean-build = "rm -rf build dist"
+clean-coverage = "rm -rf .coverage .coverage.* htmlcov"
+clean-docs = "rm -rf site"
+clean-test = "rm -rf .pytest_cache .mypy_cache .ruff_cache"
+clean = {depends-on = ["clean-build", "clean-coverage", "clean-test"]}
+
+# build tasks
+build = {depends-on = ["build-wheel", "build-sdist", "build-conda"]}
+
+[tool.pixi.tasks.build-wheel]
+env = {VERSION = "$(cat src/mkdocstrings_handlers/python_xref/VERSION)"}
+cmd = "pip wheel . --no-deps --no-build-isolation -w dist"
+inputs = ["pyproject.toml", "LICENSE.md", "src/**/*"]
+outputs = ["dist/mkdocstrings_python_xref-$VERSION-py3-none-any.whl"]
+
+[tool.pixi.tasks.build-sdist]
+env = {VERSION = "$(cat src/mkdocstrings_handlers/python_xref/VERSION)"}
+cmd = "python -m build --sdist --no-isolation --outdir dist"
+inputs = ["pyproject.toml", "LICENSE.md", "src/**/*"]
+outputs = ["dist/mkdocstrings_python_xref-$VERSION.tar.gz"]
+
+[tool.pixi.tasks.build-conda]
+#env = {VERSION = "$(cat src/mkdocstrings_handlers/python_xref/VERSION)"}
+cmd = "whl2conda convert dist/*.whl -w dist --overwrite"
+depends-on = ["build-wheel"]
+inputs = ["dist/mkdocstrings_python_xref-$VERSION-py3-none-any.whl"]
+
+[tool.pixi.tasks.doc]
+cmd = "mkdocs build -f mkdocs.yml"
+inputs = ["docs/*.md", "docs/*.svg", "mkdocs.yml"]
+outputs = ["site/*.html"]