diff --git a/tests/test-corrupt-repodata/.gitattributes b/tests/test-corrupt-repodata/.gitattributes new file mode 100644 index 000000000..87c69f290 --- /dev/null +++ b/tests/test-corrupt-repodata/.gitattributes @@ -0,0 +1,3 @@ +# Treat tar.gz files as binary (no line ending conversion) +*.tar.gz binary + diff --git a/tests/test-corrupt-repodata/.gitignore b/tests/test-corrupt-repodata/.gitignore new file mode 100644 index 000000000..dc42c118e --- /dev/null +++ b/tests/test-corrupt-repodata/.gitignore @@ -0,0 +1,3 @@ +*-pkgs/ +lockfile-*.yml +lockfile-*-explicit.lock diff --git a/tests/test-corrupt-repodata/01-explicit.lock b/tests/test-corrupt-repodata/01-explicit.lock new file mode 100644 index 000000000..5b43101cf --- /dev/null +++ b/tests/test-corrupt-repodata/01-explicit.lock @@ -0,0 +1,196 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 9bce7296a3440ba0575a13474be4eadffe1f886caf8e489de3c7f58c27b3a06b +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda#f9e5fbc24009179e8b0409624691758a +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda#14bae321b8127b63cba276bd53fac237 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda#f7f0d6cc2dc986d42ac2689ec88192be +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda#ede4673863426c0883c0063d853bbd85 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda#280ea6eee9e2ddefde25ff799c4f0363 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda#0c2f855a88fab6afa92a7aa41217dc8e +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 +https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda#a587892d3c13b6621a6091be690dbca2 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda#0b367fad34931cb79e0d6b7e5c06bb1c +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda#f627678cf829bd70bccf141a19c3ad3e +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda#7fa07cb0fb1b625a089ccc01218ee5b1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda#b8e4c93f4ab70c3b6f6499299627dbdc +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h5989046_100_cp314.conda#d2e16e0bb7c3d9ddb3c597d43c8c708d +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda#f4e90937bbfc3a4a92539545a37bb448 +https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda#767d508c1a67e02ae8f50e44cacfadb2 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda#71d9c4f6a05a4b9da1b03b973e078db0 +https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda#c7eb87af73750d6fd97eff8bbee8cb9c +https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2#586272349d7bef5b1ef527b56dca73cb +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py314ha160325_4.conda#a5529cb388bf7c6c9ae3d9d1ae54be56 +https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda#257ae203f1d204107ba389607d375ded +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda#57df494053e17dce2ac3a0b33e1b2a2e +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda#7e7d5ef1b9ed630e4a1c358d6bc62284 +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/crashtest-0.4.1-pyhd8ed1ab_1.conda#e036e2f76d9c9aebc12510ed23352b6c +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda#679616eb5ad4e521c83da4650860aba7 +https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda#003b8ba0a94e2f1e117d0bd46aebc901 +https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda#a71efeae2c160f6789900ba2631a2c90 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda#66b8b26023b8efdf8fcb23bac4b6325d +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac +https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda#39a4f67be3286c86d696df570b1201b7 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda#6837f3eff7dcea42ecd714ce1ac2b108 +https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.0-pyhd8ed1ab_1.conda#365e9cb87dccc17796c7ca29a25a0bce +https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda#b4b91eb14fbe2f850dd2c5fc20676c0d +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.14.1-h332b0f4_0.conda#45f6713cb00f124af300342512219182 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.0-ha9997c6_1.conda#b24dd2bd61cd8e4f8a13ee2a945a723c +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda#d7620a15dc400b448e1c88a981b23ddd +https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py314h9891dd4_0.conda#cef101d1e8f0f21f563d30ab95c3d3bc +https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.12.1.2-pyhd8ed1ab_0.conda#dc702b2fae7ebe770aff3c83adb16b63 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.0-py314h5bd0f2a_0.conda#3bba9ff64ab2030c4c28c0d225864196 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac +https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda#23029aae904a2ba587daba708208012f +https://conda.anaconda.org/conda-forge/noarch/python-installer-0.7.0-pyhff2d567_1.conda#e27480eebcdf247209e90da706ebef8d +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda#bc8e3267d44011051f2eb14d22fb0960 +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.12-py314h5bd0f2a_1.conda#24a93319d4523f8b628177892a7e224e +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.0-ha3a3aed_0.conda#bf901feac47041795ef6666c777f3422 +https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhd8ed1ab_0.conda#982aa48accc06494cbd2b51af69e17c7 +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_1.conda#7c3c2a0f3ebdea2bbc35538d162b43bf +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda#87f47a78808baf2fa1ea9c315a1e48f1 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.3-pyha770c72_0.conda#146402bf0f11cbeb8f781fa4309a95d3 +https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2025.9.11.17-pyhd8ed1ab_0.conda#fc3b129397a910cfe1350075a7ad7432 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda#df837d654933488220b454c6a3b0fad6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314ha6a4811_0.conda#f572c769fb8bfa15708594c6f7f354e0 +https://conda.anaconda.org/conda-forge/noarch/click-default-group-1.2.4-pyhd8ed1ab_1.conda#7cd83dd6831b61ad9624a694e4afd7dc +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.10.7-py314h67df5f8_0.conda#0f9130a6e23d286d2df2c7e57c985f97 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc +https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda#c85c76dc67d75619a92f51dfbce06992 +https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda#ade6b25a6136661dadd1a43e4350b10b +https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda#b86839fa387a5b904846e77c84167e57 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.0-h26afc86_1.conda#8337b675e0cad517fbcb3daf7588087a +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda#7ba3f09fceae6a120d664217e58fe686 +https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda#d4582021af437c931d7d77ec39007845 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.15-py314h5bd0f2a_1.conda#b600106b833cff74e1c71e78c8b9478e +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda#9efbfdc37242619130ea42b1cc4ed861 +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda#edd329d7d3a4ab45dcf905899a7a6115 +https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhd8ed1ab_0.conda#399701494e731ce73fdd86c185a3d1b4 +https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.3-pyhd8ed1ab_0.conda#bf0dc4c8a32e91290e3fae5403798c63 +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda#2934f256a8acfe48f6ebb4fce6cde29c +https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.2-py314hb613cbf_0.conda#19ed3f93a65fe3f057594cb3195e956f +https://conda.anaconda.org/conda-forge/linux-64/editdistance-s-1.0.0-py314h9891dd4_7.conda#2111df2165d475f89934dbceeb61110c +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda#bcc023a32ea1c44a790bbf1eae473486 +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h7be2006_101.conda#e6f55365ce179b10b48de5a1677ae013 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.9-pyhd8ed1ab_0.conda#17784de2c4da64a3595328b34982cdc5 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.41.1-py314h68536ef_0.conda#1fd80b4d56b42a7c1fe8df083fad1d5f +https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda#287eabdd0b0a176376968b84c2707bd8 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhd8ed1ab_0.conda#1f987505580cb972cf28dc5f74a0f81b +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda#68bd13651618354987763f746ee1fadc +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.50-pyhd8ed1ab_1.conda#377be6dde8e383743a2e98210326532b +https://conda.anaconda.org/conda-forge/noarch/conda-package-streaming-0.12.0-pyhd8ed1ab_0.conda#ff75d06af779966a5aeae1be1d409b96 +https://conda.anaconda.org/conda-forge/noarch/identify-2.3.7-pyhd8ed1ab_0.tar.bz2#ae1a5e834fbca62ee88ab55fb276be63 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.2-hae34dd5_2.conda#b0cfdfd4632cc769a1ca211ecfc1093c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pydantic-2.12.0-pyh3cfb1c2_0.conda#41749e96b495f27bf1729e0f99722415 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda#a804c54ce3a1aed268b13657b79825b8 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/linux-64/dulwich-0.24.2-py314ha5689aa_0.conda#a2c0dd6bd9e2c7b6239b9fc4cac2c74d +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.2-h4a52834_2.conda#0e6c861326fd1fe1bed0d840c142d736 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.1.7-pyhd8ed1ab_0.conda#3b79eac4eefefcf71bef5c9a61ec7519 +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda#241ef6e3db47a143ac34c21bfba510f1 +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.6.0-pyhcf101f3_0.conda#fcc02785e4da41e5f19f740e017b6ffb +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.21-pyhcf101f3_0.conda#53686b570071ee9944a443a60e4a9e09 +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.14.3-pyhd8ed1ab_0.conda#b4af8c1b61929b1bcb001c2953882149 +https://conda.anaconda.org/conda-forge/noarch/twine-1.11.0-py_1.tar.bz2#9d276c93b9631b740e9119a1193558a9 +# pip ty @ https://files.pythonhosted.org/packages/fd/07/f852fb20ac27707de495c39a02aeb056e3368833b7e12888d43b1f61594d/ty-0.0.1a22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=a3ffda8149cab0000a21e7a078142073e27a1a9ac03b9a0837aa2f53d1fbebcb diff --git a/tests/test-corrupt-repodata/01-generate-sample-explicit-lockfile.py b/tests/test-corrupt-repodata/01-generate-sample-explicit-lockfile.py new file mode 100755 index 000000000..da406ea03 --- /dev/null +++ b/tests/test-corrupt-repodata/01-generate-sample-explicit-lockfile.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import shlex +import subprocess + +from pathlib import Path +from typing import Final + + +SCRIPT_DIR: Final[Path] = Path(__file__).resolve().parent +DESTINATION_FILE: Final[Path] = SCRIPT_DIR / "01-explicit.lock" +DEFAULT_DESTINATION_LOCKFILE_RELATIVE_REPO_ROOT: Final[Path] = ( + Path() / "environments" / "conda-lock.yml" +) + +COMMAND = """ + conda-lock render -p linux-64 --kind explicit \ + --filename-template DESTINATION_FILE FULL_LOCKFILE_PATH +""" + + +def main() -> None: + """Main function.""" + repo_root = get_repo_root() + full_lockfile_path = repo_root / DEFAULT_DESTINATION_LOCKFILE_RELATIVE_REPO_ROOT + cmd = shlex.split(COMMAND) + replacements = { + "DESTINATION_FILE": str(DESTINATION_FILE), + "FULL_LOCKFILE_PATH": str(full_lockfile_path), + } + replace_in_command(cmd, replacements) + print(f"Running command: {shlex.join(cmd)}") + subprocess.run(cmd, check=True, cwd=repo_root) + print(f"Generated: {DESTINATION_FILE}") + + +def get_repo_root() -> Path: + """Get the root directory of the repository by finding the .git directory.""" + for parent in SCRIPT_DIR.parents: + if (parent / ".git").exists(): + return parent + raise FileNotFoundError("Could not find the root directory of the repository.") + + +def replace_in_command(split_command: list[str], replacements: dict[str, str]) -> None: + """Replace the placeholders in the command with the replacements.""" + for i, arg in enumerate(split_command): + if arg in replacements: + split_command[i] = replacements[arg] + + +if __name__ == "__main__": + main() diff --git a/tests/test-corrupt-repodata/02-reproduce-corrupt-repodata-via-upstream.py b/tests/test-corrupt-repodata/02-reproduce-corrupt-repodata-via-upstream.py new file mode 100755 index 000000000..3ca52dba3 --- /dev/null +++ b/tests/test-corrupt-repodata/02-reproduce-corrupt-repodata-via-upstream.py @@ -0,0 +1,197 @@ +#!/usr/bin/env python3 + +"""Reproduce the corrupt repodata record by running micromamba from a Docker image. + +Writes the repodata records to the pkgs/ directory. + +Last good version: 2.1.0 +First bad version: 2.1.1 +Last bad version: 2.3.2 +First good version: 2.3.3 + +For more context, see: + +""" + +import argparse +import gzip +import io +import shlex +import subprocess +import tarfile + +from pathlib import Path +from typing import Final + + +SCRIPT_DIR: Final[Path] = Path(__file__).resolve().parent +DOCKERFILE_PATH: Final[Path] = SCRIPT_DIR / "02.Dockerfile" +EXPLICIT_LOCK_PATH: Final[Path] = SCRIPT_DIR / "01-explicit.lock" +SOURCE_DIR: Final[str] = "/opt/conda/pkgs" +DEFAULT_VERSION: Final[str] = "2.1.1" + + +def build_docker_image(version: str = DEFAULT_VERSION) -> None: + """Build the Docker image that produces a (potentially) corrupt repodata record. + + The build uses the Dockerfile and tags the image for later use. + + Args: + version: The micromamba version to use (e.g., "2.1.1") + """ + image_tag = f"bad-repodata:{version}" + + cmd = [ + "docker", + "build", + f"--file={DOCKERFILE_PATH}", + f"--build-arg=MICROMAMBA_TAG={version}", + f"--tag={image_tag}", + str(SCRIPT_DIR), + ] + + print("Running command:") + print(f" {shlex.join(cmd)}") + print() + + subprocess.run(cmd, check=True) + + +def extract_pkgs_from_image( + version: str = DEFAULT_VERSION, destination: Path | None = None +) -> Path: + """Create a container from the built image and save the pkgs directory as tar.gz. + + Writes the compressed archive next to this script unless a destination is provided. + + Args: + version: The micromamba version to use (e.g., "2.1.1") + destination: Optional destination path for the tar.gz file + + Returns: + Path to the created tar.gz file + """ + image_tag = f"bad-repodata:{version}" + + # Create a container without starting it + result = subprocess.run( + ["docker", "create", image_tag], + check=True, + capture_output=True, + text=True, + ) + container_id = result.stdout.strip() + + try: + # Get the archive of the pkgs directory + result = subprocess.run( + ["docker", "cp", f"{container_id}:{SOURCE_DIR}", "-"], + check=True, + capture_output=True, + ) + tar_bytes = result.stdout + + output_file = destination or SCRIPT_DIR / f"{version}-pkgs.tar.gz" + + # Filter and recompress the tar archive + # Docker gives us a tar, we need to filter it and save as tar.gz + # Include a parent directory so extraction creates only one directory + parent_dir = f"{version}-pkgs" + + # Collect members and their data for reproducible output + members_to_add = [] + with tarfile.open(fileobj=io.BytesIO(tar_bytes), mode="r") as tf_in: + for member in tf_in.getmembers(): + # Only include index.json and repodata_record.json from info/ directories + if not ( + member.name.endswith("/info/index.json") + or member.name.endswith("/info/repodata_record.json") + ): + continue + + # Strip "pkgs/" prefix and add parent directory + name = member.name + if name.startswith("pkgs/"): + name = name[5:] # Remove "pkgs/" + name = f"{parent_dir}/{name}" + + # Store name and file data + fileobj = tf_in.extractfile(member) + if fileobj: + members_to_add.append((name, fileobj.read())) + + # Sort by name for reproducible ordering + members_to_add.sort(key=lambda x: x[0]) + + # Write sorted members to a deterministic gzip-compressed tar + out_bytes = io.BytesIO() + with gzip.GzipFile(filename="", mode="wb", fileobj=out_bytes, mtime=0) as gz: + with tarfile.open( + fileobj=gz, mode="w", format=tarfile.PAX_FORMAT + ) as tf_out: + for name, data in members_to_add: + # Create TarInfo with reproducible metadata + ti = tarfile.TarInfo(name=name) + ti.size = len(data) + ti.mtime = 0 + ti.uid = 0 + ti.gid = 0 + ti.uname = "" + ti.gname = "" + ti.mode = 0o644 + tf_out.addfile(ti, io.BytesIO(data)) + + # Persist to disk + with open(output_file, "wb") as f_out: + f_out.write(out_bytes.getvalue()) + + return output_file + finally: + subprocess.run( + ["docker", "rm", "--force", container_id], + check=True, + ) + + +def cleanup_docker_image(version: str = DEFAULT_VERSION) -> None: + """Remove the Docker image created by build_docker_image(). + + Args: + version: The micromamba version to use (e.g., "2.1.1") + """ + image_tag = f"bad-repodata:{version}" + subprocess.run( + ["docker", "rmi", "--force", image_tag], + check=True, + ) + + +def main(version: str = DEFAULT_VERSION) -> None: + """Build the Docker image and extract the corrupt repodata records. + + Args: + version: The micromamba version to use (e.g., "2.1.1") + """ + print(f"Building Docker image: bad-repodata:{version}") + build_docker_image(version) + + print(f"Extracting pkgs directory to: {SCRIPT_DIR / f'{version}-pkgs.tar.gz'}") + output_path = extract_pkgs_from_image(version) + + print(f"Successfully wrote pkgs archive to: {output_path}") + print("Cleaning up Docker image...") + cleanup_docker_image(version) + print("Done") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Reproduce corrupt repodata records from micromamba Docker images" + ) + parser.add_argument( + "--version", + default=DEFAULT_VERSION, + help=f"Micromamba version to use (default: {DEFAULT_VERSION})", + ) + args = parser.parse_args() + main(version=args.version) diff --git a/tests/test-corrupt-repodata/02.Dockerfile b/tests/test-corrupt-repodata/02.Dockerfile new file mode 100644 index 000000000..5aea61d32 --- /dev/null +++ b/tests/test-corrupt-repodata/02.Dockerfile @@ -0,0 +1,8 @@ +ARG MICROMAMBA_TAG=latest + +FROM mambaorg/micromamba:${MICROMAMBA_TAG} + +COPY 01-explicit.lock /tmp/explicit.lock + +RUN micromamba install -y -p /opt/conda -f /tmp/explicit.lock + diff --git a/tests/test-corrupt-repodata/03-clobber-pkgs.py b/tests/test-corrupt-repodata/03-clobber-pkgs.py new file mode 100755 index 000000000..2e525faca --- /dev/null +++ b/tests/test-corrupt-repodata/03-clobber-pkgs.py @@ -0,0 +1,269 @@ +#!/usr/bin/env python3 + +"""Clobber repodata_record.json files to simulate the corruption bug. + +This script modifies repodata_record.json files from a good pkgs directory (2.1.0) +to match the corruption pattern seen in micromamba versions 2.1.1-2.3.2, where +metadata is lost when installing from explicit lockfiles. + +After clobbering, it verifies that the result matches the corrupt version (2.1.1) +by running a diff and ensuring it's empty. + +For more context, see: + +""" + +import argparse +import json +import shlex +import shutil +import subprocess +import sys +import tarfile + +from pathlib import Path +from typing import Final + + +DEFAULT_INPUT_VERSION: Final[str] = "2.1.0" +DEFAULT_CORRUPT_VERSION: Final[str] = "2.1.1" + + +def extract_pkgs_archive(archive_path: Path, extract_to: Path) -> None: + """Extract a pkgs tar.gz archive. + + Args: + archive_path: Path to the .tar.gz file + extract_to: Directory to extract into + """ + extract_to.mkdir(parents=True, exist_ok=True) + with tarfile.open(archive_path, "r:gz") as tf: + tf.extractall(path=extract_to) + print(f"Extracted {archive_path} to {extract_to}") + + +def clobber_repodata_records( + input_dir: Path, output_dir: Path, corruption_pattern: str = "2.1.1" +) -> None: + """Clobber repodata_record.json files to simulate corruption. + + Args: + input_dir: Source pkgs directory (e.g., "2.1.0-pkgs") + output_dir: Destination directory for clobbered files (e.g., "clobbered-2.1.0-pkgs") + corruption_pattern: Which corruption pattern to apply ("2.1.1" or "2.3.3") + """ + if not input_dir.exists(): + raise FileNotFoundError(f"Input directory not found: {input_dir}") + + # Remove output directory if it exists + if output_dir.exists(): + if not output_dir.name.endswith("-pkgs"): + raise ValueError( + f"Safety check failed: refusing to delete {output_dir} (does not end with '-pkgs')" + ) + shutil.rmtree(output_dir) + + # Copy the entire directory structure + shutil.copytree(input_dir, output_dir) + + # Find and modify all repodata_record.json files + repodata_files = list(output_dir.rglob("*/info/repodata_record.json")) + + print( + f"Found {len(repodata_files)} repodata_record.json files to clobber (pattern: {corruption_pattern})" + ) + + for repodata_file in repodata_files: + # Read the original file + with open(repodata_file, encoding="utf-8") as f: + data = json.load(f) + + # Apply corruption pattern based on version + if corruption_pattern == "2.1.1": + # Versions 2.1.1-2.3.2: corrupt depends, constrains, license, timestamp, build_number, track_features + data["depends"] = [] + data["constrains"] = [] + data["license"] = "" + data["timestamp"] = 0 + data["build_number"] = 0 + data["track_features"] = "" + elif corruption_pattern == "2.3.3": + # Version 2.3.3: mirror presence/content of depends/constrains from info/index.json + # and corrupt license/timestamp/build_number/track_features + + index_path = repodata_file.with_name("index.json") + try: + with open(index_path, encoding="utf-8") as f_idx: + index_data = json.load(f_idx) + except FileNotFoundError: + index_data = {} + + # depends: set exactly as in index.json (delete if absent) + if "depends" in index_data: + data["depends"] = index_data["depends"] + elif "depends" in data: + del data["depends"] + + # constrains: keep non-empty from index.json, otherwise remove + if index_data.get("constrains"): + data["constrains"] = index_data["constrains"] + elif "constrains" in data: + del data["constrains"] + + data["license"] = "" + data["timestamp"] = 0 + data["build_number"] = 0 + data["track_features"] = "" + else: + raise ValueError( + f"Unknown corruption pattern: {corruption_pattern}. Use '2.1.1' or '2.3.3'" + ) + + # Write back the modified data + with open(repodata_file, "w", encoding="utf-8") as f: + json.dump(data, f, indent=4) + + print(f"Clobbered {len(repodata_files)} files in {output_dir}") + + +def verify_matches_corrupt( + clobbered_dir: Path, corrupt_dir: Path, verbose: bool = False +) -> bool: + """Verify that the clobbered directory matches the corrupt version. + + Args: + clobbered_dir: The directory with clobbered files + corrupt_dir: The directory with corrupt files from micromamba + verbose: Whether to print diff output + + Returns: + True if directories match (diff is empty), False otherwise + """ + cmd = [ + "diff", + "--recursive", + "--brief", + str(clobbered_dir), + str(corrupt_dir), + ] + + print("Verifying clobbered files match corrupt version...") + print(f"Running command: {shlex.join(cmd)}") + print() + + result = subprocess.run(cmd, capture_output=True, text=True) + + if result.returncode == 0: + print("✓ SUCCESS: Clobbered files match corrupt version exactly!") + return True + else: + print("✗ FAILURE: Clobbered files differ from corrupt version!") + print() + if verbose or result.stdout: + print("Differences found:") + print(result.stdout) + if result.stderr: + print("Errors:") + print(result.stderr) + return False + + +def main() -> None: + """Clobber repodata_record.json files to simulate the corruption bug.""" + parser = argparse.ArgumentParser( + description="Clobber repodata_record.json files to simulate corruption and verify" + ) + parser.add_argument( + "--input-version", + default=DEFAULT_INPUT_VERSION, + help=f"Version of the input pkgs directory (default: {DEFAULT_INPUT_VERSION})", + ) + parser.add_argument( + "--corrupt-version", + default=DEFAULT_CORRUPT_VERSION, + help=f"Version of the corrupt pkgs directory to compare against (default: {DEFAULT_CORRUPT_VERSION})", + ) + parser.add_argument( + "--verbose", + action="store_true", + help="Show detailed diff output if verification fails", + ) + parser.add_argument( + "--pattern", + default="2.1.1", + choices=["2.1.1", "2.3.3"], + help="Corruption pattern to apply: '2.1.1' (full corruption) or '2.3.3' (partial corruption, default: 2.1.1)", + ) + args = parser.parse_args() + + script_dir = Path(__file__).resolve().parent + input_archive = script_dir / f"{args.input_version}-pkgs.tar.gz" + corrupt_archive = script_dir / f"{args.corrupt_version}-pkgs.tar.gz" + output_dir = script_dir / f"clobbered-{args.input_version}-pkgs" + + # Check that input archives exist + if not input_archive.exists(): + print(f"Error: Input archive not found: {input_archive}", file=sys.stderr) + print( + f"Run: python 02-reproduce-corrupt-repodata-via-upstream.py --version={args.input_version}", + file=sys.stderr, + ) + sys.exit(1) + + if not corrupt_archive.exists(): + print(f"Error: Corrupt archive not found: {corrupt_archive}", file=sys.stderr) + print( + f"Run: python 02-reproduce-corrupt-repodata-via-upstream.py --version={args.corrupt_version}", + file=sys.stderr, + ) + sys.exit(1) + + # Extract archives to persistent directories (for later inspection) + input_dir = script_dir / f"{args.input_version}-pkgs" + corrupt_dir = script_dir / f"{args.corrupt_version}-pkgs" + + print(f"Input archive: {input_archive}") + print(f"Corrupt archive: {corrupt_archive}") + print(f"Output directory: {output_dir}") + print() + + # Always delete and re-extract to ensure fresh state + if input_dir.exists(): + if not input_dir.name.endswith("-pkgs"): + raise ValueError( + f"Safety check failed: refusing to delete {input_dir} (does not end with '-pkgs')" + ) + shutil.rmtree(input_dir) + print(f"Extracting {input_archive}...") + extract_pkgs_archive(input_archive, script_dir) + + if corrupt_dir.exists(): + if not corrupt_dir.name.endswith("-pkgs"): + raise ValueError( + f"Safety check failed: refusing to delete {corrupt_dir} (does not end with '-pkgs')" + ) + shutil.rmtree(corrupt_dir) + print(f"Extracting {corrupt_archive}...") + extract_pkgs_archive(corrupt_archive, script_dir) + print() + + clobber_repodata_records(input_dir, output_dir, corruption_pattern=args.pattern) + print() + + # Verify the clobbered files match the corrupt version + matches = verify_matches_corrupt(output_dir, corrupt_dir, verbose=args.verbose) + print() + + if matches: + print("✓ Verification passed!") + sys.exit(0) + else: + print("✗ Verification failed!") + print() + print("To see detailed differences, run:") + print(f" diff --recursive {output_dir} {corrupt_dir}") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/tests/test-corrupt-repodata/04-run-conda-lock.sh b/tests/test-corrupt-repodata/04-run-conda-lock.sh new file mode 100644 index 000000000..f0f34a71f --- /dev/null +++ b/tests/test-corrupt-repodata/04-run-conda-lock.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# Script to run conda-lock with a specific pkgs directory inside a Docker container +# +# This script reproduces the corrupt repodata issue by: +# 1. Copying the read-only mounted pkgs directory to a writable location +# 2. Configuring micromamba to use the writable pkgs directory +# 3. Running an explicit install to populate missing package files (generates warnings) +# 4. Running conda-lock which will read from the now-populated but corrupt cache + +set -e + +# Setup editable install of conda-lock from mounted source +bash /setup-editable.sh + +# Configure micromamba to use our custom writable pkgs directory first +echo "Configuring micromamba to use custom pkgs directory..." +micromamba config prepend pkgs_dirs ~/custom-pkgs-writeable/ + +# Verify the configuration +echo "Current pkgs_dirs configuration:" +micromamba config list pkgs_dirs +echo "" + +# Warm the default package cache by performing an explicit install +# This ensures all package files are available without touching our custom metadata +echo "Warming default package cache with explicit install..." +micromamba create -n temp-populate -y -f /explicit.lock +echo "" + +# Now copy the read-only mounted pkgs directory (metadata only) over the warmed cache +echo "Copying pkgs directory to writable location..." +cp -r /custom-pkgs-ro/. ~/custom-pkgs-writeable/ + +# Run conda-lock to generate lockfiles with both conda and mamba +echo "Running conda-lock with conda executable..." +micromamba run -n base conda-lock lock \ + --micromamba \ + --file=/workspace/dev-environment.yaml \ + --platform=linux-64 \ + --conda=/opt/conda/standalone_conda/conda.exe \ + --lockfile=/tmp/lockfile-conda.yml + +echo "" +echo "Recopying pkgs directory to ensure corrupt metadata for second run..." +cp -r /custom-pkgs-ro/. ~/custom-pkgs-writeable/ + +echo "" +echo "Running conda-lock with mamba executable..." +micromamba run -n base conda-lock lock \ + --micromamba \ + --file=/workspace/dev-environment.yaml \ + --platform=linux-64 \ + --conda=/opt/conda/bin/mamba \ + --lockfile=/tmp/lockfile-mamba.yml + +echo "" +echo "Lockfiles generated:" +echo " /tmp/lockfile-conda.yml" +echo " /tmp/lockfile-mamba.yml" + diff --git a/tests/test-corrupt-repodata/04-setup-editable.sh b/tests/test-corrupt-repodata/04-setup-editable.sh new file mode 100644 index 000000000..13a1fc4c4 --- /dev/null +++ b/tests/test-corrupt-repodata/04-setup-editable.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# Setup script to install conda-lock in editable mode from mounted source + +set -e + +if [ -d "/conda-lock-src" ]; then + micromamba run -n base pip check + echo "Setting up editable install from /conda-lock-src..." + micromamba run -n base pip install --no-deps --editable /conda-lock-src + micromamba run -n base pip check + echo "Editable install complete!" +else + echo "No /conda-lock-src found, using existing PyPI install" +fi diff --git a/tests/test-corrupt-repodata/04-test-conda-lock-with-pkgs.py b/tests/test-corrupt-repodata/04-test-conda-lock-with-pkgs.py new file mode 100755 index 000000000..31320006f --- /dev/null +++ b/tests/test-corrupt-repodata/04-test-conda-lock-with-pkgs.py @@ -0,0 +1,262 @@ +"""Test conda-lock lockfile generation with different pkgs directories. + +This script builds a Docker image with conda-lock installed, extracts the +specified pkgs archive, and generates lockfiles to compare the results. + +The pkgs archives contain only metadata files (index.json and repodata_record.json) +from package cache directories. To reproduce the corruption issue, the container will: +1. Warm the default package cache via an explicit install from /explicit.lock +2. Copy the incomplete pkgs directory (metadata only) to a writable location +3. Configure micromamba to use the custom pkgs directory first +4. Run conda-lock, which reads corrupt metadata from the custom pkgs and uses warmed files + +For more context, see: + +""" + +import argparse +import shlex +import shutil +import subprocess +import sys +import tarfile + +from pathlib import Path +from typing import Final + + +SCRIPT_DIR: Final[Path] = Path(__file__).resolve().parent +REPO_ROOT: Final[Path] = SCRIPT_DIR / "../.." +DOCKERFILE_PATH: Final[Path] = SCRIPT_DIR / "04.Dockerfile" +SOURCE_FILE: Final[Path] = SCRIPT_DIR / "../../environments/dev-environment.yaml" +EXPLICIT_LOCK: Final[Path] = SCRIPT_DIR / "01-explicit.lock" +DEFAULT_MICROMAMBA_VERSION: Final[str] = "2.1.0" +DEFAULT_PKGS_ARCHIVE: Final[str] = "2.1.0-pkgs.tar.gz" + + +def build_conda_lock_image(micromamba_version: str = DEFAULT_MICROMAMBA_VERSION) -> str: + """Build Docker image with conda-lock installed. + + Args: + micromamba_version: The micromamba version to use as base + + Returns: + The Docker image tag + """ + image_tag = f"conda-lock-test:{micromamba_version}" + + cmd = [ + "docker", + "build", + f"--file={DOCKERFILE_PATH}", + f"--build-arg=MICROMAMBA_TAG={micromamba_version}", + f"--tag={image_tag}", + str(SCRIPT_DIR), + ] + + print(f"Building Docker image: {image_tag}") + print("Running command:") + print(f" {shlex.join(cmd)}") + print() + + subprocess.run(cmd, check=True) + + return image_tag + + +def remove_container_if_exists(container_name: str) -> None: + """Remove an existing container with the given name, if present. + + This avoids errors from docker run when a prior container with the same + name was left behind (e.g., from an interrupted run). + """ + subprocess.run( + ["docker", "rm", "--force", container_name], + check=False, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + + +def generate_lockfiles_with_pkgs( + image_tag: str, + pkgs_dir: Path, + pkgs_name: str, +) -> tuple[Path, Path]: + """Generate conda-lock lockfiles using a specific pkgs directory. + + The conda-lock source from the repo is mounted and installed in editable mode + at runtime, so changes to the source code are immediately reflected. + + This function generates two lockfiles: one using conda and one using mamba. + + Args: + image_tag: Docker image tag to use + pkgs_dir: Path to the pkgs directory to mount as cache + pkgs_name: Name of the pkgs directory (e.g., "2.1.0-pkgs") + + Returns: + Tuple of (conda_lockfile_path, mamba_lockfile_path) + """ + output_conda = SCRIPT_DIR / f"lockfile-{pkgs_name}-lock-with-conda.yml" + output_mamba = SCRIPT_DIR / f"lockfile-{pkgs_name}-lock-with-mamba.yml" + + print("Generating lockfiles:") + print(f" {output_conda}") + print(f" {output_mamba}") + print(f"Using pkgs directory: {pkgs_dir}") + print("Using editable install from local source") + print() + + # Build docker run command - mount custom pkgs directory and source + # The pkgs directory is mounted as read-only and will be copied to a writable location + # The run-conda-lock.sh script will: + # 1. Copy /custom-pkgs-ro to ~/custom-pkgs-writeable + # 2. Configure micromamba to use ~/custom-pkgs-writeable + # 3. Run explicit install to populate missing package files + # 4. Run conda-lock twice (once with conda, once with mamba) + # We can't use --rm because we need to copy the files out after the container exits. + container_name = f"conda-lock-temp-{pkgs_name}" + + # Ensure any prior container is removed to avoid name conflicts + remove_container_if_exists(container_name) + + cmd = [ + "docker", + "run", + "--interactive", + "--tty", + f"--name={container_name}", + f"--volume={SOURCE_FILE}:/workspace/dev-environment.yaml:ro", + f"--volume={pkgs_dir}:/custom-pkgs-ro:ro", + f"--volume={EXPLICIT_LOCK}:/explicit.lock:ro", + f"--volume={REPO_ROOT}:/conda-lock-src:ro", + f"--volume={SCRIPT_DIR / '04-setup-editable.sh'}:/setup-editable.sh:ro", + f"--volume={SCRIPT_DIR / '04-run-conda-lock.sh'}:/run-conda-lock.sh:ro", + image_tag, + "bash", + "/run-conda-lock.sh", + ] + + print("Running command:") + print(f" {shlex.join(cmd)}") + print() + try: + subprocess.run(cmd, check=True) + + # Copy both lockfiles out of the container + print("Copying lockfiles from container...") + subprocess.run( + [ + "docker", + "cp", + f"{container_name}:/tmp/lockfile-conda.yml", + str(output_conda), + ], + check=True, + ) + subprocess.run( + [ + "docker", + "cp", + f"{container_name}:/tmp/lockfile-mamba.yml", + str(output_mamba), + ], + check=True, + ) + finally: + # Clean up the container + remove_container_if_exists(container_name) + + print("Generated:") + print(f" {output_conda}") + print(f" {output_mamba}") + print() + return output_conda, output_mamba + + +def main() -> None: + """Test conda-lock with different pkgs directories.""" + parser = argparse.ArgumentParser( + description="Test conda-lock lockfile generation with different pkgs directories" + ) + parser.add_argument( + "--micromamba-version", + default=DEFAULT_MICROMAMBA_VERSION, + help=f"Micromamba version for base image (default: {DEFAULT_MICROMAMBA_VERSION})", + ) + parser.add_argument( + "--pkgs-archive", + dest="pkgs_archive_name", + default=DEFAULT_PKGS_ARCHIVE, + help=f"Name of pkgs archive to use (default: {DEFAULT_PKGS_ARCHIVE})", + ) + args = parser.parse_args() + + # Build the Docker image + image_tag = build_conda_lock_image(args.micromamba_version) + + # Determine paths + pkgs_archive = SCRIPT_DIR / args.pkgs_archive_name + + # Check if archive exists + if not pkgs_archive.exists(): + print( + f"Error: Archive not found: {pkgs_archive}", + file=sys.stderr, + ) + # Try to extract version from filename like "2.1.0-pkgs.tar.gz" + archive_stem = pkgs_archive.stem.replace(".tar", "") # Remove .tar from .tar.gz + version = archive_stem.split("-")[0] if "-" in archive_stem else "VERSION" + print( + f"Run: python 02-reproduce-corrupt-repodata-via-upstream.py --version={version}", + file=sys.stderr, + ) + sys.exit(1) + + # Determine extraction directory name (remove .tar.gz suffix) + pkgs_name = pkgs_archive.stem.replace( + ".tar", "" + ) # e.g., "2.1.0-pkgs.tar.gz" -> "2.1.0-pkgs" + pkgs_dir = SCRIPT_DIR / pkgs_name + + # Always delete and re-extract to ensure fresh state + if pkgs_dir.exists(): + if not pkgs_dir.name.endswith("-pkgs"): + raise ValueError( + f"Safety check failed: refusing to delete {pkgs_dir} (does not end with '-pkgs')" + ) + shutil.rmtree(pkgs_dir) + print(f"Extracting {pkgs_archive}...") + with tarfile.open(pkgs_archive, "r:gz") as tf: + tf.extractall(path=SCRIPT_DIR) + print() + + # Generate lockfiles with both conda and mamba + lockfile_conda, lockfile_mamba = generate_lockfiles_with_pkgs( + image_tag, pkgs_dir, pkgs_name + ) + + print("=" * 60) + print("Success!") + print("Generated lockfiles:") + print(f" {lockfile_conda} (using conda)") + print(f" {lockfile_mamba} (using mamba)") + print() + print("To compare lockfiles, run:") + print( + " diff lockfile-2.1.0-pkgs-lock-with-conda.yml lockfile-2.1.1-pkgs-lock-with-conda.yml" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-mamba.yml lockfile-2.1.1-pkgs-lock-with-mamba.yml" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-conda.yml lockfile-2.3.3-pkgs-lock-with-conda.yml" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-mamba.yml lockfile-2.3.3-pkgs-lock-with-mamba.yml" + ) + + +if __name__ == "__main__": + main() diff --git a/tests/test-corrupt-repodata/04.Dockerfile b/tests/test-corrupt-repodata/04.Dockerfile new file mode 100644 index 000000000..db71bf05f --- /dev/null +++ b/tests/test-corrupt-repodata/04.Dockerfile @@ -0,0 +1,12 @@ +ARG MICROMAMBA_TAG=latest + +FROM mambaorg/micromamba:${MICROMAMBA_TAG} + +# Install Python and pip +RUN micromamba install -y -n base -c conda-forge python pip git mamba less nano conda-standalone + +# Install conda-lock from PyPI as a base +# This will be replaced with an editable install at runtime if desired +RUN micromamba run -n base pip install conda-lock + +WORKDIR /workspace diff --git a/tests/test-corrupt-repodata/05-render-explicit-lockfiles.py b/tests/test-corrupt-repodata/05-render-explicit-lockfiles.py new file mode 100644 index 000000000..b5f89f90f --- /dev/null +++ b/tests/test-corrupt-repodata/05-render-explicit-lockfiles.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""Render explicit lockfiles from unified lockfiles. + +This script takes the unified lockfiles generated by 04-test-conda-lock-with-pkgs.py +and renders them to explicit format for comparison. + +For more context, see: + +""" + +import subprocess +import sys + +from pathlib import Path +from typing import Final + + +SCRIPT_DIR: Final[Path] = Path(__file__).resolve().parent +PLATFORM: Final[str] = "linux-64" + + +def render_explicit_lockfile(unified_lockfile: Path) -> Path: + """Render an explicit lockfile from a unified lockfile. + + Args: + unified_lockfile: Path to the unified lockfile + + Returns: + Path to the generated explicit lockfile + """ + # Determine output filename + # e.g., lockfile-2.1.0-pkgs-lock-with-conda.yml -> lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock + stem = unified_lockfile.stem # Remove .yml + output_file = unified_lockfile.parent / f"{stem}-explicit.lock" + + cmd = [ + "conda-lock", + "render", + "--kind=explicit", + f"--platform={PLATFORM}", + f"--filename-template={output_file}", + unified_lockfile, + ] + + subprocess.run(cmd, check=True, capture_output=False) + + return output_file + + +def main() -> None: + """Render all unified lockfiles to explicit format.""" + # Find all unified lockfiles + pattern = "lockfile-*-lock-with-*.yml" + lockfiles = sorted(SCRIPT_DIR.glob(pattern)) + + if not lockfiles: + print(f"Error: No lockfiles found matching pattern: {pattern}", file=sys.stderr) + print("Run: python 04-test-conda-lock-with-pkgs.py first", file=sys.stderr) + sys.exit(1) + + print(f"Found {len(lockfiles)} unified lockfiles to render") + print() + + # Render all lockfiles to explicit format + explicit_lockfiles = [] + for lockfile in lockfiles: + print(f"Rendering: {lockfile.name}") + explicit_lockfile = render_explicit_lockfile(lockfile) + explicit_lockfiles.append(explicit_lockfile) + print(f" → {explicit_lockfile.name}") + + print() + print("=" * 60) + print("Success!") + print(f"Rendered {len(explicit_lockfiles)} explicit lockfiles") + print() + print("To compare explicit lockfiles, run:") + print( + " diff lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock lockfile-2.1.1-pkgs-lock-with-conda-explicit.lock" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock lockfile-2.1.1-pkgs-lock-with-mamba-explicit.lock" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock lockfile-2.3.3-pkgs-lock-with-conda-explicit.lock" + ) + print( + " diff lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock lockfile-2.3.3-pkgs-lock-with-mamba-explicit.lock" + ) + + +if __name__ == "__main__": + main() diff --git a/tests/test-corrupt-repodata/2.1.0-pkgs.tar.gz b/tests/test-corrupt-repodata/2.1.0-pkgs.tar.gz new file mode 100644 index 000000000..d70df81f0 Binary files /dev/null and b/tests/test-corrupt-repodata/2.1.0-pkgs.tar.gz differ diff --git a/tests/test-corrupt-repodata/2.1.1-pkgs.tar.gz b/tests/test-corrupt-repodata/2.1.1-pkgs.tar.gz new file mode 100644 index 000000000..6aca06aea Binary files /dev/null and b/tests/test-corrupt-repodata/2.1.1-pkgs.tar.gz differ diff --git a/tests/test-corrupt-repodata/2.3.3-pkgs.tar.gz b/tests/test-corrupt-repodata/2.3.3-pkgs.tar.gz new file mode 100644 index 000000000..f24457329 Binary files /dev/null and b/tests/test-corrupt-repodata/2.3.3-pkgs.tar.gz differ diff --git a/tests/test-corrupt-repodata/README.md b/tests/test-corrupt-repodata/README.md new file mode 100644 index 000000000..24bb634dc --- /dev/null +++ b/tests/test-corrupt-repodata/README.md @@ -0,0 +1,344 @@ +# Mitigations for repodata corruption + +An upstream [regression in libmamba](https://github.com/mamba-org/mamba/issues/4052) causes repodata to be corrupted. +The affected mamba/micromamba versions are 2.1.1 through 2.3.2. +The regression was partially fixed in [mamba-org/mamba#4071](https://github.com/mamba-org/mamba/pull/4071) and released as version 2.3.3. + +## Metadata overview + +Conda packages cached under the package cache contain metadata under `info/`: + +- **`info/index.json`** is written at build time by `conda-build`. It describes the package as shipped in the artifact (name, version, build, depends, constrains, ...). This is the "as-built" view. Since the SHA256 and MD5 checksums of the build archive can only be computed once the build is complete, it is impossible to include them within `index.json`. + +- **`info/repodata_record.json`** is written (or backfilled) at install/extract time by conda/mamba. Its purpose is to store the channel-style record that the solver actually used — i.e. the entry from the channel’s `repodata.json`, which may include later fixes (repodata patches, e.g. [from conda-forge](https://github.com/conda-forge/conda-forge-repodata-patches)) and therefore can differ from index.json. +If the package didn’t already have such a file, conda will synthesize one from index.json to make the cache uniform. That means the file usually represents “the channel’s view at install time,” but on older/broken installs it can be only “the best local reconstruction” — or, in the presence of bugs, even a degraded record. + +## The corruption pattern + +When installing packages from an explicit lockfile (e.g., `micromamba install -f 01-explicit.lock`), affected versions write incorrect metadata to `repodata_record.json` files in the package cache. + +### 2.1.1–2.3.2 (full corruption) + +The following fields are corrupted in `repodata_record.json`: + +- `depends` → `[]` (emptied) +- `constrains` → `[]` (emptied) +- `license` → `""` (emptied) +- `timestamp` → `0` +- `build_number` → `0` +- `track_features` → `""` + +The corresponding `info/index.json` files remain correct; only `repodata_record.json` is corrupted. + +### 2.3.3 (partial fix) + +Upstream fixed how `depends` and `constrains` are populated: they are now copied from `info/index.json`. Other fields remain zeroed/emptied. + +- `depends` → copied exactly from `index.json` (key omitted if absent) +- `constrains` → copied from `index.json`; empty lists are omitted +- `license` → `""` +- `timestamp` → `0` +- `build_number` → `0` +- `track_features` → `""` + +This means 2.3.3 still differs from a good cache, but only in the four metadata fields above; dependency-related fields match `index.json`. + +### Field-by-field behavior + +| Field | 2.1.0 (good) | 2.1.1–2.3.2 (bug) | 2.3.3 (partial fix) | +|-----------------|---------------|--------------------|---------------------------------| +| depends | correct | [] | from `index.json` (omit if none) | +| constrains | correct | [] | from `index.json` (omit if empty) | +| license | correct | "" | "" | +| timestamp | correct | 0 | 0 | +| build_number | correct | 0 | 0 | +| track_features | correct | "" | "" | + +See upstream fix PR `mamba-org/mamba#4071` for details. + +## Manifest + +This suite is organized into five stages. Each stage lists the scripts, prerequisite files, and the output artifacts it produces. The focus is on what files are used and generated, and what they are for. + +### Stage 01 — Generate a sample explicit lockfile + +- Scripts + - `01-generate-sample-explicit-lockfile.py`: Generates a baseline explicit lockfile used by later stages. +- Prerequisites + - `environments/conda-lock.yml` (repository root): Source environment specification from which the explicit lockfile is produced. + - `conda-lock` available on PATH. +- Outputs + - `01-explicit.lock`: Explicit lockfile for `linux-64`. Used to populate caches in Stage 02/04 and as a baseline for reproducibility. + +### Stage 02 — Reproduce corrupt repodata via upstream (per micromamba version) + +- Scripts + - `02-reproduce-corrupt-repodata-via-upstream.py`: Builds and runs a Docker container to install from `01-explicit.lock` using a specific micromamba version, then extracts only package metadata. +- Supporting files + - `02.Dockerfile`: Minimal image definition used by Stage 02 to perform an explicit install and extract metadata. +- Prerequisites + - `01-explicit.lock` (from Stage 01). + - Docker installed and running. +- Outputs + - `{version}-pkgs.tar.gz`: Compressed archive containing only `info/index.json` and `info/repodata_record.json` for each package installed by that micromamba version. This file is committed and serves as the source of truth for comparisons. + - `{version}-pkgs/`: Extracted directory for inspection when running scripts. This directory is ignored by git and can be regenerated from the `.tar.gz`. + +### Stage 03 — Simulate corruption by clobbering (optional verification) + +- Scripts + - `03-clobber-pkgs.py`: Applies the known corruption patterns to a copy of a good cache and verifies the result matches a target corrupt version exactly. +- Prerequisites + - `{input-version}-pkgs.tar.gz`: The baseline metadata archive to corrupt (e.g., `2.1.0-pkgs.tar.gz`). + - `{corrupt-version}-pkgs.tar.gz`: The target corrupt reference archive (e.g., `2.1.1-pkgs.tar.gz` or `2.3.3-pkgs.tar.gz`) used for verification. +- Outputs + - `clobbered-{input-version}-pkgs/`: Directory containing simulated corruption. Used for verification and inspection; ignored by git. + +### Stage 04 — Generate unified lockfiles with different caches and solvers + +- Scripts + - `04-test-conda-lock-with-pkgs.py`: Orchestrates Docker build and execution to generate unified lockfiles using different package caches (good vs. corrupt). + - `04-run-conda-lock.sh`: Runs inside the container. Warms caches, copies corrupt metadata into place, runs `conda-lock` twice (once with `conda.exe`, once with `mamba`), and recopies the corrupt metadata between runs to keep it intact. +- Supporting files + - `04.Dockerfile`: Image providing micromamba, mamba, conda-standalone, Python, git, and `conda-lock`. + - `04-setup-editable.sh`: Sets up an editable install of `conda-lock` from the mounted repository inside the container. +- Prerequisites + - `{version}-pkgs.tar.gz` (from Stage 02): Metadata archive for the selected micromamba version. + - `01-explicit.lock` (from Stage 01): Used to populate and warm the default package cache in the container. + - `environments/dev-environment.yaml` (repository root): Source file used by `conda-lock` to produce unified lockfiles. +- Outputs + - `lockfile-{pkgs-name}-lock-with-conda.yml`: Unified lockfile produced using `--conda=/opt/conda/standalone_conda/conda.exe`. + - `lockfile-{pkgs-name}-lock-with-mamba.yml`: Unified lockfile produced using `--conda=/opt/conda/bin/mamba`. + - `{pkgs-name}/`: Extracted metadata directory mounted into the container (regenerated as needed); ignored by git. + +### Stage 05 — Render explicit lockfiles from unified lockfiles + +- Scripts + - `05-render-explicit-lockfiles.py`: Renders all unified lockfiles to explicit format using `conda-lock render --kind=explicit`. +- Prerequisites + - Unified lockfiles matching `lockfile-*-lock-with-*.yml` (from Stage 04). + - `conda-lock` available on PATH. +- Outputs + - `lockfile-{pkgs-name}-lock-with-{solver}-explicit.lock`: Explicit lockfiles (one per unified lockfile) used for direct comparison. These are the exact artifacts `conda-lock install` consumes prior to installation. + +## Reproducing the issue + +This directory contains scripts to reproduce the corrupt repodata issue by running different micromamba versions in Docker. + +### Generating the explicit lockfile + +The `01-explicit.lock` file is generated from the main conda-lock environment: + +```bash +cd tests/test-corrupt-repodata +python 01-generate-sample-explicit-lockfile.py +``` + +This will generate `01-explicit.lock` from `environments/conda-lock.yml`. + +### Extracting repodata from different micromamba versions + +Run the script with different versions to extract and compare repodata records: + +```bash +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.1.0 +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.1.1 +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.3.3 +``` + +This will create version-specific compressed archives (e.g., `2.1.0-pkgs.tar.gz`, `2.1.1-pkgs.tar.gz`, `2.3.3-pkgs.tar.gz`) containing the `index.json` and `repodata_record.json` files from each package's `info/` directory. + +### Comparing results + +The archives contain filtered package metadata. The scripts will automatically extract them to `{version}-pkgs/` directories when run (always fresh extraction). To manually compare: + +```bash +rm -rf 2.1.0-pkgs 2.1.1-pkgs 2.3.3-pkgs +tar -xzf 2.1.0-pkgs.tar.gz +tar -xzf 2.1.1-pkgs.tar.gz +tar -xzf 2.3.3-pkgs.tar.gz +diff -r 2.1.0-pkgs/ 2.1.1-pkgs/ +diff -r 2.1.0-pkgs/ 2.3.3-pkgs/ +``` + +The corrupt versions will have different corruption patterns: + +- **2.1.1–2.3.2**: Full corruption — `depends`/`constrains` emptied; `license`/`timestamp`/`build_number`/`track_features` zeroed/empty +- **2.3.3**: Partial fix — `depends`/`constrains` copied from `index.json` (empty constrains omitted); other fields still zeroed/empty + +**Note:** Extracted directories are kept for inspection and ignored by git. The `.tar.gz` archives are the source of truth and should be committed to git. + +### Simulating the corruption + +To verify that the corruption pattern is well-understood, you can apply the same corruption to a good version: + +```bash +# Test the 2.1.1 pattern (full corruption) +python 03-clobber-pkgs.py --corrupt-version=2.1.1 --pattern=2.1.1 + +# Test the 2.3.3 pattern (partial fix — depends/constrains from index.json) +python 03-clobber-pkgs.py --corrupt-version=2.3.3 --pattern=2.3.3 +``` + +This script: + +1. Extracts the input and corrupt pkgs archives (always fresh) +2. Copies the good pkgs to `clobbered-{version}-pkgs/` +3. Applies the specified corruption pattern to all `repodata_record.json` files: + - **2.1.1**: Sets `depends`/`constrains` to `[]`, zeros the other fields + - **2.3.3**: Reads `info/index.json` and sets `depends`/`constrains` to match (omits absent/empty), zeros the other fields +4. Runs `diff` to verify the clobbered files match the corrupt version exactly +5. Exits with status 0 if they match, 1 if they differ + +If the corruption pattern is correctly understood, the diff should be empty and the script will report success. + +The extracted directories are kept for inspection after the script completes. + +## Testing conda-lock with different pkgs directories + +To test how conda-lock behaves when reading from different package caches, use the fourth script: + +```bash +# Generate lockfiles using the good 2.1.0 cache (tests both conda and mamba) +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.1.0-pkgs.tar.gz + +# Generate lockfiles using the corrupt 2.1.1 cache +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.1.1-pkgs.tar.gz + +# Generate lockfiles using the corrupt 2.3.3 cache +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.3.3-pkgs.tar.gz +``` + +This will: + +1. Build a Docker image with conda-lock installed from PyPI +2. Extract the specified `.tar.gz` archive (always fresh) +3. Mount the extracted pkgs directory as `/custom-pkgs-ro` (read-only) +4. Mount the explicit lockfile (`01-explicit.lock`) for populating the cache +5. Inside the container: + - Setup conda-lock in editable mode from the mounted source + - Configure micromamba to use `~/custom-pkgs-writeable/` as the first pkgs directory + - Warm the default package cache with `micromamba create -n temp-populate -y -f /explicit.lock` + - Copy the custom pkgs directory to `~/custom-pkgs-writeable/` (overwrites the warmed cache metadata) + - Run conda-lock with `--conda=/opt/conda/standalone_conda/conda.exe` → `lockfile-{pkgs-dir}-lock-with-conda.yml` + - Recopy the custom pkgs directory to ensure corrupt metadata for the second run + - Run conda-lock with `--conda=/opt/conda/bin/mamba` → `lockfile-{pkgs-dir}-lock-with-mamba.yml` +6. Copy both lockfiles out of the container + +**Why these steps are necessary:** + +- The extracted archives only contain `index.json`/`repodata_record.json` (metadata), not the actual package files +- Configuring the custom pkgs directory first ensures micromamba will check there before the default cache +- Warming the default cache populates it with all package files (including metadata) +- Copying the custom pkgs directory **after** warming overwrites the good metadata with corrupt metadata +- This creates a hybrid cache: corrupt metadata from custom pkgs, but complete package files from the warmed default cache +- conda-lock reads the corrupt metadata but can still access the package files it needs +- Recopying before the second run ensures any metadata repairs from the first run don't affect the second + +**Why test both conda and mamba:** + +- Different conda executables may handle corrupt metadata differently +- This helps identify whether the corruption affects all solvers or just specific ones + +Compare the generated lockfiles to see how corrupt metadata affects the output: + +```bash +# Compare good vs corrupt cache (conda) +diff lockfile-2.1.0-pkgs-lock-with-conda.yml lockfile-2.1.1-pkgs-lock-with-conda.yml +diff lockfile-2.1.0-pkgs-lock-with-conda.yml lockfile-2.3.3-pkgs-lock-with-conda.yml + +# Compare good vs corrupt cache (mamba) +diff lockfile-2.1.0-pkgs-lock-with-mamba.yml lockfile-2.1.1-pkgs-lock-with-mamba.yml +diff lockfile-2.1.0-pkgs-lock-with-mamba.yml lockfile-2.3.3-pkgs-lock-with-mamba.yml + +# Compare conda vs mamba (same cache) +diff lockfile-2.1.0-pkgs-lock-with-conda.yml lockfile-2.1.0-pkgs-lock-with-mamba.yml +``` + +This allows us to verify whether corrupt `repodata_record.json` files lead to corrupt lockfile entries (missing dependencies, missing sha256, etc.). + +## Rendering explicit lockfiles + +The `conda-lock install` command internally renders the unified lockfile to an explicit lockfile before installing. Packages are missing from the resulting environment if and only if they are missing from the explicit lockfile. Therefore, comparing explicit lockfiles directly demonstrates the symptom of missing packages without needing to actually install environments. + +To render all unified lockfiles to explicit format for comparison: + +```bash +python 05-render-explicit-lockfiles.py +``` + +This will render all unified lockfiles to explicit format using `conda-lock render --kind=explicit`. + +Compare the explicit lockfiles to see which packages are missing due to corrupt metadata: + +```bash +# Compare good vs corrupt cache (conda) +diff lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock lockfile-2.1.1-pkgs-lock-with-conda-explicit.lock +diff lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock lockfile-2.3.3-pkgs-lock-with-conda-explicit.lock + +# Compare good vs corrupt cache (mamba) +diff lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock lockfile-2.1.1-pkgs-lock-with-mamba-explicit.lock +diff lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock lockfile-2.3.3-pkgs-lock-with-mamba-explicit.lock +``` + +**Expected behavior:** + +- Lockfiles generated from good cache (2.1.0) should have complete package sets +- Lockfiles generated from corrupt cache (2.1.1) will have missing packages due to incomplete dependency information (empty `depends`/`constrains`) +- Lockfiles generated from partially fixed cache (2.3.3) should be complete, as the `depends`/`constrains` fields were restored from `index.json` +- The diff will show which package URLs are missing in the corrupt versions + +This demonstrates the real-world symptom where lockfiles generated with corrupt metadata (2.1.1) are incomplete, leading to missing packages when users install from these explicit lockfiles. The 2.3.3 partial fix restored dependency information, so those lockfiles should match the baseline. + +## Command summary + +### Remove all artifacts + +Delete artifacts in chronological creation order (Stages 01 → 05). This removes everything, including previously committed reference archives. + +```bash +cd tests/test-corrupt-repodata + +# Stage 01: baseline explicit lockfile +rm -f 01-explicit.lock + +# Stage 02: extracted directories and reference archives +rm -rf -- *-pkgs/ +rm -f *-pkgs.tar.gz + +# Stage 03: simulated corrupt directories +rm -rf -- clobbered-*-pkgs/ + +# Stage 04: unified lockfiles +rm -f lockfile-*-lock-with-*.yml + +# Stage 05: explicit lockfiles +rm -f lockfile-*-lock-with-*-explicit.lock +``` + +### Generate all artifacts + +This reproduces the entire flow across all stages and versions. + +```bash +cd tests/test-corrupt-repodata + +# Stage 01: generate baseline explicit lockfile +python 01-generate-sample-explicit-lockfile.py + +# Stage 02: extract metadata from upstream micromamba versions +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.1.0 +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.1.1 +python 02-reproduce-corrupt-repodata-via-upstream.py --version 2.3.3 + +# Stage 03: simulate corruption to verify patterns match corrupt baselines +python 03-clobber-pkgs.py --input-version 2.1.0 --corrupt-version 2.1.1 --pattern 2.1.1 +python 03-clobber-pkgs.py --input-version 2.1.0 --corrupt-version 2.3.3 --pattern 2.3.3 + +# Stage 04: generate unified lockfiles (conda and mamba) for each cache +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.1.0-pkgs.tar.gz +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.1.1-pkgs.tar.gz +python 04-test-conda-lock-with-pkgs.py --pkgs-archive 2.3.3-pkgs.tar.gz + +# Stage 05: render explicit lockfiles from unified lockfiles +python 05-render-explicit-lockfiles.py +``` diff --git a/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock new file mode 100644 index 000000000..103fe08ba --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda-explicit.lock @@ -0,0 +1,183 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda#f9e5fbc24009179e8b0409624691758a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda#f7f0d6cc2dc986d42ac2689ec88192be +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda#280ea6eee9e2ddefde25ff799c4f0363 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 +https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda#a587892d3c13b6621a6091be690dbca2 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda#f627678cf829bd70bccf141a19c3ad3e +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda#7fa07cb0fb1b625a089ccc01218ee5b1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda#8eef974130690cf385b569ecdeed2cf0 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda#679616eb5ad4e521c83da4650860aba7 +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda#767d508c1a67e02ae8f50e44cacfadb2 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda#71d9c4f6a05a4b9da1b03b973e078db0 +https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2#586272349d7bef5b1ef527b56dca73cb +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda#3ef9d2a701760467b9db2338b6cd926f +https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda#257ae203f1d204107ba389607d375ded +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda#57df494053e17dce2ac3a0b33e1b2a2e +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda#a22d1fd9bf98827e280a02875d9a007a +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda#003b8ba0a94e2f1e117d0bd46aebc901 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda#a71efeae2c160f6789900ba2631a2c90 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda#66b8b26023b8efdf8fcb23bac4b6325d +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac +https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda#53abe63df7e10a6ba605dc5f9f961d36 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda#3a804714ed59be1969ffca10f703ec2a +https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda#b4b91eb14fbe2f850dd2c5fc20676c0d +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda#d7620a15dc400b448e1c88a981b23ddd +https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda#aee1c9aecc66339ea6fd89e6a143a282 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda#bc8e3267d44011051f2eb14d22fb0960 +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda#87f47a78808baf2fa1ea9c315a1e48f1 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda#df837d654933488220b454c6a3b0fad6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda#6ff84b39468623308dee97e5dfbafca0 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc +https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda#c85c76dc67d75619a92f51dfbce06992 +https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda#ade6b25a6136661dadd1a43e4350b10b +https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda#b86839fa387a5b904846e77c84167e57 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda#7ba3f09fceae6a120d664217e58fe686 +https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda#d4582021af437c931d7d77ec39007845 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda#cfccfd4e8d9de82ed75c8e2c91cab375 +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda#f291630db5dc438b6ce37c2bb1a96516 +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda#bcc023a32ea1c44a790bbf1eae473486 +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda#287eabdd0b0a176376968b84c2707bd8 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda#28303a78c48916ab07b95ffdbffdfd6c +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda#68bd13651618354987763f746ee1fadc +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda#25f954b7dae6dd7b0dc004dab74f1ce9 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda#a804c54ce3a1aed268b13657b79825b8 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda.yml b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda.yml new file mode 100644 index 000000000..6c7f10711 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-conda.yml @@ -0,0 +1,2384 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-conda.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-conda.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-conda.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-conda.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _libgcc_mutex + version: '0.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + hash: + md5: d7c89558ba9fa0495403155b64376d81 + category: main + optional: false +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: '0.1' + libgomp: '>=7.5.0' + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + category: main + optional: false +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pytz: '>=2015.7' + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backports + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda + hash: + md5: 767d508c1a67e02ae8f50e44cacfadb2 + category: dev + optional: true +- name: backports.tarfile + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + backports: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: df837d654933488220b454c6a3b0fad6 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bcrypt + version: 5.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda + hash: + md5: 71d9c4f6a05a4b9da1b03b973e078db0 + category: dev + optional: true +- name: bracex + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 586272349d7bef5b1ef527b56dca73cb + category: dev + optional: true +- name: brotli-python + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda + hash: + md5: 3ef9d2a701760467b9db2338b6cd926f + sha256: 9f6d339fb78b647be35e3564dac453d8d2f1b865ba72fb961eaac41061368699 + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + category: main + optional: false +- name: c-ares + version: 1.34.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + hash: + md5: f7f0d6cc2dc986d42ac2689ec88192be + category: dev + optional: true +- name: ca-certificates + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + url: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + hash: + md5: f9e5fbc24009179e8b0409624691758a + category: main + optional: false +- name: certifi + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + hash: + md5: 257ae203f1d204107ba389607d375ded + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: cfgv + version: 3.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda + hash: + md5: 57df494053e17dce2ac3a0b33e1b2a2e + category: dev + optional: true +- name: charset-normalizer + version: 3.4.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + hash: + md5: a22d1fd9bf98827e280a02875d9a007a + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: click + version: 8.3.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + hash: + md5: e76c4ba9e1837847679421b8d549b784 + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + category: dev + optional: true +- name: coverage + version: 7.11.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + tomli: '' + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda + hash: + md5: 6ff84b39468623308dee97e5dfbafca0 + sha256: d928f6d0567807c8a09786e18966445b011ec2eb85c7e18382c0b4870cf12f17 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: cryptography + version: 46.0.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.14' + libgcc: '>=14' + openssl: '>=3.5.4,<4.0a0' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda + hash: + md5: f291630db5dc438b6ce37c2bb1a96516 + sha256: 4bf88483f944b5624269c926369002d58951627a369aeac1e2cd64a6aa00eb05 + category: dev + optional: true +- name: dbus + version: 1.16.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libexpat: '>=2.7.0,<3.0a0' + libgcc: '>=13' + libglib: '>=2.84.2,<3.0a0' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + hash: + md5: 679616eb5ad4e521c83da4650860aba7 + category: dev + optional: true +- name: distlib + version: 0.4.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: 003b8ba0a94e2f1e117d0bd46aebc901 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: + paramiko: '>=2.4.3' + python: '>=3.9' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '' + python: '>=3.5' + pyyaml: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: execnet + version: 2.1.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda + hash: + md5: a71efeae2c160f6789900ba2631a2c90 + category: dev + optional: true +- name: filelock + version: 3.20.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + hash: + md5: 66b8b26023b8efdf8fcb23bac4b6325d + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: ghp-import + version: 2.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.8.1' + url: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + hash: + md5: 93f742fe078a7b34c29a182958d4d765 + category: dev + optional: true +- name: gitdb + version: 4.0.12 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + smmap: '>=3.0.1,<6' + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + hash: + md5: 7c14f3706e099f8fcd47af2d494616cc + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.9' + typing_extensions: '>=3.10.0.2' + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: h2 + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + hpack: '>=4.1,<5' + hyperframe: '>=6.1,<7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + hash: + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + category: dev + optional: true +- name: hpack + version: 4.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + hash: + md5: 0a802cb9888dd14eeefc611f05c40b6e + category: dev + optional: true +- name: hyperframe + version: 6.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + hash: + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: main + optional: false +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: identify + version: 2.6.15 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + ukkonen: '' + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + hash: + md5: 25f954b7dae6dd7b0dc004dab74f1ce9 + sha256: 32d5007d12e5731867908cbf5345f5cd44a6c8755a2e8e63e15a184826a51f82 + category: dev + optional: true +- name: idna + version: '3.11' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + hash: + md5: 53abe63df7e10a6ba605dc5f9f961d36 + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + zipp: '>=3.20' + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + category: dev + optional: true +- name: importlib_resources + version: 6.5.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + zipp: '>=3.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + hash: + md5: c85c76dc67d75619a92f51dfbce06992 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: invoke + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + hash: + md5: 3a804714ed59be1969ffca10f703ec2a + sha256: 5a4e3a01f626c8de15ddada622d364e94ff28e8d6bdedf1665442ef03a4e0140 + category: dev + optional: true +- name: jaraco.classes + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda + hash: + md5: ade6b25a6136661dadd1a43e4350b10b + category: dev + optional: true +- name: jaraco.context + version: 6.0.1 + manager: conda + platform: linux-64 + dependencies: + backports.tarfile: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda + hash: + md5: bcc023a32ea1c44a790bbf1eae473486 + category: dev + optional: true +- name: jaraco.functools + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda + hash: + md5: b86839fa387a5b904846e77c84167e57 + category: dev + optional: true +- name: jeepney + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda + hash: + md5: b4b91eb14fbe2f850dd2c5fc20676c0d + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: + markupsafe: '>=2.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: + __linux: '' + importlib-metadata: '>=4.11.4' + importlib_resources: '' + jaraco.classes: '' + jaraco.context: '' + jaraco.functools: '' + jeepney: '>=0.4.2' + python: '>=3.9' + secretstorage: '>=3.2' + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: keyutils + version: 1.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + hash: + md5: b38117a3c920364aff79f870c984b4a3 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: + keyutils: '>=1.6.1,<2.0a0' + libedit: '>=3.1.20191231,<4.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.3.1,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: main + optional: false +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libedit + version: 3.1.20250104 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + hash: + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + category: dev + optional: true +- name: libev + version: '4.33' + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + hash: + md5: 172bf1cd1ff8629f2b1179945ed45055 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: main + optional: false +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: main + optional: false +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + category: main + optional: false +- name: libgcc-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + hash: + md5: 280ea6eee9e2ddefde25ff799c4f0363 + category: main + optional: false +- name: libglib + version: 2.86.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + pcre2: '>=10.46,<10.47.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + hash: + md5: 8eef974130690cf385b569ecdeed2cf0 + sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 + category: dev + optional: true +- name: libgomp + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + hash: + md5: f7b4d76975aac7e5d9e6ad13845f92fe + category: main + optional: false +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + category: main + optional: false +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: main + optional: false +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + c-ares: '>=1.34.5,<2.0a0' + libev: '>=4.33,<5.0a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.2,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsodium + version: 1.0.20 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + hash: + md5: a587892d3c13b6621a6091be690dbca2 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: main + optional: false +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + category: main + optional: false +- name: libstdcxx-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libstdcxx: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + hash: + md5: f627678cf829bd70bccf141a19c3ad3e + category: main + optional: false +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: main + optional: false +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + category: main + optional: false +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: markupsafe + version: 3.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda + hash: + md5: fab1be106a50e20f10fe5228fd1d1651 + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mergedeep + version: 1.3.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + hash: + md5: d9a8fc1f01deae61735c88ec242e855c + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: + 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' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.1' + markdown: '>=3.3' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-get-deps + version: 0.2.0 + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.3' + mergedeep: '>=1.3.4' + platformdirs: '>=2.2.0' + python: '>=3.9' + pyyaml: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda + hash: + md5: 84382acddb26c27c70f2de8d4c830830 + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + category: dev + optional: true +- name: more-itertools + version: 10.8.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda + hash: + md5: d7620a15dc400b448e1c88a981b23ddd + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + mypy_extensions: '>=1.0.0' + pathspec: '>=0.9.0' + psutil: '>=4.0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: mypy_extensions + version: 1.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + hash: + md5: e9c622e0d00fa24a6292279af3ab6d06 + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + category: main + optional: false +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + category: dev + optional: true +- name: nodeenv + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + setuptools: '' + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + hash: + md5: 7ba3f09fceae6a120d664217e58fe686 + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + ca-certificates: '' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: main + optional: false +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + category: dev + optional: true +- name: paramiko + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + invoke: '>=2.0' + pynacl: '>=1.5' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + category: dev + optional: true +- name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + category: dev + optional: true +- name: pcre2 + version: '10.46' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + hash: + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.13.0a0' + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: platformdirs + version: 4.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + hash: + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + category: dev + optional: true +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9' + pyyaml: '>=5.1' + virtualenv: '>=20.10.0' + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: psutil + version: 7.1.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda + hash: + md5: aee1c9aecc66339ea6fd89e6a143a282 + sha256: 7c5d69ad61fe4e0d3657185f51302075ef5b9e34686238c6b3bde102344d4390 + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: + markdown: '>=3.6' + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pynacl + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.4.1' + libgcc: '>=14' + libsodium: '>=1.0.20,<1.0.21.0a0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + six: '' + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda + hash: + md5: 287eabdd0b0a176376968b84c2707bd8 + category: dev + optional: true +- name: pyproject_hooks + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: d4582021af437c931d7d77ec39007845 + category: dev + optional: true +- name: pysocks + version: 1.7.1 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + hash: + md5: 461219d1a5bd61342293efa2c0c90eac + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: + coverage: '>=7.10.6' + pluggy: '>=1.2' + pytest: '>=7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=5.0.0,<9.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: + execnet: '>=2.1' + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: main + optional: false +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + colorama: '' + importlib-metadata: '>=4.6' + packaging: '>=19.0' + pyproject_hooks: '' + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-dateutil + version: 2.9.0.post0 + manager: conda + platform: linux-64 + dependencies: + python: '' + six: '>=1.5' + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + hash: + md5: 5b8d21249ff20967101ffa321cab24e8 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + category: main + optional: false +- name: pytz + version: '2025.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + hash: + md5: bc8e3267d44011051f2eb14d22fb0960 + category: dev + optional: true +- name: pywin32-on-windows + version: 0.1.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + hash: + md5: 2807a0becd1d986fe1ef9b7f8135f215 + category: dev + optional: true +- name: pyyaml + version: 6.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10.*' + yaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda + hash: + md5: b12f41c0d7fb5ab81709fcc86579688f + category: dev + optional: true +- name: pyyaml-env-tag + version: '1.1' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + hash: + md5: e8e53c4150a1bba3b160eacf9d53a51b + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + category: main + optional: false +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + reproc: 14.2.5.post0 + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: + certifi: '>=2017.4.17' + charset-normalizer: '>=2,<4' + idna: '>=2.5,<4' + python: '>=3.9' + urllib3: '>=1.21.1,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.22,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.0.1,<3.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: secretstorage + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '>=2.0' + dbus: '' + jeepney: '>=0.6' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda + hash: + md5: a804c54ce3a1aed268b13657b79825b8 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: six + version: 1.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + hash: + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + category: dev + optional: true +- name: smmap + version: 5.0.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + hash: + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + category: main + optional: false +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.0.0' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + urllib3: '>=2' + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: main + optional: false +- name: ukkonen + version: 1.0.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda + hash: + md5: 28303a78c48916ab07b95ffdbffdfd6c + sha256: ef6753f6febaa74d35253e4e0dd09dc9497af8e370893bd97c479f59346daa57 + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: + brotli-python: '>=1.0.9' + h2: '>=4,<5' + pysocks: '>=1.5.6,<2.0,!=1.5.7' + python: '>=3.9' + zstandard: '>=0.18.0' + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: virtualenv + version: 20.35.4 + manager: conda + platform: linux-64 + dependencies: + distlib: '>=0.3.7,<1' + filelock: '>=3.12.2,<4' + platformdirs: '>=3.9.1,<5' + python: '>=3.10' + typing_extensions: '>=4.13.2' + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + hash: + md5: cfccfd4e8d9de82ed75c8e2c91cab375 + sha256: 77193c99c6626c58446168d3700f9643d8c0dab1f6deb6b9dd039e6872781bfb + category: dev + optional: true +- name: watchdog + version: 6.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + pyyaml: '>=3.10' + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda + hash: + md5: 099125fcb130e9fe134c6b610f33b0e1 + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: + bracex: '>=2.1.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: websocket-client + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 2f1ed718fcd829c184a6d4f0f2e07409 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + category: dev + optional: true +- name: yaml + version: 0.2.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + hash: + md5: a77f85f77be52ff59391544bfe73390a + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zipp + version: 3.23.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + hash: + md5: df5e78d904988eb55042c0c97446079f + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14.0rc3,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstandard + version: 0.25.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.11' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda + hash: + md5: 68bd13651618354987763f746ee1fadc + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + category: main + optional: false +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true diff --git a/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock new file mode 100644 index 000000000..103fe08ba --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba-explicit.lock @@ -0,0 +1,183 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda#f9e5fbc24009179e8b0409624691758a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda#f7f0d6cc2dc986d42ac2689ec88192be +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda#280ea6eee9e2ddefde25ff799c4f0363 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 +https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda#a587892d3c13b6621a6091be690dbca2 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda#f627678cf829bd70bccf141a19c3ad3e +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda#7fa07cb0fb1b625a089ccc01218ee5b1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda#8eef974130690cf385b569ecdeed2cf0 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda#679616eb5ad4e521c83da4650860aba7 +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda#767d508c1a67e02ae8f50e44cacfadb2 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda#71d9c4f6a05a4b9da1b03b973e078db0 +https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2#586272349d7bef5b1ef527b56dca73cb +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda#3ef9d2a701760467b9db2338b6cd926f +https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda#257ae203f1d204107ba389607d375ded +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda#57df494053e17dce2ac3a0b33e1b2a2e +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda#a22d1fd9bf98827e280a02875d9a007a +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda#003b8ba0a94e2f1e117d0bd46aebc901 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda#a71efeae2c160f6789900ba2631a2c90 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda#66b8b26023b8efdf8fcb23bac4b6325d +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac +https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda#53abe63df7e10a6ba605dc5f9f961d36 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda#3a804714ed59be1969ffca10f703ec2a +https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda#b4b91eb14fbe2f850dd2c5fc20676c0d +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda#d7620a15dc400b448e1c88a981b23ddd +https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda#aee1c9aecc66339ea6fd89e6a143a282 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda#bc8e3267d44011051f2eb14d22fb0960 +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda#87f47a78808baf2fa1ea9c315a1e48f1 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda#df837d654933488220b454c6a3b0fad6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda#6ff84b39468623308dee97e5dfbafca0 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc +https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda#c85c76dc67d75619a92f51dfbce06992 +https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda#ade6b25a6136661dadd1a43e4350b10b +https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda#b86839fa387a5b904846e77c84167e57 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda#7ba3f09fceae6a120d664217e58fe686 +https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda#d4582021af437c931d7d77ec39007845 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda#cfccfd4e8d9de82ed75c8e2c91cab375 +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda#f291630db5dc438b6ce37c2bb1a96516 +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda#bcc023a32ea1c44a790bbf1eae473486 +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda#287eabdd0b0a176376968b84c2707bd8 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda#28303a78c48916ab07b95ffdbffdfd6c +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda#68bd13651618354987763f746ee1fadc +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda#25f954b7dae6dd7b0dc004dab74f1ce9 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda#a804c54ce3a1aed268b13657b79825b8 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba.yml b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba.yml new file mode 100644 index 000000000..fa2901ad3 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.0-pkgs-lock-with-mamba.yml @@ -0,0 +1,2385 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-mamba.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-mamba.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-mamba.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-mamba.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _libgcc_mutex + version: '0.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + hash: + md5: d7c89558ba9fa0495403155b64376d81 + category: main + optional: false +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: '0.1' + libgomp: '>=7.5.0' + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + category: main + optional: false +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pytz: '>=2015.7' + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backports + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda + hash: + md5: 767d508c1a67e02ae8f50e44cacfadb2 + category: dev + optional: true +- name: backports.tarfile + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + backports: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: df837d654933488220b454c6a3b0fad6 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bcrypt + version: 5.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda + hash: + md5: 71d9c4f6a05a4b9da1b03b973e078db0 + category: dev + optional: true +- name: bracex + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 586272349d7bef5b1ef527b56dca73cb + category: dev + optional: true +- name: brotli-python + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda + hash: + md5: 3ef9d2a701760467b9db2338b6cd926f + sha256: 9f6d339fb78b647be35e3564dac453d8d2f1b865ba72fb961eaac41061368699 + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + category: main + optional: false +- name: c-ares + version: 1.34.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + hash: + md5: f7f0d6cc2dc986d42ac2689ec88192be + category: dev + optional: true +- name: ca-certificates + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + url: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + hash: + md5: f9e5fbc24009179e8b0409624691758a + category: main + optional: false +- name: certifi + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + hash: + md5: 257ae203f1d204107ba389607d375ded + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: cfgv + version: 3.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda + hash: + md5: 57df494053e17dce2ac3a0b33e1b2a2e + category: dev + optional: true +- name: charset-normalizer + version: 3.4.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + hash: + md5: a22d1fd9bf98827e280a02875d9a007a + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: click + version: 8.3.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + hash: + md5: e76c4ba9e1837847679421b8d549b784 + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + category: dev + optional: true +- name: coverage + version: 7.11.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + tomli: '' + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda + hash: + md5: 6ff84b39468623308dee97e5dfbafca0 + sha256: d928f6d0567807c8a09786e18966445b011ec2eb85c7e18382c0b4870cf12f17 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: cryptography + version: 46.0.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.14' + libgcc: '>=14' + openssl: '>=3.5.4,<4.0a0' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda + hash: + md5: f291630db5dc438b6ce37c2bb1a96516 + sha256: 4bf88483f944b5624269c926369002d58951627a369aeac1e2cd64a6aa00eb05 + category: dev + optional: true +- name: dbus + version: 1.16.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libexpat: '>=2.7.0,<3.0a0' + libgcc: '>=13' + libglib: '>=2.84.2,<3.0a0' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + hash: + md5: 679616eb5ad4e521c83da4650860aba7 + category: dev + optional: true +- name: distlib + version: 0.4.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: 003b8ba0a94e2f1e117d0bd46aebc901 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: + paramiko: '>=2.4.3' + python: '>=3.9' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '' + python: '>=3.5' + pyyaml: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: execnet + version: 2.1.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda + hash: + md5: a71efeae2c160f6789900ba2631a2c90 + category: dev + optional: true +- name: filelock + version: 3.20.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + hash: + md5: 66b8b26023b8efdf8fcb23bac4b6325d + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: ghp-import + version: 2.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.8.1' + url: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + hash: + md5: 93f742fe078a7b34c29a182958d4d765 + category: dev + optional: true +- name: gitdb + version: 4.0.12 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + smmap: '>=3.0.1,<6' + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + hash: + md5: 7c14f3706e099f8fcd47af2d494616cc + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.9' + typing_extensions: '>=3.10.0.2' + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: h2 + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + hpack: '>=4.1,<5' + hyperframe: '>=6.1,<7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + hash: + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + category: dev + optional: true +- name: hpack + version: 4.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + hash: + md5: 0a802cb9888dd14eeefc611f05c40b6e + category: dev + optional: true +- name: hyperframe + version: 6.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + hash: + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: main + optional: false +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: identify + version: 2.6.15 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + ukkonen: '' + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + hash: + md5: 25f954b7dae6dd7b0dc004dab74f1ce9 + sha256: 32d5007d12e5731867908cbf5345f5cd44a6c8755a2e8e63e15a184826a51f82 + category: dev + optional: true +- name: idna + version: '3.11' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + hash: + md5: 53abe63df7e10a6ba605dc5f9f961d36 + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + zipp: '>=3.20' + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + category: dev + optional: true +- name: importlib_resources + version: 6.5.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + zipp: '>=3.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + hash: + md5: c85c76dc67d75619a92f51dfbce06992 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: invoke + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + hash: + md5: 3a804714ed59be1969ffca10f703ec2a + sha256: 5a4e3a01f626c8de15ddada622d364e94ff28e8d6bdedf1665442ef03a4e0140 + category: dev + optional: true +- name: jaraco.classes + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda + hash: + md5: ade6b25a6136661dadd1a43e4350b10b + category: dev + optional: true +- name: jaraco.context + version: 6.0.1 + manager: conda + platform: linux-64 + dependencies: + backports.tarfile: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda + hash: + md5: bcc023a32ea1c44a790bbf1eae473486 + category: dev + optional: true +- name: jaraco.functools + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda + hash: + md5: b86839fa387a5b904846e77c84167e57 + category: dev + optional: true +- name: jeepney + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda + hash: + md5: b4b91eb14fbe2f850dd2c5fc20676c0d + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: + markupsafe: '>=2.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: + __linux: '' + importlib-metadata: '>=4.11.4' + importlib_resources: '' + jaraco.classes: '' + jaraco.context: '' + jaraco.functools: '' + jeepney: '>=0.4.2' + python: '>=3.9' + secretstorage: '>=3.2' + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: keyutils + version: 1.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + hash: + md5: b38117a3c920364aff79f870c984b4a3 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: + keyutils: '>=1.6.1,<2.0a0' + libedit: '>=3.1.20191231,<4.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.3.1,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: main + optional: false +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libedit + version: 3.1.20250104 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + hash: + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + category: dev + optional: true +- name: libev + version: '4.33' + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + hash: + md5: 172bf1cd1ff8629f2b1179945ed45055 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: main + optional: false +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: main + optional: false +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + category: main + optional: false +- name: libgcc-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + hash: + md5: 280ea6eee9e2ddefde25ff799c4f0363 + category: main + optional: false +- name: libglib + version: 2.86.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + pcre2: '>=10.46,<10.47.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + hash: + md5: 8eef974130690cf385b569ecdeed2cf0 + sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 + category: dev + optional: true +- name: libgomp + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + hash: + md5: f7b4d76975aac7e5d9e6ad13845f92fe + category: main + optional: false +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + category: main + optional: false +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: main + optional: false +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + c-ares: '>=1.34.5,<2.0a0' + libev: '>=4.33,<5.0a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.2,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsodium + version: 1.0.20 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + hash: + md5: a587892d3c13b6621a6091be690dbca2 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: main + optional: false +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + category: main + optional: false +- name: libstdcxx-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libstdcxx: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + hash: + md5: f627678cf829bd70bccf141a19c3ad3e + category: main + optional: false +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: main + optional: false +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + category: main + optional: false +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: markupsafe + version: 3.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda + hash: + md5: fab1be106a50e20f10fe5228fd1d1651 + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mergedeep + version: 1.3.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + hash: + md5: d9a8fc1f01deae61735c88ec242e855c + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: + 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' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.1' + markdown: '>=3.3' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-get-deps + version: 0.2.0 + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.3' + mergedeep: '>=1.3.4' + platformdirs: '>=2.2.0' + python: '>=3.9' + pyyaml: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda + hash: + md5: 84382acddb26c27c70f2de8d4c830830 + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + category: dev + optional: true +- name: more-itertools + version: 10.8.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda + hash: + md5: d7620a15dc400b448e1c88a981b23ddd + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + mypy_extensions: '>=1.0.0' + pathspec: '>=0.9.0' + psutil: '>=4.0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: mypy_extensions + version: 1.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + hash: + md5: e9c622e0d00fa24a6292279af3ab6d06 + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + category: main + optional: false +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + category: dev + optional: true +- name: nodeenv + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + setuptools: '' + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + hash: + md5: 7ba3f09fceae6a120d664217e58fe686 + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + ca-certificates: '' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: main + optional: false +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + category: dev + optional: true +- name: paramiko + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + invoke: '>=2.0' + pynacl: '>=1.5' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + category: dev + optional: true +- name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + category: dev + optional: true +- name: pcre2 + version: '10.46' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + hash: + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.13.0a0' + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: platformdirs + version: 4.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + hash: + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + category: dev + optional: true +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9' + pyyaml: '>=5.1' + virtualenv: '>=20.10.0' + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: psutil + version: 7.1.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda + hash: + md5: aee1c9aecc66339ea6fd89e6a143a282 + sha256: 7c5d69ad61fe4e0d3657185f51302075ef5b9e34686238c6b3bde102344d4390 + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: + markdown: '>=3.6' + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pynacl + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.4.1' + libgcc: '>=14' + libsodium: '>=1.0.20,<1.0.21.0a0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + six: '' + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda + hash: + md5: 287eabdd0b0a176376968b84c2707bd8 + category: dev + optional: true +- name: pyproject_hooks + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: d4582021af437c931d7d77ec39007845 + category: dev + optional: true +- name: pysocks + version: 1.7.1 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + hash: + md5: 461219d1a5bd61342293efa2c0c90eac + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: + coverage: '>=7.10.6' + pluggy: '>=1.2' + pytest: '>=7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=5.0.0,<9.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: + execnet: '>=2.1' + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + pip: '' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: main + optional: false +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + colorama: '' + importlib-metadata: '>=4.6' + packaging: '>=19.0' + pyproject_hooks: '' + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-dateutil + version: 2.9.0.post0 + manager: conda + platform: linux-64 + dependencies: + python: '' + six: '>=1.5' + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + hash: + md5: 5b8d21249ff20967101ffa321cab24e8 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + category: main + optional: false +- name: pytz + version: '2025.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + hash: + md5: bc8e3267d44011051f2eb14d22fb0960 + category: dev + optional: true +- name: pywin32-on-windows + version: 0.1.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + hash: + md5: 2807a0becd1d986fe1ef9b7f8135f215 + category: dev + optional: true +- name: pyyaml + version: 6.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10.*' + yaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda + hash: + md5: b12f41c0d7fb5ab81709fcc86579688f + category: dev + optional: true +- name: pyyaml-env-tag + version: '1.1' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + hash: + md5: e8e53c4150a1bba3b160eacf9d53a51b + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + category: main + optional: false +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + reproc: 14.2.5.post0 + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: + certifi: '>=2017.4.17' + charset-normalizer: '>=2,<4' + idna: '>=2.5,<4' + python: '>=3.9' + urllib3: '>=1.21.1,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.22,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.0.1,<3.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: secretstorage + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '>=2.0' + dbus: '' + jeepney: '>=0.6' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda + hash: + md5: a804c54ce3a1aed268b13657b79825b8 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: six + version: 1.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + hash: + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + category: dev + optional: true +- name: smmap + version: 5.0.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + hash: + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + category: main + optional: false +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.0.0' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + urllib3: '>=2' + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: main + optional: false +- name: ukkonen + version: 1.0.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda + hash: + md5: 28303a78c48916ab07b95ffdbffdfd6c + sha256: ef6753f6febaa74d35253e4e0dd09dc9497af8e370893bd97c479f59346daa57 + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: + brotli-python: '>=1.0.9' + h2: '>=4,<5' + pysocks: '>=1.5.6,<2.0,!=1.5.7' + python: '>=3.9' + zstandard: '>=0.18.0' + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: virtualenv + version: 20.35.4 + manager: conda + platform: linux-64 + dependencies: + distlib: '>=0.3.7,<1' + filelock: '>=3.12.2,<4' + platformdirs: '>=3.9.1,<5' + python: '>=3.10' + typing_extensions: '>=4.13.2' + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + hash: + md5: cfccfd4e8d9de82ed75c8e2c91cab375 + sha256: 77193c99c6626c58446168d3700f9643d8c0dab1f6deb6b9dd039e6872781bfb + category: dev + optional: true +- name: watchdog + version: 6.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + pyyaml: '>=3.10' + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda + hash: + md5: 099125fcb130e9fe134c6b610f33b0e1 + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: + bracex: '>=2.1.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: websocket-client + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 2f1ed718fcd829c184a6d4f0f2e07409 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + category: dev + optional: true +- name: yaml + version: 0.2.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + hash: + md5: a77f85f77be52ff59391544bfe73390a + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zipp + version: 3.23.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + hash: + md5: df5e78d904988eb55042c0c97446079f + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14.0rc3,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstandard + version: 0.25.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.11' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda + hash: + md5: 68bd13651618354987763f746ee1fadc + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + category: main + optional: false +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true diff --git a/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda-explicit.lock new file mode 100644 index 000000000..f2ddf4637 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda-explicit.lock @@ -0,0 +1,134 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda#6ff84b39468623308dee97e5dfbafca0 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda.yml b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda.yml new file mode 100644 index 000000000..59294aafc --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-conda.yml @@ -0,0 +1,1660 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-conda.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-conda.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-conda.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-conda.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _libgcc_mutex + version: '0.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + hash: + md5: d7c89558ba9fa0495403155b64376d81 + category: dev + optional: true +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: '0.1' + libgomp: '>=7.5.0' + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + category: dev + optional: true +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: click + version: 8.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + hash: + md5: e76c4ba9e1837847679421b8d549b784 + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + category: dev + optional: true +- name: coverage + version: 7.11.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + tomli: '' + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda + hash: + md5: 6ff84b39468623308dee97e5dfbafca0 + sha256: d928f6d0567807c8a09786e18966445b011ec2eb85c7e18382c0b4870cf12f17 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: + paramiko: '>=2.4.3' + python: '>=3.9' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + sha256: 909bad7898ef2933a7efe69a48200e2331a362b0a1edd2d592942cde1f130979 + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + sha256: 483f3291f0236d9b2a3bb417b4620d08149e1ef383da4b392fbcccce4c3ceeb5 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: ghp-import + version: 2.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.8.1' + url: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + hash: + md5: 93f742fe078a7b34c29a182958d4d765 + sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15 + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: dev + optional: true +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + zipp: '>=3.20' + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: dev + optional: true +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: dev + optional: true +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: dev + optional: true +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + category: dev + optional: true +- name: libgomp + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + hash: + md5: f7b4d76975aac7e5d9e6ad13845f92fe + sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca + category: dev + optional: true +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + category: dev + optional: true +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: dev + optional: true +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: dev + optional: true +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + sha256: 1b981647d9775e1cdeb2fab0a4dd9cd75a6b0de2963f6c3953dbd712f78334b3 + category: dev + optional: true +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: dev + optional: true +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + category: dev + optional: true +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + sha256: 5c6bbeec116e29f08e3dad3d0524e9bc5527098e12fc432c0e5ca53ea16337d4 + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: markupsafe + version: 3.0.3 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda + hash: + md5: fab1be106a50e20f10fe5228fd1d1651 + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mergedeep + version: 1.3.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + hash: + md5: d9a8fc1f01deae61735c88ec242e855c + sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: + 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' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-get-deps + version: 0.2.0 + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.3' + mergedeep: '>=1.3.4' + platformdirs: '>=2.2.0' + python: '>=3.9' + pyyaml: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda + hash: + md5: 84382acddb26c27c70f2de8d4c830830 + sha256: e0b501b96f7e393757fb2a61d042015966f6c5e9ac825925e43f9a6eafa907b6 + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + sha256: f62955d40926770ab65cc54f7db5fde6c073a3ba36a0787a7a5767017da50aa3 + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + category: dev + optional: true +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + sha256: 2a909594ca78843258e4bda36e43d165cda844743329838a29402823c8f20dec + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: dev + optional: true +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + sha256: f6fef1b43b0d3d92476e1870c08d7b9c229aebab9a0556b073a5e1641cf453bd + category: dev + optional: true +- name: paramiko + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + category: dev + optional: true +- name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: platformdirs + version: 4.5.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + hash: + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + category: dev + optional: true +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: + coverage: '>=7.10.6' + pluggy: '>=1.2' + pytest: '>=7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + sha256: d0f45586aad48ef604590188c33c83d76e4fc6370ac569ba0900906b24fd6a26 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: dev + optional: true +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-dateutil + version: 2.9.0.post0 + manager: conda + platform: linux-64 + dependencies: + python: '' + six: '>=1.5' + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + hash: + md5: 5b8d21249ff20967101ffa321cab24e8 + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + category: dev + optional: true +- name: pywin32-on-windows + version: 0.1.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + hash: + md5: 2807a0becd1d986fe1ef9b7f8135f215 + sha256: 6502696aaef571913b22a808b15c185bd8ea4aabb952685deb29e6a6765761cb + category: dev + optional: true +- name: pyyaml + version: 6.0.3 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda + hash: + md5: b12f41c0d7fb5ab81709fcc86579688f + category: dev + optional: true +- name: pyyaml-env-tag + version: '1.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + hash: + md5: e8e53c4150a1bba3b160eacf9d53a51b + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c + category: dev + optional: true +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.22,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + sha256: 7e58a039a0ade1e467b7974ad4753d62c7436a2036ef98fc8a2722518344c104 + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.0.1,<3.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + sha256: c0b815e72bb3f08b67d60d5e02251bbb0164905b5f72942ff5b6d2a339640630 + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: six + version: 1.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + hash: + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1 + category: dev + optional: true +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + sha256: 89e2437226abd85dbb1a810d95d479825e947ed24dc80e976d94fb05cf5000ed + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + sha256: ad6c8ffdc202a4ea142a08a4f77422254aa75f67efef4bcea6439619fdc20fc6 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + sha256: 2a43251b9d93467890e7974df5c70c78e71d3c6c8e05dc85974134e8f1e66df8 + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + sha256: 6d4c574da215ba20eddb7f5b80ba34ac19b9f49e2e48f67169f135c6bb0e2e00 + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: watchdog + version: 6.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + pyyaml: '>=3.10' + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda + hash: + md5: 099125fcb130e9fe134c6b610f33b0e1 + sha256: 0fee43f08e1f7d407588e8bffb0916c63d1ab907b1a18003666ed3467674f1dc + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: websocket-client + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 2f1ed718fcd829c184a6d4f0f2e07409 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zipp + version: 3.23.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + hash: + md5: df5e78d904988eb55042c0c97446079f + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb + category: dev + optional: true +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true diff --git a/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba-explicit.lock new file mode 100644 index 000000000..193c5b238 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba-explicit.lock @@ -0,0 +1,114 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba.yml b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba.yml new file mode 100644 index 000000000..4d0e4cc45 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.1.1-pkgs-lock-with-mamba.yml @@ -0,0 +1,1322 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-mamba.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-mamba.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-mamba.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-mamba.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: dev + optional: true +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: dev + optional: true +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: dev + optional: true +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: dev + optional: true +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + category: dev + optional: true +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + category: dev + optional: true +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: dev + optional: true +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: dev + optional: true +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + category: dev + optional: true +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: dev + optional: true +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + category: dev + optional: true +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + category: dev + optional: true +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: dev + optional: true +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + pip: '' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: dev + optional: true +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + category: dev + optional: true +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + category: dev + optional: true +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + category: dev + optional: true +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true diff --git a/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda-explicit.lock new file mode 100644 index 000000000..103fe08ba --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda-explicit.lock @@ -0,0 +1,183 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda#f9e5fbc24009179e8b0409624691758a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda#f7f0d6cc2dc986d42ac2689ec88192be +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda#280ea6eee9e2ddefde25ff799c4f0363 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 +https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda#a587892d3c13b6621a6091be690dbca2 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda#f627678cf829bd70bccf141a19c3ad3e +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda#7fa07cb0fb1b625a089ccc01218ee5b1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda#8eef974130690cf385b569ecdeed2cf0 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda#679616eb5ad4e521c83da4650860aba7 +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda#767d508c1a67e02ae8f50e44cacfadb2 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda#71d9c4f6a05a4b9da1b03b973e078db0 +https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2#586272349d7bef5b1ef527b56dca73cb +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda#3ef9d2a701760467b9db2338b6cd926f +https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda#257ae203f1d204107ba389607d375ded +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda#57df494053e17dce2ac3a0b33e1b2a2e +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda#a22d1fd9bf98827e280a02875d9a007a +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda#003b8ba0a94e2f1e117d0bd46aebc901 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda#a71efeae2c160f6789900ba2631a2c90 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda#66b8b26023b8efdf8fcb23bac4b6325d +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac +https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda#53abe63df7e10a6ba605dc5f9f961d36 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda#3a804714ed59be1969ffca10f703ec2a +https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda#b4b91eb14fbe2f850dd2c5fc20676c0d +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda#d7620a15dc400b448e1c88a981b23ddd +https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda#aee1c9aecc66339ea6fd89e6a143a282 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda#bc8e3267d44011051f2eb14d22fb0960 +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda#87f47a78808baf2fa1ea9c315a1e48f1 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda#df837d654933488220b454c6a3b0fad6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda#6ff84b39468623308dee97e5dfbafca0 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc +https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda#c85c76dc67d75619a92f51dfbce06992 +https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda#ade6b25a6136661dadd1a43e4350b10b +https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda#b86839fa387a5b904846e77c84167e57 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda#7ba3f09fceae6a120d664217e58fe686 +https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda#d4582021af437c931d7d77ec39007845 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda#cfccfd4e8d9de82ed75c8e2c91cab375 +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda#f291630db5dc438b6ce37c2bb1a96516 +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda#bcc023a32ea1c44a790bbf1eae473486 +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda#287eabdd0b0a176376968b84c2707bd8 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda#28303a78c48916ab07b95ffdbffdfd6c +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda#68bd13651618354987763f746ee1fadc +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda#25f954b7dae6dd7b0dc004dab74f1ce9 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda#a804c54ce3a1aed268b13657b79825b8 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda.yml b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda.yml new file mode 100644 index 000000000..c7eb70337 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-conda.yml @@ -0,0 +1,2438 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-conda.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-conda.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-conda.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-conda.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _libgcc_mutex + version: '0.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + hash: + md5: d7c89558ba9fa0495403155b64376d81 + category: main + optional: false +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: '0.1' + libgomp: '>=7.5.0' + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + category: main + optional: false +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pytz: '>=2015.7' + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backports + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda + hash: + md5: 767d508c1a67e02ae8f50e44cacfadb2 + sha256: e1c3dc8b5aa6e12145423fed262b4754d70fec601339896b9ccf483178f690a6 + category: dev + optional: true +- name: backports.tarfile + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + backports: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: df837d654933488220b454c6a3b0fad6 + sha256: a0f41db6d7580cec3c850e5d1b82cb03197dd49a3179b1cee59c62cd2c761b36 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bcrypt + version: 5.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda + hash: + md5: 71d9c4f6a05a4b9da1b03b973e078db0 + category: dev + optional: true +- name: bracex + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 586272349d7bef5b1ef527b56dca73cb + category: dev + optional: true +- name: brotli-python + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda + hash: + md5: 3ef9d2a701760467b9db2338b6cd926f + sha256: 9f6d339fb78b647be35e3564dac453d8d2f1b865ba72fb961eaac41061368699 + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 + category: main + optional: false +- name: c-ares + version: 1.34.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + hash: + md5: f7f0d6cc2dc986d42ac2689ec88192be + category: dev + optional: true +- name: ca-certificates + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + url: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + hash: + md5: f9e5fbc24009179e8b0409624691758a + category: main + optional: false +- name: certifi + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + hash: + md5: 257ae203f1d204107ba389607d375ded + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: cfgv + version: 3.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda + hash: + md5: 57df494053e17dce2ac3a0b33e1b2a2e + sha256: d5696636733b3c301054b948cdd793f118efacce361d9bd4afb57d5980a9064f + category: dev + optional: true +- name: charset-normalizer + version: 3.4.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + hash: + md5: a22d1fd9bf98827e280a02875d9a007a + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: click + version: 8.3.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + hash: + md5: e76c4ba9e1837847679421b8d549b784 + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + category: dev + optional: true +- name: coverage + version: 7.11.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + tomli: '' + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda + hash: + md5: 6ff84b39468623308dee97e5dfbafca0 + sha256: d928f6d0567807c8a09786e18966445b011ec2eb85c7e18382c0b4870cf12f17 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: cryptography + version: 46.0.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.14' + libgcc: '>=14' + openssl: '>=3.5.4,<4.0a0' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda + hash: + md5: f291630db5dc438b6ce37c2bb1a96516 + sha256: 4bf88483f944b5624269c926369002d58951627a369aeac1e2cd64a6aa00eb05 + category: dev + optional: true +- name: dbus + version: 1.16.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libexpat: '>=2.7.0,<3.0a0' + libgcc: '>=13' + libglib: '>=2.84.2,<3.0a0' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + hash: + md5: 679616eb5ad4e521c83da4650860aba7 + category: dev + optional: true +- name: distlib + version: 0.4.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: 003b8ba0a94e2f1e117d0bd46aebc901 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: + paramiko: '>=2.4.3' + python: '>=3.9' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + sha256: 909bad7898ef2933a7efe69a48200e2331a362b0a1edd2d592942cde1f130979 + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '' + python: '>=3.5' + pyyaml: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: execnet + version: 2.1.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda + hash: + md5: a71efeae2c160f6789900ba2631a2c90 + sha256: 9abc6c128cd40733e9b24284d0462e084d4aff6afe614f0754aa8533ebe505e4 + category: dev + optional: true +- name: filelock + version: 3.20.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + hash: + md5: 66b8b26023b8efdf8fcb23bac4b6325d + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + sha256: 483f3291f0236d9b2a3bb417b4620d08149e1ef383da4b392fbcccce4c3ceeb5 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: ghp-import + version: 2.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.8.1' + url: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + hash: + md5: 93f742fe078a7b34c29a182958d4d765 + sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15 + category: dev + optional: true +- name: gitdb + version: 4.0.12 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + smmap: '>=3.0.1,<6' + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + hash: + md5: 7c14f3706e099f8fcd47af2d494616cc + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.9' + typing_extensions: '>=3.10.0.2' + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: h2 + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + hpack: '>=4.1,<5' + hyperframe: '>=6.1,<7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + hash: + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + category: dev + optional: true +- name: hpack + version: 4.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + hash: + md5: 0a802cb9888dd14eeefc611f05c40b6e + category: dev + optional: true +- name: hyperframe + version: 6.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + hash: + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: main + optional: false +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: identify + version: 2.6.15 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + ukkonen: '' + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + hash: + md5: 25f954b7dae6dd7b0dc004dab74f1ce9 + sha256: 32d5007d12e5731867908cbf5345f5cd44a6c8755a2e8e63e15a184826a51f82 + category: dev + optional: true +- name: idna + version: '3.11' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + hash: + md5: 53abe63df7e10a6ba605dc5f9f961d36 + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + zipp: '>=3.20' + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 + category: dev + optional: true +- name: importlib_resources + version: 6.5.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + zipp: '>=3.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + hash: + md5: c85c76dc67d75619a92f51dfbce06992 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: invoke + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + hash: + md5: 3a804714ed59be1969ffca10f703ec2a + sha256: 5a4e3a01f626c8de15ddada622d364e94ff28e8d6bdedf1665442ef03a4e0140 + category: dev + optional: true +- name: jaraco.classes + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda + hash: + md5: ade6b25a6136661dadd1a43e4350b10b + sha256: 3d16a0fa55a29fe723c918a979b2ee927eb0bf9616381cdfd26fa9ea2b649546 + category: dev + optional: true +- name: jaraco.context + version: 6.0.1 + manager: conda + platform: linux-64 + dependencies: + backports.tarfile: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda + hash: + md5: bcc023a32ea1c44a790bbf1eae473486 + category: dev + optional: true +- name: jaraco.functools + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda + hash: + md5: b86839fa387a5b904846e77c84167e57 + category: dev + optional: true +- name: jeepney + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda + hash: + md5: b4b91eb14fbe2f850dd2c5fc20676c0d + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: + markupsafe: '>=2.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: + __linux: '' + importlib-metadata: '>=4.11.4' + importlib_resources: '' + jaraco.classes: '' + jaraco.context: '' + jaraco.functools: '' + jeepney: '>=0.4.2' + python: '>=3.9' + secretstorage: '>=3.2' + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: keyutils + version: 1.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + hash: + md5: b38117a3c920364aff79f870c984b4a3 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: + keyutils: '>=1.6.1,<2.0a0' + libedit: '>=3.1.20191231,<4.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.3.1,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: main + optional: false +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libedit + version: 3.1.20250104 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + hash: + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + category: dev + optional: true +- name: libev + version: '4.33' + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + hash: + md5: 172bf1cd1ff8629f2b1179945ed45055 + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: main + optional: false +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: main + optional: false +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + category: main + optional: false +- name: libgcc-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + hash: + md5: 280ea6eee9e2ddefde25ff799c4f0363 + sha256: 2045066dd8e6e58aaf5ae2b722fb6dfdbb57c862b5f34ac7bfb58c40ef39b6ad + category: main + optional: false +- name: libglib + version: 2.86.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + pcre2: '>=10.46,<10.47.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + hash: + md5: 8eef974130690cf385b569ecdeed2cf0 + sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 + category: dev + optional: true +- name: libgomp + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + hash: + md5: f7b4d76975aac7e5d9e6ad13845f92fe + sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca + category: main + optional: false +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + category: main + optional: false +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: main + optional: false +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + c-ares: '>=1.34.5,<2.0a0' + libev: '>=4.33,<5.0a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.2,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsodium + version: 1.0.20 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + hash: + md5: a587892d3c13b6621a6091be690dbca2 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: main + optional: false +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + sha256: 1b981647d9775e1cdeb2fab0a4dd9cd75a6b0de2963f6c3953dbd712f78334b3 + category: main + optional: false +- name: libstdcxx-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libstdcxx: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + hash: + md5: f627678cf829bd70bccf141a19c3ad3e + sha256: 024fd46ac3ea8032a5ec3ea7b91c4c235701a8bf0e6520fe5e6539992a6bd05f + category: main + optional: false +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: main + optional: false +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + category: main + optional: false +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + sha256: 5c6bbeec116e29f08e3dad3d0524e9bc5527098e12fc432c0e5ca53ea16337d4 + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: markupsafe + version: 3.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda + hash: + md5: fab1be106a50e20f10fe5228fd1d1651 + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mergedeep + version: 1.3.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + hash: + md5: d9a8fc1f01deae61735c88ec242e855c + sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: + 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' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.1' + markdown: '>=3.3' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-get-deps + version: 0.2.0 + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.3' + mergedeep: '>=1.3.4' + platformdirs: '>=2.2.0' + python: '>=3.9' + pyyaml: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda + hash: + md5: 84382acddb26c27c70f2de8d4c830830 + sha256: e0b501b96f7e393757fb2a61d042015966f6c5e9ac825925e43f9a6eafa907b6 + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + sha256: f62955d40926770ab65cc54f7db5fde6c073a3ba36a0787a7a5767017da50aa3 + category: dev + optional: true +- name: more-itertools + version: 10.8.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda + hash: + md5: d7620a15dc400b448e1c88a981b23ddd + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + mypy_extensions: '>=1.0.0' + pathspec: '>=0.9.0' + psutil: '>=4.0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: mypy_extensions + version: 1.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + hash: + md5: e9c622e0d00fa24a6292279af3ab6d06 + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + category: main + optional: false +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + sha256: 2a909594ca78843258e4bda36e43d165cda844743329838a29402823c8f20dec + category: dev + optional: true +- name: nodeenv + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + setuptools: '' + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + hash: + md5: 7ba3f09fceae6a120d664217e58fe686 + sha256: 3636eec0e60466a00069b47ce94b6d88b01419b6577d8e393da44bb5bc8d3468 + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + ca-certificates: '' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: main + optional: false +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + sha256: f6fef1b43b0d3d92476e1870c08d7b9c229aebab9a0556b073a5e1641cf453bd + category: dev + optional: true +- name: paramiko + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + invoke: '>=2.0' + pynacl: '>=1.5' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + category: dev + optional: true +- name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + category: dev + optional: true +- name: pcre2 + version: '10.46' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + hash: + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.13.0a0' + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: platformdirs + version: 4.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + hash: + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + category: dev + optional: true +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9' + pyyaml: '>=5.1' + virtualenv: '>=20.10.0' + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: psutil + version: 7.1.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda + hash: + md5: aee1c9aecc66339ea6fd89e6a143a282 + sha256: 7c5d69ad61fe4e0d3657185f51302075ef5b9e34686238c6b3bde102344d4390 + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: + markdown: '>=3.6' + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pynacl + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.4.1' + libgcc: '>=14' + libsodium: '>=1.0.20,<1.0.21.0a0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + six: '' + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda + hash: + md5: 287eabdd0b0a176376968b84c2707bd8 + category: dev + optional: true +- name: pyproject_hooks + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: d4582021af437c931d7d77ec39007845 + sha256: 065ac44591da9abf1ff740feb25929554b920b00d09287a551fcced2c9791092 + category: dev + optional: true +- name: pysocks + version: 1.7.1 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + hash: + md5: 461219d1a5bd61342293efa2c0c90eac + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: + coverage: '>=7.10.6' + pluggy: '>=1.2' + pytest: '>=7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + sha256: d0f45586aad48ef604590188c33c83d76e4fc6370ac569ba0900906b24fd6a26 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=5.0.0,<9.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: + execnet: '>=2.1' + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: main + optional: false +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + colorama: '' + importlib-metadata: '>=4.6' + packaging: '>=19.0' + pyproject_hooks: '' + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-dateutil + version: 2.9.0.post0 + manager: conda + platform: linux-64 + dependencies: + python: '' + six: '>=1.5' + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + hash: + md5: 5b8d21249ff20967101ffa321cab24e8 + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + category: main + optional: false +- name: pytz + version: '2025.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + hash: + md5: bc8e3267d44011051f2eb14d22fb0960 + category: dev + optional: true +- name: pywin32-on-windows + version: 0.1.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + hash: + md5: 2807a0becd1d986fe1ef9b7f8135f215 + sha256: 6502696aaef571913b22a808b15c185bd8ea4aabb952685deb29e6a6765761cb + category: dev + optional: true +- name: pyyaml + version: 6.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10.*' + yaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda + hash: + md5: b12f41c0d7fb5ab81709fcc86579688f + category: dev + optional: true +- name: pyyaml-env-tag + version: '1.1' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + hash: + md5: e8e53c4150a1bba3b160eacf9d53a51b + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c + category: main + optional: false +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + reproc: 14.2.5.post0 + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: + certifi: '>=2017.4.17' + charset-normalizer: '>=2,<4' + idna: '>=2.5,<4' + python: '>=3.9' + urllib3: '>=1.21.1,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.22,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + sha256: 7e58a039a0ade1e467b7974ad4753d62c7436a2036ef98fc8a2722518344c104 + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.0.1,<3.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + sha256: c0b815e72bb3f08b67d60d5e02251bbb0164905b5f72942ff5b6d2a339640630 + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: secretstorage + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '>=2.0' + dbus: '' + jeepney: '>=0.6' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda + hash: + md5: a804c54ce3a1aed268b13657b79825b8 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: six + version: 1.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + hash: + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + category: dev + optional: true +- name: smmap + version: 5.0.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + hash: + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1 + category: main + optional: false +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + sha256: 89e2437226abd85dbb1a810d95d479825e947ed24dc80e976d94fb05cf5000ed + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.0.0' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + sha256: ad6c8ffdc202a4ea142a08a4f77422254aa75f67efef4bcea6439619fdc20fc6 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + sha256: 2a43251b9d93467890e7974df5c70c78e71d3c6c8e05dc85974134e8f1e66df8 + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + urllib3: '>=2' + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + sha256: 6d4c574da215ba20eddb7f5b80ba34ac19b9f49e2e48f67169f135c6bb0e2e00 + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: main + optional: false +- name: ukkonen + version: 1.0.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda + hash: + md5: 28303a78c48916ab07b95ffdbffdfd6c + sha256: ef6753f6febaa74d35253e4e0dd09dc9497af8e370893bd97c479f59346daa57 + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: + brotli-python: '>=1.0.9' + h2: '>=4,<5' + pysocks: '>=1.5.6,<2.0,!=1.5.7' + python: '>=3.9' + zstandard: '>=0.18.0' + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: virtualenv + version: 20.35.4 + manager: conda + platform: linux-64 + dependencies: + distlib: '>=0.3.7,<1' + filelock: '>=3.12.2,<4' + platformdirs: '>=3.9.1,<5' + python: '>=3.10' + typing_extensions: '>=4.13.2' + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + hash: + md5: cfccfd4e8d9de82ed75c8e2c91cab375 + sha256: 77193c99c6626c58446168d3700f9643d8c0dab1f6deb6b9dd039e6872781bfb + category: dev + optional: true +- name: watchdog + version: 6.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + pyyaml: '>=3.10' + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda + hash: + md5: 099125fcb130e9fe134c6b610f33b0e1 + sha256: 0fee43f08e1f7d407588e8bffb0916c63d1ab907b1a18003666ed3467674f1dc + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: + bracex: '>=2.1.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: websocket-client + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 2f1ed718fcd829c184a6d4f0f2e07409 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce + category: dev + optional: true +- name: yaml + version: 0.2.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + hash: + md5: a77f85f77be52ff59391544bfe73390a + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zipp + version: 3.23.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + hash: + md5: df5e78d904988eb55042c0c97446079f + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14.0rc3,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstandard + version: 0.25.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.11' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda + hash: + md5: 68bd13651618354987763f746ee1fadc + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb + category: main + optional: false +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true diff --git a/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba-explicit.lock b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba-explicit.lock new file mode 100644 index 000000000..103fe08ba --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba-explicit.lock @@ -0,0 +1,183 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda#59659d0213082bc13be8500bab80c002 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda#4222072737ccff51314b5ece9c7d6f5a +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda#f9e5fbc24009179e8b0409624691758a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda#f7b4d76975aac7e5d9e6ad13845f92fe +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda#c0374badb3a5d4b1372db28d19462c53 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda#51a19bba1b8ebfb60df25cde030b7ebc +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda#f7f0d6cc2dc986d42ac2689ec88192be +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda#4211416ecba1866fab0c6470986c22d6 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda#35f29eec58405aaf55e01cb470d8c26a +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda#280ea6eee9e2ddefde25ff799c4f0363 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda#915f5995e94f60e9a4826e0b0920ee88 +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda#1a580f7796c7bf6393fddb8bbbde58dc +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda#c7e925f37e3b40d893459e625f6a53f1 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda#5b767048b1b3ee9a954b06f4084f93dc +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda#80c07c68d2f6870250959dcc95b209d1 +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda#edb0dca6bc32e4f4789199455a1dbeb8 +https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda#47e340acb35de30501a76c7c799c41d7 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda#14edad12b59ccbfa3910d42c72adc2a0 +https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda#69fbc0a9e42eb5fe6733d2d60d818822 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a +https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda#d17488e343e4c5c0bd0db18b3934d517 +https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda#d90bf58b03d9a958cb4f9d3de539af17 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 +https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda#a587892d3c13b6621a6091be690dbca2 +https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda#21769ce326958ec230cdcbd0f2ad97eb +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda#f627678cf829bd70bccf141a19c3ad3e +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda#9de5350a85c4a20c685259b889aa6393 +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda#7fa07cb0fb1b625a089ccc01218ee5b1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda#283b96675859b20a825f8fa30f311446 +https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda#828302fca535f9cfeb598d5f7c204323 +https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda#cc9c262a71dd584aa5a3a22fc963255c +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda#a0116df4f4ed05c303811a837d5b39d8 +https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda#92b90f5f7a322e74468bb4909c7354b5 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda#6432cb5d4ac0046c3ac0a8a0f95842f9 +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda#8b189310083baabfb622af68fd9d3ae3 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda#3f43953b7d3fb3aaa1d0d0723d91e368 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda#c94ab6ff54ba5172cf1c58267005670f +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda#8eef974130690cf385b569ecdeed2cf0 +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda#b499ce4b026493a13774bcf0f4c33849 +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda#679616eb5ad4e521c83da4650860aba7 +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda#01e149d4a53185622dc2e788281961f2 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda#729a572a3ebb8c43933b30edcc628ceb +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda#e7733bc6785ec009e47a224a71917e84 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda#e512be7dc1f84966d50959e900ca121f +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda#0a19d2cc6eb15881889b0c6fa7d6a78d +https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda#767d508c1a67e02ae8f50e44cacfadb2 +https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda#b16e2595d3a9042aa9d570375978835f +https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda#71d9c4f6a05a4b9da1b03b973e078db0 +https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2#586272349d7bef5b1ef527b56dca73cb +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda#3ef9d2a701760467b9db2338b6cd926f +https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda#257ae203f1d204107ba389607d375ded +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda#57df494053e17dce2ac3a0b33e1b2a2e +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda#a22d1fd9bf98827e280a02875d9a007a +https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda#e76c4ba9e1837847679421b8d549b784 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda#ff3061d315c4a988fa1c29c543800780 +https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda#003b8ba0a94e2f1e117d0bd46aebc901 +https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda#abbe8c85619c87c4f4f61b44173434af +https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda#a71efeae2c160f6789900ba2631a2c90 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda#66b8b26023b8efdf8fcb23bac4b6325d +https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda#7e081d00fdcba21b76658c1649691836 +https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac +https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda#53abe63df7e10a6ba605dc5f9f961d36 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 +https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda#3a804714ed59be1969ffca10f703ec2a +https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda#b4b91eb14fbe2f850dd2c5fc20676c0d +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda#9d0eaa26e3c5d7af747b3ddee928327b +https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda#fab1be106a50e20f10fe5228fd1d1651 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda#d9a8fc1f01deae61735c88ec242e855c +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda#de8af4000a4872e16fb784c649679c8e +https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda#d7620a15dc400b448e1c88a981b23ddd +https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda#c3f35453097faf911fd3f6023fc2ab24 +https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda#617f15191456cc6a13db418a275435e5 +https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda#e7ab34d5a93e0819b62563c78635d937 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda#5c7a868f8241e64e1cf5fdf4962f23e2 +https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda#7da7ccd349dbf6487a7778579d2bb971 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda#aee1c9aecc66339ea6fd89e6a143a282 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda#12c566707c80111f9799308d9e265aef +https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda#6b6ece66ebcae2d5f326c77ef2c5a066 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda#bc8e3267d44011051f2eb14d22fb0960 +https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2#2807a0becd1d986fe1ef9b7f8135f215 +https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda#b12f41c0d7fb5ab81709fcc86579688f +https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda#43e14f832d7551e5a8910672bfc3d8c6 +https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda#57df47ec0ca6c4ab8f46865a8933f0cd +https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda#4de79c071274a53dcaf2a8c749d1499e +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 +https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda#87f47a78808baf2fa1ea9c315a1e48f1 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda#b0dd904de08b7db706167240bf37b164 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda#d2732eb636c264dc9aa4cbee404b1a53 +https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda#08ed65e279de69322843b075679567ea +https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda#3f1356104d409d6deba0c689f3b2c602 +https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda#0b609b66e56bbe70d97cd52ad24058fb +https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda#3c9919ecee97547fa14fea57e2a9bb54 +https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda#6404dcec3d8f8b8fe540516837aa08ec +https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda#353b9704e4851a6f210e641d3595755f +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d +https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda#75cb7132eb58d97896e173ef12ac9986 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda#df5e78d904988eb55042c0c97446079f +https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda#1f0180642729883f29c47e11d857e786 +https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda#0a01c169f0ab0f91b26e77a3301fbfe4 +https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda#df837d654933488220b454c6a3b0fad6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda#6ff84b39468623308dee97e5dfbafca0 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda#72e42d28960d875c7654614f8b50939a +https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc +https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda#63ccfdc3a3ce25b027b8767eb722fca8 +https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda#c85c76dc67d75619a92f51dfbce06992 +https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda#ade6b25a6136661dadd1a43e4350b10b +https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda#b86839fa387a5b904846e77c84167e57 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda#446bd6c8cb26050d528881df495ce646 +https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda#afca7d1181d858718852e4d8402c05ac +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda#5b5203189eb668f042ac2b0826244964 +https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda#1e87cabfdfea01d30e2ce1dd6152846f +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda#7ba3f09fceae6a120d664217e58fe686 +https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda#d4582021af437c931d7d77ec39007845 +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda#d152e423d80848fe95f0f4b43448030e +https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda#e8e53c4150a1bba3b160eacf9d53a51b +https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda#335926a07f57d325d0d6966bf36eee0b +https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda#cfccfd4e8d9de82ed75c8e2c91cab375 +https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda#099125fcb130e9fe134c6b610f33b0e1 +https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda#b045a877087e3bbdd36fe460e7f5cc55 +https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f +https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda#23985f6de5f68e3465807e1fbbc98f30 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda#f291630db5dc438b6ce37c2bb1a96516 +https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda#0fdb8ebc8dbdb62530ff73181ae63554 +https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda#93f742fe078a7b34c29a182958d4d765 +https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda#b91d463ea8be13bcbe644ae8bc99c39f +https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda#bcc023a32ea1c44a790bbf1eae473486 +https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda#7eb628c8e865dd6e33a46ade708de780 +https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda#1b9272ad4388efc264ff504384e2b578 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda#84382acddb26c27c70f2de8d4c830830 +https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda#287eabdd0b0a176376968b84c2707bd8 +https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda#da0c42269086f5170e2b296878ec13a6 +https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda#ed5d43e9ef92cc2a9872f9bdfe94b984 +https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda#a247579d8a59931091b16a1e932bbed6 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda#28303a78c48916ab07b95ffdbffdfd6c +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda#68bd13651618354987763f746ee1fadc +https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda#7f4022a44e9fce926fc9eb0da40bcda2 +https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda#25f954b7dae6dd7b0dc004dab74f1ce9 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda#14661160be39d78f2b210f2cc2766059 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda#5fe524d35646dadfdc024c510d29330a +https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda#383616287311316d120b028aac89f6f4 +https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda#1a884d2b1ea21abfb73911dcdb8342e4 +https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda#26e013bc453e643991cfa9b76911fb79 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda#6891acad5e136cb62a8c2ed2679d6528 +https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda#3bd32c44526b455aa146d8fdb27a65b3 +https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda#52a50ca8ea1b3496fbd3261bea8c5722 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda#8375cfbda7c57fbceeda18229be10417 +https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda#a804c54ce3a1aed268b13657b79825b8 +https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda#436c165519e140cb08d246a4472a9d6a +https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda#cdd58ab99c214b55d56099108a914282 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda#4e2463b17fc15bb0ce9f67a14e3846ed +https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda#bc6c44af2a9e6067dd7e949ef10cdfba +https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda#c58dd5d147492671866464405364c0f1 +https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda#db0c6b99149880c8ba515cf4abe93ee4 +https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda#829c891bfd4147c25b030455d3a57a3a +https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda#07ce73ca6f6c1a1df5d498679fc52d9e +https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2#f57b656502db0e45cc996ddbef2a9d25 +https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda#d37314c8f553e3b4b44d113a0ee10196 +https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda#b00890e53c4c652f55f3afc4290a814a +https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda#8212b70c509aaa0fa6c8fa974f784b2e +https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda#66de8645e324fda0ea6ef28c2f99a2ab +https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda#901a86453fa6183e914b937643619a03 +# pip ty @ https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc diff --git a/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba.yml b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba.yml new file mode 100644 index 000000000..fa2901ad3 --- /dev/null +++ b/tests/test-corrupt-repodata/lockfile-2.3.3-pkgs-lock-with-mamba.yml @@ -0,0 +1,2385 @@ +# This lock file was generated by conda-lock (https://github.com/conda/conda-lock). DO NOT EDIT! +# +# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike +# e.g. `conda env create`, the resulting environment will not change as new package versions become +# available, unless you explicitly update the lock file. +# +# Install this environment as "YOURENV" with: +# conda-lock install -n YOURENV lockfile-mamba.yml +# This lock contains optional development dependencies. Include them in the installed environment with: +# conda-lock install --dev-dependencies -n YOURENV lockfile-mamba.yml +# To update a single package to the latest version compatible with the version constraints in the source: +# conda-lock lock --lockfile lockfile-mamba.yml --update PACKAGE +# To re-solve the entire environment, e.g. after changing a version constraint in the source file: +# conda-lock -f ../workspace/dev-environment.yaml --lockfile lockfile-mamba.yml +version: 1 +metadata: + content_hash: + linux-64: 478bc8b4c815f08c094483870ca25bcd5452f8f76ab8d993b0d8a1b82429c488 + channels: + - url: conda-forge + used_env_vars: [] + platforms: + - linux-64 + sources: + - ../workspace/dev-environment.yaml +package: +- name: _libgcc_mutex + version: '0.1' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + hash: + md5: d7c89558ba9fa0495403155b64376d81 + category: main + optional: false +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: '0.1' + libgomp: '>=7.5.0' + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + category: main + optional: false +- name: _python_abi3_support + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + cpython: '' + python-gil: '' + url: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + hash: + md5: aaa2a381ccc56eac91d63b6c1240312f + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + category: dev + optional: true +- name: babel + version: 2.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pytz: '>=2015.7' + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + hash: + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + category: dev + optional: true +- name: backports + version: '1.0' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_5.conda + hash: + md5: 767d508c1a67e02ae8f50e44cacfadb2 + category: dev + optional: true +- name: backports.tarfile + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + backports: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backports.tarfile-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: df837d654933488220b454c6a3b0fad6 + category: dev + optional: true +- name: backrefs + version: '5.8' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/backrefs-5.8-pyhd8ed1ab_0.conda + hash: + md5: b16e2595d3a9042aa9d570375978835f + category: dev + optional: true +- name: bcrypt + version: 5.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py314h68536ef_0.conda + hash: + md5: 71d9c4f6a05a4b9da1b03b973e078db0 + category: dev + optional: true +- name: bracex + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 586272349d7bef5b1ef527b56dca73cb + category: dev + optional: true +- name: brotli-python + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314hdfeb8a1_0.conda + hash: + md5: 3ef9d2a701760467b9db2338b6cd926f + sha256: 9f6d339fb78b647be35e3564dac453d8d2f1b865ba72fb961eaac41061368699 + category: dev + optional: true +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + hash: + md5: 51a19bba1b8ebfb60df25cde030b7ebc + category: main + optional: false +- name: c-ares + version: 1.34.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + hash: + md5: f7f0d6cc2dc986d42ac2689ec88192be + category: dev + optional: true +- name: ca-certificates + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + url: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + hash: + md5: f9e5fbc24009179e8b0409624691758a + category: main + optional: false +- name: certifi + version: 2025.10.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + hash: + md5: 257ae203f1d204107ba389607d375ded + category: dev + optional: true +- name: cffi + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + pycparser: '' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + hash: + md5: cf45f4278afd6f4e6d03eda0f435d527 + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + category: dev + optional: true +- name: cfgv + version: 3.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_1.conda + hash: + md5: 57df494053e17dce2ac3a0b33e1b2a2e + category: dev + optional: true +- name: charset-normalizer + version: 3.4.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + hash: + md5: a22d1fd9bf98827e280a02875d9a007a + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + category: dev + optional: true +- name: check-manifest + version: '0.51' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + python-build: '>=0.1' + setuptools: '' + toml: '' + url: https://conda.anaconda.org/conda-forge/noarch/check-manifest-0.51-pyhd8ed1ab_0.conda + hash: + md5: 7f4022a44e9fce926fc9eb0da40bcda2 + sha256: 18637560b1725c32680560566db00d3c16687a3b1adb8f628cbb251a19d9963d + category: dev + optional: true +- name: click + version: 8.3.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + hash: + md5: e76c4ba9e1837847679421b8d549b784 + category: dev + optional: true +- name: cmarkgfm + version: 2024.11.20 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.0.0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cmarkgfm-2024.11.20-py314h5bd0f2a_1.conda + hash: + md5: 23985f6de5f68e3465807e1fbbc98f30 + sha256: c2420839a943580dece9c5857492d69732df2af6dac6cb8fd8dd92c20060beae + category: dev + optional: true +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + hash: + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + category: dev + optional: true +- name: coverage + version: 7.11.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + tomli: '' + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py314h67df5f8_0.conda + hash: + md5: 6ff84b39468623308dee97e5dfbafca0 + sha256: d928f6d0567807c8a09786e18966445b011ec2eb85c7e18382c0b4870cf12f17 + category: dev + optional: true +- name: cpp-expected + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.3.1-h171cf75_0.conda + hash: + md5: d17488e343e4c5c0bd0db18b3934d517 + category: dev + optional: true +- name: cpython + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14,<3.15.0a0' + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.0-py314hd8ed1ab_102.conda + hash: + md5: ff3061d315c4a988fa1c29c543800780 + sha256: 8e2a33b36d36820698840bf0c1ed50e5dd4bdeaa434c7b4f5e13d421225b0414 + category: dev + optional: true +- name: cryptography + version: 46.0.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.14' + libgcc: '>=14' + openssl: '>=3.5.4,<4.0a0' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py314hb613cbf_0.conda + hash: + md5: f291630db5dc438b6ce37c2bb1a96516 + sha256: 4bf88483f944b5624269c926369002d58951627a369aeac1e2cd64a6aa00eb05 + category: dev + optional: true +- name: dbus + version: 1.16.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libexpat: '>=2.7.0,<3.0a0' + libgcc: '>=13' + libglib: '>=2.84.2,<3.0a0' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + hash: + md5: 679616eb5ad4e521c83da4650860aba7 + category: dev + optional: true +- name: distlib + version: 0.4.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: 003b8ba0a94e2f1e117d0bd46aebc901 + category: dev + optional: true +- name: docker-py + version: 7.1.0 + manager: conda + platform: linux-64 + dependencies: + paramiko: '>=2.4.3' + python: '>=3.9' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.1.0-pyhd8ed1ab_1.conda + hash: + md5: 07ce73ca6f6c1a1df5d498679fc52d9e + category: dev + optional: true +- name: doctr + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '' + python: '>=3.5' + pyyaml: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/doctr-1.9.0-pyhd8ed1ab_0.tar.bz2 + hash: + md5: f57b656502db0e45cc996ddbef2a9d25 + category: dev + optional: true +- name: docutils + version: 0.22.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.3-pyhd8ed1ab_0.conda + hash: + md5: abbe8c85619c87c4f4f61b44173434af + sha256: ab77ee201665dc654248e3a250bd6fe05db0a1892716a6feb8da4a3162518624 + category: dev + optional: true +- name: exceptiongroup + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + hash: + md5: 72e42d28960d875c7654614f8b50939a + category: dev + optional: true +- name: execnet + version: 2.1.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/execnet-2.1.1-pyhd8ed1ab_1.conda + hash: + md5: a71efeae2c160f6789900ba2631a2c90 + category: dev + optional: true +- name: filelock + version: 3.20.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + hash: + md5: 66b8b26023b8efdf8fcb23bac4b6325d + category: dev + optional: true +- name: flaky + version: 3.8.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/flaky-3.8.1-pyhd8ed1ab_1.conda + hash: + md5: 7e081d00fdcba21b76658c1649691836 + category: dev + optional: true +- name: fmt + version: 12.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.0.0-h2b0788b_0.conda + hash: + md5: d90bf58b03d9a958cb4f9d3de539af17 + sha256: b546c4eb5e11c2d8eab0685593e078fd0cd483e467d5d6e307d60d887488230f + category: dev + optional: true +- name: freezegun + version: 1.5.5 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/freezegun-1.5.5-pyhd8ed1ab_0.conda + hash: + md5: 0fdb8ebc8dbdb62530ff73181ae63554 + category: dev + optional: true +- name: ghp-import + version: 2.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + python-dateutil: '>=2.8.1' + url: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + hash: + md5: 93f742fe078a7b34c29a182958d4d765 + category: dev + optional: true +- name: gitdb + version: 4.0.12 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + smmap: '>=3.0.1,<6' + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + hash: + md5: 7c14f3706e099f8fcd47af2d494616cc + category: dev + optional: true +- name: gitpython + version: 3.1.45 + manager: conda + platform: linux-64 + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.9' + typing_extensions: '>=3.10.0.2' + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + hash: + md5: b91d463ea8be13bcbe644ae8bc99c39f + category: dev + optional: true +- name: h2 + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + hpack: '>=4.1,<5' + hyperframe: '>=6.1,<7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + hash: + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + category: dev + optional: true +- name: hpack + version: 4.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + hash: + md5: 0a802cb9888dd14eeefc611f05c40b6e + category: dev + optional: true +- name: hyperframe + version: 6.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + hash: + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + category: dev + optional: true +- name: icu + version: '75.1' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + hash: + md5: 8b189310083baabfb622af68fd9d3ae3 + category: main + optional: false +- name: id + version: 1.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + requests: '' + url: https://conda.anaconda.org/conda-forge/noarch/id-1.5.0-pyh29332c3_0.conda + hash: + md5: d37314c8f553e3b4b44d113a0ee10196 + sha256: 161e3eb5aba887d0329bb4099f72cb92eed9072cf63f551d08540480116e69a2 + category: dev + optional: true +- name: identify + version: 2.6.15 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + ukkonen: '' + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + hash: + md5: 25f954b7dae6dd7b0dc004dab74f1ce9 + sha256: 32d5007d12e5731867908cbf5345f5cd44a6c8755a2e8e63e15a184826a51f82 + category: dev + optional: true +- name: idna + version: '3.11' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + hash: + md5: 53abe63df7e10a6ba605dc5f9f961d36 + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + category: dev + optional: true +- name: importlib-metadata + version: 8.7.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + zipp: '>=3.20' + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + hash: + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + category: dev + optional: true +- name: importlib_resources + version: 6.5.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + zipp: '>=3.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + hash: + md5: c85c76dc67d75619a92f51dfbce06992 + category: dev + optional: true +- name: iniconfig + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + hash: + md5: 9614359868482abba1bd15ce465e3c42 + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + category: dev + optional: true +- name: invoke + version: 2.2.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + hash: + md5: 3a804714ed59be1969ffca10f703ec2a + sha256: 5a4e3a01f626c8de15ddada622d364e94ff28e8d6bdedf1665442ef03a4e0140 + category: dev + optional: true +- name: jaraco.classes + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_2.conda + hash: + md5: ade6b25a6136661dadd1a43e4350b10b + category: dev + optional: true +- name: jaraco.context + version: 6.0.1 + manager: conda + platform: linux-64 + dependencies: + backports.tarfile: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.context-6.0.1-pyhd8ed1ab_0.conda + hash: + md5: bcc023a32ea1c44a790bbf1eae473486 + category: dev + optional: true +- name: jaraco.functools + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + more-itertools: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda + hash: + md5: b86839fa387a5b904846e77c84167e57 + category: dev + optional: true +- name: jeepney + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda + hash: + md5: b4b91eb14fbe2f850dd2c5fc20676c0d + category: dev + optional: true +- name: jinja2 + version: 3.1.6 + manager: conda + platform: linux-64 + dependencies: + markupsafe: '>=2.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + hash: + md5: 446bd6c8cb26050d528881df495ce646 + category: dev + optional: true +- name: keyring + version: 25.6.0 + manager: conda + platform: linux-64 + dependencies: + __linux: '' + importlib-metadata: '>=4.11.4' + importlib_resources: '' + jaraco.classes: '' + jaraco.context: '' + jaraco.functools: '' + jeepney: '>=0.4.2' + python: '>=3.9' + secretstorage: '>=3.2' + url: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda + hash: + md5: cdd58ab99c214b55d56099108a914282 + category: dev + optional: true +- name: keyutils + version: 1.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + hash: + md5: b38117a3c920364aff79f870c984b4a3 + category: dev + optional: true +- name: krb5 + version: 1.21.3 + manager: conda + platform: linux-64 + dependencies: + keyutils: '>=1.6.1,<2.0a0' + libedit: '>=3.1.20191231,<4.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.3.1,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + hash: + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + category: dev + optional: true +- name: ld_impl_linux-64 + version: '2.44' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + hash: + md5: c94ab6ff54ba5172cf1c58267005670f + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + category: main + optional: false +- name: libarchive + version: 3.8.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libxml2: '' + libxml2-16: '>=2.14.6' + libzlib: '>=1.3.1,<2.0a0' + lz4-c: '>=1.10.0,<1.11.0a0' + lzo: '>=2.10,<3.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.2-gpl_h7be2006_100.conda + hash: + md5: 9d0eaa26e3c5d7af747b3ddee928327b + sha256: 3fb3baf9f6ac39a4720f91dbb6fdace0208fd76500d362e8d6ae985a8bd42451 + category: dev + optional: true +- name: libcurl + version: 8.17.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + krb5: '>=1.21.3,<1.22.0a0' + libgcc: '>=14' + libnghttp2: '>=1.67.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.4,<4.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + hash: + md5: 01e149d4a53185622dc2e788281961f2 + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + category: dev + optional: true +- name: libedit + version: 3.1.20250104 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + hash: + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + category: dev + optional: true +- name: libev + version: '4.33' + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + hash: + md5: 172bf1cd1ff8629f2b1179945ed45055 + category: dev + optional: true +- name: libexpat + version: 2.7.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + hash: + md5: 4211416ecba1866fab0c6470986c22d6 + category: main + optional: false +- name: libffi + version: 3.5.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + hash: + md5: 35f29eec58405aaf55e01cb470d8c26a + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + category: main + optional: false +- name: libgcc + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + hash: + md5: c0374badb3a5d4b1372db28d19462c53 + category: main + optional: false +- name: libgcc-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + hash: + md5: 280ea6eee9e2ddefde25ff799c4f0363 + category: main + optional: false +- name: libglib + version: 2.86.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + libzlib: '>=1.3.1,<2.0a0' + pcre2: '>=10.46,<10.47.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + hash: + md5: 8eef974130690cf385b569ecdeed2cf0 + sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 + category: dev + optional: true +- name: libgomp + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + hash: + md5: f7b4d76975aac7e5d9e6ad13845f92fe + category: main + optional: false +- name: libiconv + version: '1.18' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + hash: + md5: 915f5995e94f60e9a4826e0b0920ee88 + category: dev + optional: true +- name: liblzma + version: 5.8.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + hash: + md5: 1a580f7796c7bf6393fddb8bbbde58dc + category: main + optional: false +- name: libmamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cpp-expected: '>=1.3.1,<1.3.2.0a0' + fmt: '>=12.0.0,<12.1.0a0' + libarchive: '>=3.8.2,<3.9.0a0' + libcurl: '>=8.14.1,<9.0a0' + libgcc: '>=14' + libsolv: '>=0.7.35,<0.8.0a0' + libstdcxx: '>=14' + nlohmann_json-abi: 3.12.0 + openssl: '>=3.5.4,<4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + simdjson: '>=4.0.7,<4.1.0a0' + yaml-cpp: '>=0.8.0,<0.9.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.3-h09abcb8_2.conda + hash: + md5: afca7d1181d858718852e4d8402c05ac + sha256: fb32dac071b66a23afe866acf2174bf3fa911cb45a714027328232e86592368c + category: dev + optional: true +- name: libmpdec + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + hash: + md5: c7e925f37e3b40d893459e625f6a53f1 + category: main + optional: false +- name: libnghttp2 + version: 1.67.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + c-ares: '>=1.34.5,<2.0a0' + libev: '>=4.33,<5.0a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.2,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + hash: + md5: b499ce4b026493a13774bcf0f4c33849 + category: dev + optional: true +- name: libsodium + version: 1.0.20 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + hash: + md5: a587892d3c13b6621a6091be690dbca2 + category: dev + optional: true +- name: libsolv + version: 0.7.35 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.35-h9463b59_0.conda + hash: + md5: 21769ce326958ec230cdcbd0f2ad97eb + category: dev + optional: true +- name: libsqlite + version: 3.51.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + hash: + md5: 729a572a3ebb8c43933b30edcc628ceb + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + category: main + optional: false +- name: libssh2 + version: 1.11.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.5.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + hash: + md5: eecce068c7e4eddeb169591baac20ac4 + category: dev + optional: true +- name: libstdcxx + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + hash: + md5: 5b767048b1b3ee9a954b06f4084f93dc + category: main + optional: false +- name: libstdcxx-ng + version: 15.2.0 + manager: conda + platform: linux-64 + dependencies: + libstdcxx: 15.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + hash: + md5: f627678cf829bd70bccf141a19c3ad3e + category: main + optional: false +- name: libuuid + version: 2.41.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + hash: + md5: 80c07c68d2f6870250959dcc95b209d1 + category: main + optional: false +- name: libxml2 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libxml2-16: 2.15.1 + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + hash: + md5: e512be7dc1f84966d50959e900ca121f + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + category: dev + optional: true +- name: libxml2-16 + version: 2.15.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + icu: '>=75.1,<76.0a0' + libgcc: '>=14' + libiconv: '>=1.18,<2.0a0' + liblzma: '>=5.8.1,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + hash: + md5: e7733bc6785ec009e47a224a71917e84 + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + category: dev + optional: true +- name: libzlib + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + hash: + md5: edb0dca6bc32e4f4789199455a1dbeb8 + category: main + optional: false +- name: lz4-c + version: 1.10.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + hash: + md5: 9de5350a85c4a20c685259b889aa6393 + category: dev + optional: true +- name: lzo + version: '2.10' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + hash: + md5: 45161d96307e3a447cc3eb5896cf6f8c + category: dev + optional: true +- name: mamba + version: 2.3.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libmamba: '>=2.3.3,<2.4.0a0' + reproc: '>=14.2,<15.0a0' + reproc-cpp: '>=14.2,<15.0a0' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/mamba-2.3.3-h4396525_2.conda + hash: + md5: 7eb628c8e865dd6e33a46ade708de780 + sha256: 5b07dcfcaf67e2d843756cf79e7139ecdf13ee1f8c3734002aee729afb439393 + category: dev + optional: true +- name: markdown + version: '3.10' + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.4' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10-pyhd8ed1ab_0.conda + hash: + md5: 1b9272ad4388efc264ff504384e2b578 + sha256: 2b889cd55574a4858955a8c517491948458a2c1c554ed3201d083319acf28a96 + category: dev + optional: true +- name: markdown-it-py + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + mdurl: '>=0.1,<1' + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5b5203189eb668f042ac2b0826244964 + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + category: dev + optional: true +- name: markupsafe + version: 3.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda + hash: + md5: fab1be106a50e20f10fe5228fd1d1651 + category: dev + optional: true +- name: mdurl + version: 0.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + hash: + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + category: dev + optional: true +- name: mergedeep + version: 1.3.4 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + hash: + md5: d9a8fc1f01deae61735c88ec242e855c + category: dev + optional: true +- name: mkdocs + version: 1.6.1 + manager: conda + platform: linux-64 + dependencies: + 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' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + hash: + md5: 14661160be39d78f2b210f2cc2766059 + category: dev + optional: true +- name: mkdocs-click + version: 0.9.0 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.1' + markdown: '>=3.3' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-click-0.9.0-pyh29332c3_0.conda + hash: + md5: 5fe524d35646dadfdc024c510d29330a + category: dev + optional: true +- name: mkdocs-get-deps + version: 0.2.0 + manager: conda + platform: linux-64 + dependencies: + importlib-metadata: '>=4.3' + mergedeep: '>=1.3.4' + platformdirs: '>=2.2.0' + python: '>=3.9' + pyyaml: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.0-pyhd8ed1ab_1.conda + hash: + md5: 84382acddb26c27c70f2de8d4c830830 + category: dev + optional: true +- name: mkdocs-include-markdown-plugin + version: 7.2.0 + manager: conda + platform: linux-64 + dependencies: + mkdocs: '>=1.4' + python: '>=3.10' + wcmatch: '' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-include-markdown-plugin-7.2.0-pyhd8ed1ab_0.conda + hash: + md5: 4e2463b17fc15bb0ce9f67a14e3846ed + sha256: 89bea7fadc8172b8084c85971a0d09004193f9f419705dc8fc67b3267a7fdf19 + category: dev + optional: true +- name: mkdocs-material + version: 9.6.23 + manager: conda + platform: linux-64 + dependencies: + 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: '' + requests: '>=2.26,<3.dev0' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.6.23-pyhcf101f3_0.conda + hash: + md5: b00890e53c4c652f55f3afc4290a814a + sha256: 86f84db5f028ba882546b56815fc62e03fa947e04f4933fa181d9bb29445d15e + category: dev + optional: true +- name: mkdocs-material-extensions + version: 1.3.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + hash: + md5: de8af4000a4872e16fb784c649679c8e + category: dev + optional: true +- name: more-itertools + version: 10.8.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.8.0-pyhd8ed1ab_0.conda + hash: + md5: d7620a15dc400b448e1c88a981b23ddd + category: dev + optional: true +- name: mypy + version: 1.18.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + mypy_extensions: '>=1.0.0' + pathspec: '>=0.9.0' + psutil: '>=4.0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + typing_extensions: '>=4.6.0' + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py314h5bd0f2a_0.conda + hash: + md5: 1e87cabfdfea01d30e2ce1dd6152846f + category: dev + optional: true +- name: mypy_extensions + version: 1.1.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + hash: + md5: e9c622e0d00fa24a6292279af3ab6d06 + category: dev + optional: true +- name: ncurses + version: '6.5' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + hash: + md5: 47e340acb35de30501a76c7c799c41d7 + category: main + optional: false +- name: nh3 + version: 0.3.2 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + _python_abi3_support: 1.* + cpython: '>=3.10' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/nh3-0.3.2-py310h1570de5_0.conda + hash: + md5: 383616287311316d120b028aac89f6f4 + sha256: f6095c759df15baa9cccc20394b21667f4d0440f3c432e07539c3b47ef195c0b + category: dev + optional: true +- name: nlohmann_json-abi + version: 3.12.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/nlohmann_json-abi-3.12.0-h0f90c79_1.conda + hash: + md5: 59659d0213082bc13be8500bab80c002 + category: dev + optional: true +- name: nodeenv + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + setuptools: '' + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + hash: + md5: 7ba3f09fceae6a120d664217e58fe686 + category: dev + optional: true +- name: openssl + version: 3.5.4 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + ca-certificates: '' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + hash: + md5: 14edad12b59ccbfa3910d42c72adc2a0 + category: main + optional: false +- name: packaging + version: '25.0' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + hash: + md5: 58335b26c38bf4a20f399384c33cbcf9 + category: dev + optional: true +- name: paginate + version: 0.5.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + hash: + md5: c3f35453097faf911fd3f6023fc2ab24 + category: dev + optional: true +- name: paramiko + version: 4.0.0 + manager: conda + platform: linux-64 + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + invoke: '>=2.0' + pynacl: '>=1.5' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + hash: + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + category: dev + optional: true +- name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + category: dev + optional: true +- name: pcre2 + version: '10.46' + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + libgcc: '>=14' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + hash: + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + category: dev + optional: true +- name: pip + version: '25.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.13.0a0' + url: https://conda.anaconda.org/conda-forge/noarch/pip-25.2-pyh145f28c_0.conda + hash: + md5: e7ab34d5a93e0819b62563c78635d937 + category: main + optional: false +- name: platformdirs + version: 4.5.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + hash: + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + category: dev + optional: true +- name: pluggy + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + hash: + md5: 7da7ccd349dbf6487a7778579d2bb971 + category: dev + optional: true +- name: pre-commit + version: 4.3.0 + manager: conda + platform: linux-64 + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9' + pyyaml: '>=5.1' + virtualenv: '>=20.10.0' + url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.3.0-pyha770c72_0.conda + hash: + md5: bc6c44af2a9e6067dd7e949ef10cdfba + category: dev + optional: true +- name: psutil + version: 7.1.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py314h0f05182_0.conda + hash: + md5: aee1c9aecc66339ea6fd89e6a143a282 + sha256: 7c5d69ad61fe4e0d3657185f51302075ef5b9e34686238c6b3bde102344d4390 + category: dev + optional: true +- name: pycparser + version: '2.22' + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + hash: + md5: 12c566707c80111f9799308d9e265aef + category: dev + optional: true +- name: pygments + version: 2.19.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + hash: + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + category: dev + optional: true +- name: pymdown-extensions + version: 10.16.1 + manager: conda + platform: linux-64 + dependencies: + markdown: '>=3.6' + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.16.1-pyhd8ed1ab_0.conda + hash: + md5: 26e013bc453e643991cfa9b76911fb79 + category: dev + optional: true +- name: pynacl + version: 1.6.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.4.1' + libgcc: '>=14' + libsodium: '>=1.0.20,<1.0.21.0a0' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + six: '' + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.0-py314h5bd0f2a_0.conda + hash: + md5: 287eabdd0b0a176376968b84c2707bd8 + category: dev + optional: true +- name: pyproject_hooks + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + hash: + md5: d4582021af437c931d7d77ec39007845 + category: dev + optional: true +- name: pysocks + version: 1.7.1 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + hash: + md5: 461219d1a5bd61342293efa2c0c90eac + category: dev + optional: true +- name: pytest + version: 8.4.2 + manager: conda + platform: linux-64 + dependencies: + colorama: '>=0.4' + exceptiongroup: '>=1' + iniconfig: '>=1' + packaging: '>=20' + pluggy: '>=1.5,<2' + pygments: '>=2.7.2' + python: '' + tomli: '>=1' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + hash: + md5: da0c42269086f5170e2b296878ec13a6 + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + category: dev + optional: true +- name: pytest-cov + version: 7.0.0 + manager: conda + platform: linux-64 + dependencies: + coverage: '>=7.10.6' + pluggy: '>=1.2' + pytest: '>=7' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + hash: + md5: 6891acad5e136cb62a8c2ed2679d6528 + category: dev + optional: true +- name: pytest-split + version: 0.10.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=5.0.0,<9.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-split-0.10.0-pyhff2d567_0.conda + hash: + md5: 3bd32c44526b455aa146d8fdb27a65b3 + category: dev + optional: true +- name: pytest-timeout + version: 2.4.0 + manager: conda + platform: linux-64 + dependencies: + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda + hash: + md5: 52a50ca8ea1b3496fbd3261bea8c5722 + category: dev + optional: true +- name: pytest-xdist + version: 3.8.0 + manager: conda + platform: linux-64 + dependencies: + execnet: '>=2.1' + pytest: '>=7.0.0' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-3.8.0-pyhd8ed1ab_0.conda + hash: + md5: 8375cfbda7c57fbceeda18229be10417 + category: dev + optional: true +- name: python + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libexpat: '>=2.7.1,<3.0a0' + libffi: '>=3.5.2,<3.6.0a0' + libgcc: '>=14' + liblzma: '>=5.8.1,<6.0a0' + libmpdec: '>=4.0.0,<5.0a0' + libsqlite: '>=3.50.4,<4.0a0' + libuuid: '>=2.41.2,<3.0a0' + libzlib: '>=1.3.1,<2.0a0' + ncurses: '>=6.5,<7.0a0' + openssl: '>=3.5.4,<4.0a0' + pip: '' + python_abi: 3.14.* + readline: '>=8.2,<9.0a0' + tk: '>=8.6.13,<8.7.0a0' + tzdata: '' + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda + hash: + md5: 0a19d2cc6eb15881889b0c6fa7d6a78d + sha256: 76d750045b94fded676323bfd01975a26a474023635735773d0e4d80aaa72518 + category: main + optional: false +- name: python-build + version: 1.3.0 + manager: conda + platform: linux-64 + dependencies: + colorama: '' + importlib-metadata: '>=4.6' + packaging: '>=19.0' + pyproject_hooks: '' + python: '>=3.9' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/noarch/python-build-1.3.0-pyhff2d567_0.conda + hash: + md5: ed5d43e9ef92cc2a9872f9bdfe94b984 + category: dev + optional: true +- name: python-dateutil + version: 2.9.0.post0 + manager: conda + platform: linux-64 + dependencies: + python: '' + six: '>=1.5' + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + hash: + md5: 5b8d21249ff20967101ffa321cab24e8 + category: dev + optional: true +- name: python-gil + version: 3.14.0 + manager: conda + platform: linux-64 + dependencies: + cpython: 3.14.0.* + python_abi: '*' + url: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.0-h4df99d1_102.conda + hash: + md5: d152e423d80848fe95f0f4b43448030e + sha256: e68c9796fba0825ebc1338ceb94496683ab7d45dcd281b378ec2a56365d3c555 + category: dev + optional: true +- name: python_abi + version: '3.14' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + hash: + md5: 0539938c55b6b1a59b560e843ad864a4 + category: main + optional: false +- name: pytz + version: '2025.2' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + hash: + md5: bc8e3267d44011051f2eb14d22fb0960 + category: dev + optional: true +- name: pywin32-on-windows + version: 0.1.0 + manager: conda + platform: linux-64 + dependencies: + __unix: '' + python: '>=2.7' + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + hash: + md5: 2807a0becd1d986fe1ef9b7f8135f215 + category: dev + optional: true +- name: pyyaml + version: 6.0.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10.*' + yaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda + hash: + md5: b12f41c0d7fb5ab81709fcc86579688f + category: dev + optional: true +- name: pyyaml-env-tag + version: '1.1' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + pyyaml: '' + url: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + hash: + md5: e8e53c4150a1bba3b160eacf9d53a51b + category: dev + optional: true +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + hash: + md5: 283b96675859b20a825f8fa30f311446 + category: main + optional: false +- name: readme_renderer + version: '44.0' + manager: conda + platform: linux-64 + dependencies: + cmarkgfm: '>=0.8.0' + docutils: '>=0.21.2' + nh3: '>=0.2.14' + pygments: '>=2.5.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/readme_renderer-44.0-pyhd8ed1ab_1.conda + hash: + md5: c58dd5d147492671866464405364c0f1 + sha256: 66f3adf6aaabf977cfcc22cb65607002b1de4a22bc9fac7be6bb774bc6f85a3a + category: dev + optional: true +- name: reproc + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda + hash: + md5: 69fbc0a9e42eb5fe6733d2d60d818822 + category: dev + optional: true +- name: reproc-cpp + version: 14.2.5.post0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + reproc: 14.2.5.post0 + url: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda + hash: + md5: 828302fca535f9cfeb598d5f7c204323 + category: dev + optional: true +- name: requests + version: 2.32.5 + manager: conda + platform: linux-64 + dependencies: + certifi: '>=2017.4.17' + charset-normalizer: '>=2,<4' + idna: '>=2.5,<4' + python: '>=3.9' + urllib3: '>=1.21.1,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + hash: + md5: db0c6b99149880c8ba515cf4abe93ee4 + category: dev + optional: true +- name: requests-mock + version: 1.12.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.22,<3' + url: https://conda.anaconda.org/conda-forge/noarch/requests-mock-1.12.1-pyhd8ed1ab_1.conda + hash: + md5: 8212b70c509aaa0fa6c8fa974f784b2e + category: dev + optional: true +- name: requests-toolbelt + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + requests: '>=2.0.1,<3.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: 66de8645e324fda0ea6ef28c2f99a2ab + category: dev + optional: true +- name: rfc3986 + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-2.0.0-pyhd8ed1ab_1.conda + hash: + md5: 43e14f832d7551e5a8910672bfc3d8c6 + sha256: d617373ba1a5108336cb87754d030b9e384dcf91796d143fa60fe61e76e5cfb0 + category: dev + optional: true +- name: rich + version: 14.2.0 + manager: conda + platform: linux-64 + dependencies: + markdown-it-py: '>=2.2.0' + pygments: '>=2.13.0,<3.0.0' + python: '' + typing_extensions: '>=4.0.0,<5.0.0' + url: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + hash: + md5: a247579d8a59931091b16a1e932bbed6 + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + category: dev + optional: true +- name: ruff + version: 0.14.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.3-h813ae00_1.conda + hash: + md5: 57df47ec0ca6c4ab8f46865a8933f0cd + sha256: 05a2d6a1123d31573163629ae5d47c02c2576b4d2c5110320d063ccd09f97c12 + category: dev + optional: true +- name: secretstorage + version: 3.4.0 + manager: conda + platform: linux-64 + dependencies: + cryptography: '>=2.0' + dbus: '' + jeepney: '>=0.6' + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.4.0-py314hdafbbf9_0.conda + hash: + md5: a804c54ce3a1aed268b13657b79825b8 + category: dev + optional: true +- name: setuptools + version: 80.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + hash: + md5: 4de79c071274a53dcaf2a8c749d1499e + category: dev + optional: true +- name: simdjson + version: 4.0.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + libstdcxx: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/simdjson-4.0.7-hb700be7_0.conda + hash: + md5: cc9c262a71dd584aa5a3a22fc963255c + category: dev + optional: true +- name: six + version: 1.17.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + hash: + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + category: dev + optional: true +- name: smmap + version: 5.0.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + hash: + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + category: dev + optional: true +- name: tk + version: 8.6.13 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + hash: + md5: a0116df4f4ed05c303811a837d5b39d8 + category: main + optional: false +- name: toml + version: 0.10.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda + hash: + md5: b0dd904de08b7db706167240bf37b164 + category: dev + optional: true +- name: tomli + version: 2.3.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + hash: + md5: d2732eb636c264dc9aa4cbee404b1a53 + category: dev + optional: true +- name: twine + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + id: '' + importlib-metadata: '>=3.6' + keyring: '>=21.2.0' + packaging: '>=24.0' + python: '' + readme_renderer: '>=35.0' + requests: '>=2.20' + requests-toolbelt: '>=0.8.0,!=0.9.0' + rfc3986: '>=1.4.0' + rich: '>=12.0.0' + urllib3: '>=1.26.0' + url: https://conda.anaconda.org/conda-forge/noarch/twine-6.2.0-pyhcf101f3_0.conda + hash: + md5: 901a86453fa6183e914b937643619a03 + sha256: 0370098cab22773e33755026bf78539c2f05645fce7dcc9713d01e21950756bb + category: dev + optional: true +- name: types-click + version: 7.1.8 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-7.1.8-pyhd8ed1ab_1.conda + hash: + md5: 08ed65e279de69322843b075679567ea + category: dev + optional: true +- name: types-click-default-group + version: 1.2.0.20250513 + manager: conda + platform: linux-64 + dependencies: + click: '>=8.0.0' + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-click-default-group-1.2.0.20250513-pyhe01879c_0.conda + hash: + md5: 335926a07f57d325d0d6966bf36eee0b + category: dev + optional: true +- name: types-filelock + version: 3.2.7 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-filelock-3.2.7-pyhd8ed1ab_1.conda + hash: + md5: 3f1356104d409d6deba0c689f3b2c602 + category: dev + optional: true +- name: types-freezegun + version: 1.1.10 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-freezegun-1.1.10-pyhd8ed1ab_1.conda + hash: + md5: 0b609b66e56bbe70d97cd52ad24058fb + category: dev + optional: true +- name: types-pyyaml + version: 6.0.12.20250915 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20250915-pyhd8ed1ab_0.conda + hash: + md5: 3c9919ecee97547fa14fea57e2a9bb54 + category: dev + optional: true +- name: types-requests + version: 2.32.4.20250913 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + urllib3: '>=2' + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.32.4.20250913-pyhd8ed1ab_0.conda + hash: + md5: 829c891bfd4147c25b030455d3a57a3a + category: dev + optional: true +- name: types-setuptools + version: 80.9.0.20250822 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/types-setuptools-80.9.0.20250822-pyhcf101f3_0.conda + hash: + md5: 6404dcec3d8f8b8fe540516837aa08ec + category: dev + optional: true +- name: types-toml + version: 0.10.8.20240310 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-toml-0.10.8.20240310-pyhd8ed1ab_1.conda + hash: + md5: 353b9704e4851a6f210e641d3595755f + category: dev + optional: true +- name: typing_extensions + version: 4.15.0 + manager: conda + platform: linux-64 + dependencies: + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + hash: + md5: 0caa1af407ecff61170c9437a808404d + category: dev + optional: true +- name: tzdata + version: 2025b + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + hash: + md5: 4222072737ccff51314b5ece9c7d6f5a + category: main + optional: false +- name: ukkonen + version: 1.0.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '' + libgcc: '>=14' + libstdcxx: '>=14' + python: '>=3.14,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py314h9891dd4_6.conda + hash: + md5: 28303a78c48916ab07b95ffdbffdfd6c + sha256: ef6753f6febaa74d35253e4e0dd09dc9497af8e370893bd97c479f59346daa57 + category: dev + optional: true +- name: urllib3 + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: + brotli-python: '>=1.0.9' + h2: '>=4,<5' + pysocks: '>=1.5.6,<2.0,!=1.5.7' + python: '>=3.9' + zstandard: '>=0.18.0' + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + hash: + md5: 436c165519e140cb08d246a4472a9d6a + category: dev + optional: true +- name: virtualenv + version: 20.35.4 + manager: conda + platform: linux-64 + dependencies: + distlib: '>=0.3.7,<1' + filelock: '>=3.12.2,<4' + platformdirs: '>=3.9.1,<5' + python: '>=3.10' + typing_extensions: '>=4.13.2' + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + hash: + md5: cfccfd4e8d9de82ed75c8e2c91cab375 + sha256: 77193c99c6626c58446168d3700f9643d8c0dab1f6deb6b9dd039e6872781bfb + category: dev + optional: true +- name: watchdog + version: 6.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.14.0rc2,<3.15.0a0' + python_abi: 3.14.* + pyyaml: '>=3.10' + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314hdafbbf9_1.conda + hash: + md5: 099125fcb130e9fe134c6b610f33b0e1 + category: dev + optional: true +- name: wcmatch + version: '10.1' + manager: conda + platform: linux-64 + dependencies: + bracex: '>=2.1.1' + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcmatch-10.1-pyhd8ed1ab_0.conda + hash: + md5: b045a877087e3bbdd36fe460e7f5cc55 + category: dev + optional: true +- name: websocket-client + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.10' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 2f1ed718fcd829c184a6d4f0f2e07409 + category: dev + optional: true +- name: wheel + version: 0.45.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda + hash: + md5: 75cb7132eb58d97896e173ef12ac9986 + category: dev + optional: true +- name: yaml + version: 0.2.5 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + hash: + md5: a77f85f77be52ff59391544bfe73390a + category: dev + optional: true +- name: yaml-cpp + version: 0.8.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + hash: + md5: 92b90f5f7a322e74468bb4909c7354b5 + category: dev + optional: true +- name: zipp + version: 3.23.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + hash: + md5: df5e78d904988eb55042c0c97446079f + category: dev + optional: true +- name: zizmor + version: 1.14.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=14' + python: '>=3.14.0rc3,<3.15.0a0' + python_abi: 3.14.* + url: https://conda.anaconda.org/conda-forge/linux-64/zizmor-1.14.1-py314ha5689aa_0.conda + hash: + md5: 1f0180642729883f29c47e11d857e786 + category: dev + optional: true +- name: zstandard + version: 0.25.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + cffi: '>=1.11' + libgcc: '>=14' + python: '' + python_abi: 3.14.* + zstd: '>=1.5.7,<1.6.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda + hash: + md5: 68bd13651618354987763f746ee1fadc + category: dev + optional: true +- name: zstd + version: 1.5.7 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + hash: + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + category: main + optional: false +- name: ty + version: 0.0.1a25 + manager: pip + platform: linux-64 + dependencies: {} + url: https://files.pythonhosted.org/packages/57/d3/01ecc23bbd8f3e0dfbcf9172d06d84e88155c5f416f1491137e8066fd859/ty-0.0.1a25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + hash: + sha256: 0a90d897a7c1a5ae9b41a4c7b0a42262a06361476ad88d783dbedd7913edadbc + category: dev + optional: true