diff --git a/.github/workflows/python-bindings.yml b/.github/workflows/python-bindings.yml new file mode 100644 index 000000000..41804bc10 --- /dev/null +++ b/.github/workflows/python-bindings.yml @@ -0,0 +1,37 @@ +name: Python bindings CI + +on: + push: + branches: [ $default-branch ] + paths: + - 'py-rattler/**/*' + - '.github/workflows/python-bindings.yml' + pull_request: + workflow_dispatch: + +permissions: + contents: read + +jobs: + format_lint_test: + name: Format, Lint and Test the Python bindings + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - run: | + curl -fsSL https://pixi.sh/install.sh | bash + echo "/home/runner/.pixi/bin" >> $GITHUB_PATH + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + components: clippy, rustfmt + - name: Format and Lint + run: | + cd py-rattler + pixi run lint + pixi run fmt-check + - name: Run tests + run: | + cd py-rattler + pixi run test diff --git a/py-rattler/.gitignore b/py-rattler/.gitignore new file mode 100644 index 000000000..94851e692 --- /dev/null +++ b/py-rattler/.gitignore @@ -0,0 +1,73 @@ +/target +!Cargo.lock + +# Byte-compiled / optimized / DLL files +__pycache__/ +.pytest_cache/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +.venv/ +env/ +bin/ +build/ +develop-eggs/ +dist/ +eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +include/ +man/ +venv/ +*.egg-info/ +.installed.cfg +*.egg + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt +pip-selfcheck.json + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Rope +.ropeproject + +# Django stuff: +*.log +*.pot + +.DS_Store + +# Sphinx documentation +docs/_build/ + +# PyCharm +.idea/ + +# VSCode +.vscode/ + +# Pyenv +.python-version diff --git a/py-rattler/Cargo.lock b/py-rattler/Cargo.lock new file mode 100644 index 000000000..3835340a3 --- /dev/null +++ b/py-rattler/Cargo.lock @@ -0,0 +1,1172 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "cc" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "time 0.1.45", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.29", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +dependencies = [ + "serde", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "iana-time-zone" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", + "serde", +] + +[[package]] +name = "indoc" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" + +[[package]] +name = "inventory" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53088c87cf71c9d4f3372a2cb9eea1e7b8a0b1bf8b7f7d23fe5b76dbb07e63b" + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy-regex" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57451d19ad5e289ff6c3d69c2a2424652995c42b79dafa11e9c4d5508c913c01" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0a1d9139f0ee2e862e08a9c5d0ba0470f2aa21cd1e1aa1b1562f83116c725f" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.29", +] + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "md-5" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +dependencies = [ + "digest", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pin-project-lite" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "py-rattler" +version = "0.1.0" +dependencies = [ + "pyo3", + "rattler_conda_types", + "thiserror", +] + +[[package]] +name = "pyo3" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38" +dependencies = [ + "cfg-if", + "indoc", + "inventory", + "libc", + "memoffset", + "parking_lot", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rattler_conda_types" +version = "0.8.0" +dependencies = [ + "chrono", + "fxhash", + "glob", + "hex", + "itertools", + "lazy-regex", + "nom", + "rattler_digest", + "rattler_macros", + "regex", + "serde", + "serde-json-python-formatter", + "serde_json", + "serde_repr", + "serde_with", + "serde_yaml", + "smallvec", + "strum", + "thiserror", + "tracing", + "url", +] + +[[package]] +name = "rattler_digest" +version = "0.8.0" +dependencies = [ + "blake2", + "digest", + "hex", + "md-5", + "serde", + "serde_with", + "sha2", +] + +[[package]] +name = "rattler_macros" +version = "0.8.0" +dependencies = [ + "quote", + "syn 2.0.29", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-json-python-formatter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db62ee54077c67a8cff258c919175f0b3cb78d2b6dcafb0d166ff98dcb21aa5d" +dependencies = [ + "serde_json", +] + +[[package]] +name = "serde_derive" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "serde_json" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "serde_with" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1402f54f9a3b9e2efe71c1cea24e648acce55887983553eeb858cf3115acfd49" +dependencies = [ + "base64", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.0.0", + "serde", + "serde_json", + "serde_with_macros", + "time 0.3.25", +] + +[[package]] +name = "serde_with_macros" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9197f1ad0e3c173a0222d3c4404fb04c3afe87e962bcb327af73e8301fa203c7" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "serde_yaml" +version = "0.9.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" +dependencies = [ + "indexmap 2.0.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "sha2" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +dependencies = [ + "serde", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.29", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.12.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" + +[[package]] +name = "thiserror" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +dependencies = [ + "deranged", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unindent" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" + +[[package]] +name = "unsafe-libyaml" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.29", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1eeca1c172a285ee6c2c84c341ccea837e7c01b12fbb2d0fe3c9e550ce49ec8" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10d0c968ba7f6166195e13d593af609ec2e3d24f916f081690695cf5eaffb2f" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "571d8d4e62f26d4932099a9efe89660e8bd5087775a2ab5cdd8b747b811f1058" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2229ad223e178db5fbbc8bd8d3835e51e566b8474bfca58d2e6150c48bb723cd" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "600956e2d840c194eedfc5d18f8242bc2e17c7775b6684488af3a9fff6fe3287" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea99ff3f8b49fb7a8e0d305e5aec485bd068c2ba691b6e277d29eaeac945868a" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1a05a1ece9a7a0d5a7ccf30ba2c33e3a61a30e042ffd247567d1de1d94120d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d419259aba16b663966e29e6d7c6ecfa0bb8425818bb96f6f1f3c3eb71a6e7b9" diff --git a/py-rattler/Cargo.toml b/py-rattler/Cargo.toml new file mode 100644 index 000000000..36a2bad44 --- /dev/null +++ b/py-rattler/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "py-rattler" +version = "0.1.0" +edition = "2021" + +[lib] +name = "rattler" +crate-type = ["cdylib"] + +[dependencies] +rattler_conda_types = { path="../crates/rattler_conda_types", default-features = false } + +pyo3 = { version = "0.19", features = ["abi3-py38", "extension-module", "multiple-pymethods"] } + +thiserror = "1.0.44" + +# Prevent package from thinking it's in the workspace +[workspace] diff --git a/py-rattler/pixi.lock b/py-rattler/pixi.lock new file mode 100644 index 000000000..a3b45bf38 --- /dev/null +++ b/py-rattler/pixi.lock @@ -0,0 +1,3245 @@ +metadata: + content_hash: + linux-64: e90c2ee71ad70fc0a1c8302029533a7d1498f2bffcd0eaa8d2934700e775dc1d + osx-arm64: e90c2ee71ad70fc0a1c8302029533a7d1498f2bffcd0eaa8d2934700e775dc1d + win-64: e90c2ee71ad70fc0a1c8302029533a7d1498f2bffcd0eaa8d2934700e775dc1d + osx-64: e90c2ee71ad70fc0a1c8302029533a7d1498f2bffcd0eaa8d2934700e775dc1d + channels: + - url: https://conda.anaconda.org/conda-forge/ + used_env_vars: [] + platforms: + - linux-64 + - osx-64 + - osx-arm64 + - win-64 + sources: [] + time_metadata: null + git_metadata: null + inputs_metadata: null + custom_metadata: null +package: +- name: pytest + version: 7.4.0 + manager: conda + platform: linux-64 + dependencies: + exceptiongroup: '>=1.0.0rc8' + python: '>=3.7' + tomli: '>=1.0.0' + pluggy: '>=0.12,<2.0' + iniconfig: '*' + colorama: '*' + packaging: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.0-pyhd8ed1ab_0.conda + hash: + md5: 3cfe9b9e958e7238a386933c75d190db + sha256: 52b2eb4e8d0380d92d45643d0c9706725e691ce8404dab4c2db4aaf58e48a23c + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + noarch: python + size: 243695 + timestamp: 1687692277221 +- name: pip + version: 23.2.1 + manager: conda + platform: linux-64 + dependencies: + setuptools: '*' + python: '>=3.7' + wheel: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda + hash: + md5: e2783aa3f9235225eec92f9081c5b801 + sha256: 9e401b171856e12f6aa32ae5cc1ae1d3708aa7d705ddf359ee7dd0dffd73c2b5 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 1386212 + timestamp: 1690024763393 +- name: maturin + version: 1.2.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.11,<3.12.0a0' + openssl: '>=3.1.2,<4.0a0' + python_abi: 3.11.* *_cp311 + libgcc-ng: '>=12' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/linux-64/maturin-1.2.3-py311h63ff55d_0.conda + hash: + md5: 783af423adbf04f23a2023409d91ba8b + sha256: 38ed64ca62ec531603f8356b724b64a31df2194064bcb6e5f2a28b413eff6457 + optional: false + category: main + build: py311h63ff55d_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + size: 6262911 + timestamp: 1692268699112 +- name: openssl + version: 3.1.2 + manager: conda + platform: linux-64 + dependencies: + ca-certificates: '*' + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.2-hd590300_0.conda + hash: + md5: e5ac5227582d6c83ccf247288c0eb095 + sha256: b113fbac327c90cdc29c2fac0f2a2e5cc0d1918b2a5ffa7abd49b695b9b3c6e9 + optional: false + category: main + build: hd590300_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + constrains: + - pyopenssl >=22.1 + license: Apache-2.0 + license_family: Apache + size: 2646546 + timestamp: 1690948722548 +- name: black + version: 23.7.0 + manager: conda + platform: linux-64 + dependencies: + mypy_extensions: '>=0.4.3' + python: '>=3.11,<3.12.0a0' + python_abi: 3.11.* *_cp311 + click: '>=8.0.0' + pathspec: '>=0.9' + packaging: '>=22.0' + platformdirs: '>=2' + url: https://conda.anaconda.org/conda-forge/linux-64/black-23.7.0-py311h38be061_1.conda + hash: + md5: 9dc54d30b15760b58706ac840803f6b4 + sha256: bb03f67cb1b242ef59d9b80a8d9e99bc1e4725230473ceb59b9a6d0fb989cf9f + optional: false + category: main + build: py311h38be061_1 + arch: x86_64 + subdir: linux-64 + build_number: 1 + license: MIT + license_family: MIT + size: 354722 + timestamp: 1689092839198 +- name: ruff + version: 0.0.285 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.11,<3.12.0a0' + libstdcxx-ng: '>=12' + python_abi: 3.11.* *_cp311 + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.0.285-py311h7145743_0.conda + hash: + md5: da3e88831391c189bb82609f08c56651 + sha256: 98b5be735138b3acb1899bbb435966ee9161a723112213b964304767887fbe45 + optional: false + category: main + build: py311h7145743_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + size: 5137009 + timestamp: 1692322344022 +- name: ca-certificates + version: 2023.7.22 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.7.22-hbcca054_0.conda + hash: + md5: a73ecd2988327ad4c8f2c331482917f2 + sha256: 525b7b6b5135b952ec1808de84e5eca57c7c7ff144e29ef3e96ae4040ff432c1 + optional: false + category: main + build: hbcca054_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: ISC + size: 149515 + timestamp: 1690026108541 +- name: libgcc-ng + version: 13.1.0 + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: ==0.1 conda_forge + _openmp_mutex: '>=4.5' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.1.0-he5830b7_0.conda + hash: + md5: cd93f779ff018dd85c7544c015c9db3c + sha256: fba897a02f35b2b5e6edc43a746d1fa6970a77b422f258246316110af8966911 + optional: false + category: main + build: he5830b7_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + constrains: + - libgomp 13.1.0 he5830b7_0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 776294 + timestamp: 1685816209343 +- 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 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + optional: false + category: main + build: conda_forge + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: None + size: 2562 + timestamp: 1578324546067 +- name: _openmp_mutex + version: '4.5' + manager: conda + platform: linux-64 + dependencies: + libgomp: '>=7.5.0' + _libgcc_mutex: ==0.1 conda_forge + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + hash: + md5: 73aaf86a425cc6e73fcf236a5a46396d + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + optional: false + category: main + build: 2_gnu + arch: x86_64 + subdir: linux-64 + build_number: 16 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 +- name: libgomp + version: 13.1.0 + manager: conda + platform: linux-64 + dependencies: + _libgcc_mutex: ==0.1 conda_forge + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.1.0-he5830b7_0.conda + hash: + md5: 56ca14d57ac29a75d23a39eb3ee0ddeb + sha256: 5d441d80b57f857ad305a65169a6b915d4fd6735cdc9e9bded35d493c91ef16d + optional: false + category: main + build: he5830b7_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 419184 + timestamp: 1685816132543 +- name: libstdcxx-ng + version: 13.1.0 + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.1.0-hfd8a6a1_0.conda + hash: + md5: 067bcc23164642f4c226da631f2a2e1d + sha256: 6f9eb2d7a96687938c0001166a3b308460a8eb02b10e9d0dd9e251f0219ea05c + optional: false + category: main + build: hfd8a6a1_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3847887 + timestamp: 1685816251278 +- name: python + version: 3.11.4 + manager: conda + platform: linux-64 + dependencies: + openssl: '>=3.1.1,<4.0a0' + readline: '>=8.2,<9.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + libnsl: '>=2.0.0,<2.1.0a0' + libsqlite: '>=3.42.0,<4.0a0' + libexpat: '>=2.5.0,<3.0a0' + libgcc-ng: '>=12' + libuuid: '>=2.38.1,<3.0a0' + xz: '>=5.2.6,<6.0a0' + ncurses: '>=6.4,<7.0a0' + ld_impl_linux-64: '>=2.36.1' + tzdata: '*' + libffi: '>=3.4,<4.0a0' + tk: '>=8.6.12,<8.7.0a0' + bzip2: '>=1.0.8,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.4-hab00c5b_0_cpython.conda + hash: + md5: 1c628861a2a126b9fc9363ca1b7d014e + sha256: 04422f10d5bcb251fd254d6a9b0659dcde55e900d48cca159cb1fef637b0050c + optional: false + category: main + build: hab00c5b_0_cpython + arch: x86_64 + subdir: linux-64 + build_number: 0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 30679695 + timestamp: 1686421868353 +- name: xz + version: 5.2.6 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + hash: + md5: 2161070d867d1b1204ea749c8eec4ef0 + sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162 + optional: false + category: main + build: h166bdaf_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: LGPL-2.1 and GPL-2.0 + size: 418368 + timestamp: 1660346797927 +- name: tk + version: 8.6.12 + manager: conda + platform: linux-64 + dependencies: + libzlib: '>=1.2.11,<1.3.0a0' + libgcc-ng: '>=9.4.0' + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2 + hash: + md5: 5b8c42eb62e9fc961af70bdd6a26e168 + sha256: 032fd769aad9d4cad40ba261ab222675acb7ec951a8832455fce18ef33fa8df0 + optional: false + category: main + build: h27826a3_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: TCL + license_family: BSD + size: 3456292 + timestamp: 1645033615058 +- name: readline + version: '8.2' + manager: conda + platform: linux-64 + dependencies: + ncurses: '>=6.3,<7.0a0' + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + hash: + md5: 47d31b792659ce70f470b5c82fdfb7a4 + sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7 + optional: false + category: main + build: h8228510_1 + arch: x86_64 + subdir: linux-64 + build_number: 1 + license: GPL-3.0-only + license_family: GPL + size: 281456 + timestamp: 1679532220005 +- name: ncurses + version: '6.4' + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-hcb278e6_0.conda + hash: + md5: 681105bccc2a3f7f1a837d47d39c9179 + sha256: ccf61e61d58a8a7b2d66822d5568e2dc9387883dd9b2da61e1d787ece4c4979a + optional: false + category: main + build: hcb278e6_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: X11 AND BSD-3-Clause + size: 880967 + timestamp: 1686076725450 +- name: libuuid + version: 2.38.1 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + hash: + md5: 40b61aab5c7ba9ff276c41cfffe6b80b + sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 + optional: false + category: main + build: h0b41bf4_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + size: 33601 + timestamp: 1680112270483 +- name: libsqlite + version: 3.42.0 + manager: conda + platform: linux-64 + dependencies: + libzlib: '>=1.2.13,<1.3.0a0' + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.42.0-h2797004_0.conda + hash: + md5: fdaae20a1cf7cd62130a0973190a31b7 + sha256: 72e958870f49174ebc0ddcd4129e9a9f48de815f20aa3b553f136b514f29bb3a + optional: false + category: main + build: h2797004_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: Unlicense + size: 828910 + timestamp: 1684264791037 +- name: libnsl + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=9.4.0' + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2 + hash: + md5: 39b1328babf85c7c3a61636d9cd50206 + sha256: 32f4fb94d99946b0dabfbbfd442b25852baf909637f2eed1ffe3baea15d02aad + optional: false + category: main + build: h7f98852_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: GPL-2.0-only + license_family: GPL + size: 31236 + timestamp: 1633040059627 +- name: libexpat + version: 2.5.0 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda + hash: + md5: 6305a3dd2752c76335295da4e581f2fd + sha256: 74c98a563777ae2ad71f1f74d458a8ab043cee4a513467c159ccf159d0e461f3 + optional: false + category: main + build: hcb278e6_1 + arch: x86_64 + subdir: linux-64 + build_number: 1 + constrains: + - expat 2.5.0.* + license: MIT + license_family: MIT + size: 77980 + timestamp: 1680190528313 +- name: libzlib + version: 1.2.13 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=12' + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda + hash: + md5: f36c115f1ee199da648e0597ec2047ad + sha256: 370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4 + optional: false + category: main + build: hd590300_5 + arch: x86_64 + subdir: linux-64 + build_number: 5 + constrains: + - zlib 1.2.13 *_5 + license: Zlib + license_family: Other + size: 61588 + timestamp: 1686575217516 +- name: python_abi + version: '3.11' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-3_cp311.conda + hash: + md5: c2e2630ddb68cf52eec74dc7dfab20b5 + sha256: 2966a87dcb0b11fad28f9fe8216bfa4071115776b47ffc7547492fed176e1a1f + optional: false + category: main + build: 3_cp311 + arch: x86_64 + subdir: linux-64 + build_number: 3 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 5682 + timestamp: 1669071702664 +- name: bzip2 + version: 1.0.8 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=9.3.0' + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2 + hash: + md5: a1fd65c7ccbf10880423d82bca54eb54 + sha256: cb521319804640ff2ad6a9f118d972ed76d86bea44e5626c09a13d38f562e1fa + optional: false + category: main + build: h7f98852_4 + arch: x86_64 + subdir: linux-64 + build_number: 4 + license: bzip2-1.0.6 + license_family: BSD + size: 495686 + timestamp: 1606604745109 +- name: ld_impl_linux-64 + version: '2.40' + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda + hash: + md5: 7aca3059a1729aa76c597603f10b0dd3 + sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd + optional: false + category: main + build: h41732ed_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + constrains: + - binutils_impl_linux-64 2.40 + license: GPL-3.0-only + license_family: GPL + size: 704696 + timestamp: 1674833944779 +- name: libffi + version: 3.4.2 + manager: conda + platform: linux-64 + dependencies: + libgcc-ng: '>=9.4.0' + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + hash: + md5: d645c6d2ac96843a2bfaccd2d62b3ac3 + sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e + optional: false + category: main + build: h7f98852_5 + arch: x86_64 + subdir: linux-64 + build_number: 5 + license: MIT + license_family: MIT + size: 58292 + timestamp: 1636488182923 +- name: tzdata + version: 2023c + manager: conda + platform: linux-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda + hash: + md5: 939e3e74d8be4dac89ce83b20de2492a + sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55 + optional: false + category: main + build: h71feb2d_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: LicenseRef-Public-Domain + noarch: generic + size: 117580 + timestamp: 1680041306008 +- name: click + version: 8.1.7 + manager: conda + platform: linux-64 + dependencies: + __unix: '*' + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + hash: + md5: f3ad426304898027fc619827ff428eca + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + optional: false + category: main + build: unix_pyh707e725_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 84437 + timestamp: 1692311973840 +- name: mypy_extensions + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + hash: + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 10492 + timestamp: 1675543414256 +- name: packaging + version: '23.1' + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.1-pyhd8ed1ab_0.conda + hash: + md5: 91cda59e66e1e4afe9476f8ef98f5c30 + sha256: ded536a96a00d45a693dbc2971bb688248324dadd129eddda2100e177583d768 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: Apache-2.0 + license_family: APACHE + noarch: python + size: 46098 + timestamp: 1681337144376 +- name: pathspec + version: 0.11.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.11.2-pyhd8ed1ab_0.conda + hash: + md5: e41debb259e68490e3ab81e46b639ab6 + sha256: 7bcfa6d86359d45572ba9ccaeaedc04b0452e2654fe44b6fe378d0d37b8745e1 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MPL-2.0 + license_family: MOZILLA + noarch: python + size: 38649 + timestamp: 1690598108100 +- name: platformdirs + version: 3.10.0 + manager: conda + platform: linux-64 + dependencies: + typing-extensions: '>=4.6.3' + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.10.0-pyhd8ed1ab_0.conda + hash: + md5: 0809187ef9b89a3d94a5c24d13936236 + sha256: 1b5c0ca2f4260c7dd8cfccd8a641c1e41876c79dc594506be379cde08f5b471e + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 19827 + timestamp: 1690813274592 +- name: typing-extensions + version: 4.7.1 + manager: conda + platform: linux-64 + dependencies: + typing_extensions: ==4.7.1 pyha770c72_0 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda + hash: + md5: f96688577f1faa58096d06a45136afa2 + sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + optional: false + category: main + build: hd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 10080 + timestamp: 1688315729011 +- name: typing_extensions + version: 4.7.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda + hash: + md5: c39d6a09fe819de4951c2642629d9115 + sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 36321 + timestamp: 1688315719627 +- name: colorama + version: 0.4.6 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 3faab06a954c2a04039983f2c4a50d99 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 25170 + timestamp: 1666700778190 +- name: exceptiongroup + version: 1.1.3 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda + hash: + md5: e6518222753f519e911e83136d2158d9 + sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 19262 + timestamp: 1692026296517 +- name: iniconfig + version: 2.0.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + hash: + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 11101 + timestamp: 1673103208955 +- name: pluggy + version: 1.2.0 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.2.0-pyhd8ed1ab_0.conda + hash: + md5: 7263924c642d22e311d9e59b839f1b33 + sha256: ff1f70e0bd50693be7e2bad0efb2539f5dcc5ec4d638e787e703f28098e72de4 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 21528 + timestamp: 1687776483210 +- name: tomli + version: 2.0.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 5844808ffab9ebdb694585b50ba02a96 + sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 15940 + timestamp: 1644342331069 +- name: setuptools + version: 68.1.2 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + hash: + md5: 4fe12573bf499ff85a0a364e00cc5c53 + sha256: dc5a777597e05ceddefc87d2f96389b7ae0afb097e558307af83a453db3e3887 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 462324 + timestamp: 1692383535614 +- name: wheel + version: 0.41.1 + manager: conda + platform: linux-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.1-pyhd8ed1ab_0.conda + hash: + md5: 8f467ba2db2b5470d297953d9c1f9c7d + sha256: a27e2c2709245386ebffae865650b5d3f383530b809480c3083f7ae258759303 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: linux-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 57374 + timestamp: 1691249256363 +- name: pytest + version: 7.4.0 + manager: conda + platform: osx-arm64 + dependencies: + exceptiongroup: '>=1.0.0rc8' + python: '>=3.7' + tomli: '>=1.0.0' + pluggy: '>=0.12,<2.0' + iniconfig: '*' + colorama: '*' + packaging: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.0-pyhd8ed1ab_0.conda + hash: + md5: 3cfe9b9e958e7238a386933c75d190db + sha256: 52b2eb4e8d0380d92d45643d0c9706725e691ce8404dab4c2db4aaf58e48a23c + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + noarch: python + size: 243695 + timestamp: 1687692277221 +- name: pip + version: 23.2.1 + manager: conda + platform: osx-arm64 + dependencies: + setuptools: '*' + python: '>=3.7' + wheel: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda + hash: + md5: e2783aa3f9235225eec92f9081c5b801 + sha256: 9e401b171856e12f6aa32ae5cc1ae1d3708aa7d705ddf359ee7dd0dffd73c2b5 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 1386212 + timestamp: 1690024763393 +- name: maturin + version: 1.2.3 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.11,<3.12.0a0 *_cpython' + openssl: '>=3.1.2,<4.0a0' + python_abi: 3.11.* *_cp311 + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/osx-arm64/maturin-1.2.3-py311h5fb2c35_0.conda + hash: + md5: 31e35c38aa20e15fff4f528097e82cb7 + sha256: 6db717eca087be05831848b2985d4aef8b96f42e881f7b1ff201fccb663d5ab3 + optional: false + category: main + build: py311h5fb2c35_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + size: 4854393 + timestamp: 1692269282790 +- name: openssl + version: 3.1.2 + manager: conda + platform: osx-arm64 + dependencies: + ca-certificates: '*' + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.1.2-h53f4e23_0.conda + hash: + md5: d6c950611370a5a9757a98365449e89f + sha256: e9133f97df141470d887ef6dff9a9017b2aa3e6fc65ecc2ecc157d3fdb5f123a + optional: false + category: main + build: h53f4e23_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + constrains: + - pyopenssl >=22.1 + license: Apache-2.0 + license_family: Apache + size: 2225022 + timestamp: 1690948979657 +- name: black + version: 23.7.0 + manager: conda + platform: osx-arm64 + dependencies: + mypy_extensions: '>=0.4.3' + python: '>=3.11,<3.12.0a0 *_cpython' + python_abi: 3.11.* *_cp311 + click: '>=8.0.0' + pathspec: '>=0.9' + packaging: '>=22.0' + platformdirs: '>=2' + url: https://conda.anaconda.org/conda-forge/osx-arm64/black-23.7.0-py311h267d04e_1.conda + hash: + md5: 55c4246206ef4b4e910d052ebf15edac + sha256: 8854ff7a5546e915bae9c6cf4ec7d341b73eb5f1f9fd94b49c40769289b2440b + optional: false + category: main + build: py311h267d04e_1 + arch: aarch64 + subdir: osx-arm64 + build_number: 1 + license: MIT + license_family: MIT + size: 355408 + timestamp: 1689093331641 +- name: ruff + version: 0.0.285 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.11,<3.12.0a0 *_cpython' + libcxx: '>=15.0.7' + python_abi: 3.11.* *_cp311 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.0.285-py311h07901e9_0.conda + hash: + md5: f637726f7d7f77790f72a105d227a63e + sha256: fef32c46ef36716ab9c930d854a940d388db92a3ae3c670fcce92bb215b49403 + optional: false + category: main + build: py311h07901e9_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + size: 4764315 + timestamp: 1692323164148 +- name: ca-certificates + version: 2023.7.22 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2023.7.22-hf0a4a13_0.conda + hash: + md5: e1b99ac4dbcee71a71682996f67f7965 + sha256: b220c001b0c1448a47cc49b42a622e06a540ec60b3f7a1e057fca1f37ce515e4 + optional: false + category: main + build: hf0a4a13_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: ISC + size: 149918 + timestamp: 1690026385821 +- name: libcxx + version: 16.0.6 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-16.0.6-h4653b0c_0.conda + hash: + md5: 9d7d724faf0413bf1dbc5a85935700c8 + sha256: 11d3fb51c14832d9e4f6d84080a375dec21ea8a3a381a1910e67ff9cedc20355 + optional: false + category: main + build: h4653b0c_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 1160232 + timestamp: 1686896993785 +- name: python + version: 3.11.4 + manager: conda + platform: osx-arm64 + dependencies: + tzdata: '*' + openssl: '>=3.1.1,<4.0a0' + readline: '>=8.2,<9.0a0' + libffi: '>=3.4,<4.0a0' + libsqlite: '>=3.42.0,<4.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + libexpat: '>=2.5.0,<3.0a0' + tk: '>=8.6.12,<8.7.0a0' + bzip2: '>=1.0.8,<2.0a0' + xz: '>=5.2.6,<6.0a0' + ncurses: '>=6.4,<7.0a0' + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.11.4-h47c9636_0_cpython.conda + hash: + md5: b790b3cac8db7bdf2aaced9460bdbce4 + sha256: 7865a28f7ec5c453cd8d3e7f539e02028ba5aa2aa33ccaa9915ba2654ae03ab2 + optional: false + category: main + build: h47c9636_0_cpython + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 14666250 + timestamp: 1686420844311 +- name: xz + version: 5.2.6 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + hash: + md5: 39c6b54e94014701dd157f4f576ed211 + sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec + optional: false + category: main + build: h57fd34a_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: LGPL-2.1 and GPL-2.0 + size: 235693 + timestamp: 1660346961024 +- name: tk + version: 8.6.12 + manager: conda + platform: osx-arm64 + dependencies: + libzlib: '>=1.2.11,<1.3.0a0' + url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.12-he1e0b03_0.tar.bz2 + hash: + md5: 2cb3d18eac154109107f093860bd545f + sha256: 9e43ec80045892e28233e4ca4d974e09d5837392127702fb952f3935b5e985a4 + optional: false + category: main + build: he1e0b03_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: TCL + license_family: BSD + size: 3382710 + timestamp: 1645032642101 +- name: readline + version: '8.2' + manager: conda + platform: osx-arm64 + dependencies: + ncurses: '>=6.3,<7.0a0' + url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + hash: + md5: 8cbb776a2f641b943d413b3e19df71f4 + sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884 + optional: false + category: main + build: h92ec313_1 + arch: aarch64 + subdir: osx-arm64 + build_number: 1 + license: GPL-3.0-only + license_family: GPL + size: 250351 + timestamp: 1679532511311 +- name: ncurses + version: '6.4' + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.4-h7ea286d_0.conda + hash: + md5: 318337fb9d0c53ba635efb7888242373 + sha256: 017e230a1f912e15005d4c4f3d387119190b53240f9ae0ba8a319dd958901780 + optional: false + category: main + build: h7ea286d_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: X11 AND BSD-3-Clause + size: 799196 + timestamp: 1686077139703 +- name: libsqlite + version: 3.42.0 + manager: conda + platform: osx-arm64 + dependencies: + libzlib: '>=1.2.13,<1.3.0a0' + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.42.0-hb31c410_0.conda + hash: + md5: 6ae1bbf3ae393a45a75685072fffbe8d + sha256: 120913cf0fb694546fbaf95dff211ac5c1e3e91bc69c73350891a05dc106355f + optional: false + category: main + build: hb31c410_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: Unlicense + size: 822883 + timestamp: 1684265273102 +- name: libexpat + version: 2.5.0 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.5.0-hb7217d7_1.conda + hash: + md5: 5a097ad3d17e42c148c9566280481317 + sha256: 7d143a9c991579ad4207f84c632650a571c66329090daa32b3c87cf7311c3381 + optional: false + category: main + build: hb7217d7_1 + arch: aarch64 + subdir: osx-arm64 + build_number: 1 + constrains: + - expat 2.5.0.* + license: MIT + license_family: MIT + size: 63442 + timestamp: 1680190916539 +- name: libzlib + version: 1.2.13 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.2.13-h53f4e23_5.conda + hash: + md5: 1a47f5236db2e06a320ffa0392f81bd8 + sha256: ab1c8aefa2d54322a63aaeeefe9cf877411851738616c4068e0dccc66b9c758a + optional: false + category: main + build: h53f4e23_5 + arch: aarch64 + subdir: osx-arm64 + build_number: 5 + constrains: + - zlib 1.2.13 *_5 + license: Zlib + license_family: Other + size: 48102 + timestamp: 1686575426584 +- name: python_abi + version: '3.11' + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.11-3_cp311.conda + hash: + md5: e1586496f8acd1c9293019ab14dbde9d + sha256: cd2bad56c398e77b7f559314c29dd54e9eeb842896ff1de5078ed3192e5e14a6 + optional: false + category: main + build: 3_cp311 + arch: aarch64 + subdir: osx-arm64 + build_number: 3 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 5768 + timestamp: 1669071844807 +- name: bzip2 + version: 1.0.8 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h3422bc3_4.tar.bz2 + hash: + md5: fc76ace7b94fb1f694988ab1b14dd248 + sha256: a3efbd06ad1432edb0163c48225421f34c2660f5cc002283a8d27e791320b549 + optional: false + category: main + build: h3422bc3_4 + arch: aarch64 + subdir: osx-arm64 + build_number: 4 + license: bzip2-1.0.6 + license_family: BSD + size: 151850 + timestamp: 1618862645215 +- name: libffi + version: 3.4.2 + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + hash: + md5: 086914b672be056eb70fd4285b6783b6 + sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca + optional: false + category: main + build: h3422bc3_5 + arch: aarch64 + subdir: osx-arm64 + build_number: 5 + license: MIT + license_family: MIT + size: 39020 + timestamp: 1636488587153 +- name: tzdata + version: 2023c + manager: conda + platform: osx-arm64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda + hash: + md5: 939e3e74d8be4dac89ce83b20de2492a + sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55 + optional: false + category: main + build: h71feb2d_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: LicenseRef-Public-Domain + noarch: generic + size: 117580 + timestamp: 1680041306008 +- name: click + version: 8.1.7 + manager: conda + platform: osx-arm64 + dependencies: + __unix: '*' + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + hash: + md5: f3ad426304898027fc619827ff428eca + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + optional: false + category: main + build: unix_pyh707e725_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 84437 + timestamp: 1692311973840 +- name: mypy_extensions + version: 1.0.0 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + hash: + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + optional: false + category: main + build: pyha770c72_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 10492 + timestamp: 1675543414256 +- name: packaging + version: '23.1' + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.1-pyhd8ed1ab_0.conda + hash: + md5: 91cda59e66e1e4afe9476f8ef98f5c30 + sha256: ded536a96a00d45a693dbc2971bb688248324dadd129eddda2100e177583d768 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: Apache-2.0 + license_family: APACHE + noarch: python + size: 46098 + timestamp: 1681337144376 +- name: pathspec + version: 0.11.2 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.11.2-pyhd8ed1ab_0.conda + hash: + md5: e41debb259e68490e3ab81e46b639ab6 + sha256: 7bcfa6d86359d45572ba9ccaeaedc04b0452e2654fe44b6fe378d0d37b8745e1 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MPL-2.0 + license_family: MOZILLA + noarch: python + size: 38649 + timestamp: 1690598108100 +- name: platformdirs + version: 3.10.0 + manager: conda + platform: osx-arm64 + dependencies: + typing-extensions: '>=4.6.3' + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.10.0-pyhd8ed1ab_0.conda + hash: + md5: 0809187ef9b89a3d94a5c24d13936236 + sha256: 1b5c0ca2f4260c7dd8cfccd8a641c1e41876c79dc594506be379cde08f5b471e + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 19827 + timestamp: 1690813274592 +- name: typing-extensions + version: 4.7.1 + manager: conda + platform: osx-arm64 + dependencies: + typing_extensions: ==4.7.1 pyha770c72_0 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda + hash: + md5: f96688577f1faa58096d06a45136afa2 + sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + optional: false + category: main + build: hd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 10080 + timestamp: 1688315729011 +- name: typing_extensions + version: 4.7.1 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda + hash: + md5: c39d6a09fe819de4951c2642629d9115 + sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + optional: false + category: main + build: pyha770c72_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 36321 + timestamp: 1688315719627 +- name: colorama + version: 0.4.6 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 3faab06a954c2a04039983f2c4a50d99 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 25170 + timestamp: 1666700778190 +- name: exceptiongroup + version: 1.1.3 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda + hash: + md5: e6518222753f519e911e83136d2158d9 + sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 19262 + timestamp: 1692026296517 +- name: iniconfig + version: 2.0.0 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + hash: + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 11101 + timestamp: 1673103208955 +- name: pluggy + version: 1.2.0 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.2.0-pyhd8ed1ab_0.conda + hash: + md5: 7263924c642d22e311d9e59b839f1b33 + sha256: ff1f70e0bd50693be7e2bad0efb2539f5dcc5ec4d638e787e703f28098e72de4 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 21528 + timestamp: 1687776483210 +- name: tomli + version: 2.0.1 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 5844808ffab9ebdb694585b50ba02a96 + sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 15940 + timestamp: 1644342331069 +- name: setuptools + version: 68.1.2 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + hash: + md5: 4fe12573bf499ff85a0a364e00cc5c53 + sha256: dc5a777597e05ceddefc87d2f96389b7ae0afb097e558307af83a453db3e3887 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 462324 + timestamp: 1692383535614 +- name: wheel + version: 0.41.1 + manager: conda + platform: osx-arm64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.1-pyhd8ed1ab_0.conda + hash: + md5: 8f467ba2db2b5470d297953d9c1f9c7d + sha256: a27e2c2709245386ebffae865650b5d3f383530b809480c3083f7ae258759303 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: aarch64 + subdir: osx-arm64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 57374 + timestamp: 1691249256363 +- name: maturin + version: 1.2.2 + manager: conda + platform: win-64 + dependencies: + python: '>=3.11,<3.12.0a0' + python_abi: 3.11.* *_cp311 + m2w64-gcc-libs-core: '*' + m2w64-gcc-libs: '*' + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/win-64/maturin-1.2.2-py311h9a9e57f_0.conda + hash: + md5: d31337a5eaef288501098613c4928ac8 + sha256: 1a0c9d8977443240d61dfb10c79d9d6614154754c24c09bb73fa7453a6e3947b + optional: false + category: main + build: py311h9a9e57f_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + size: 4563901 + timestamp: 1692146990446 +- name: pip + version: 23.2.1 + manager: conda + platform: win-64 + dependencies: + setuptools: '*' + python: '>=3.7' + wheel: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda + hash: + md5: e2783aa3f9235225eec92f9081c5b801 + sha256: 9e401b171856e12f6aa32ae5cc1ae1d3708aa7d705ddf359ee7dd0dffd73c2b5 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 1386212 + timestamp: 1690024763393 +- name: pytest + version: 7.4.0 + manager: conda + platform: win-64 + dependencies: + exceptiongroup: '>=1.0.0rc8' + python: '>=3.7' + tomli: '>=1.0.0' + pluggy: '>=0.12,<2.0' + iniconfig: '*' + colorama: '*' + packaging: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.0-pyhd8ed1ab_0.conda + hash: + md5: 3cfe9b9e958e7238a386933c75d190db + sha256: 52b2eb4e8d0380d92d45643d0c9706725e691ce8404dab4c2db4aaf58e48a23c + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + noarch: python + size: 243695 + timestamp: 1687692277221 +- name: black + version: 23.7.0 + manager: conda + platform: win-64 + dependencies: + mypy_extensions: '>=0.4.3' + python: '>=3.11,<3.12.0a0' + python_abi: 3.11.* *_cp311 + click: '>=8.0.0' + pathspec: '>=0.9' + packaging: '>=22.0' + platformdirs: '>=2' + url: https://conda.anaconda.org/conda-forge/win-64/black-23.7.0-py311h1ea47a8_1.conda + hash: + md5: 335ab55360386db3b594370694d3a22c + sha256: b96092341f6e6d5eeb8bf69b0690d17439410a776ed3fbd58999f52d56b16f2c + optional: false + category: main + build: py311h1ea47a8_1 + arch: x86_64 + subdir: win-64 + build_number: 1 + license: MIT + license_family: MIT + size: 372083 + timestamp: 1689093343811 +- name: ruff + version: 0.0.285 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + python: '>=3.11,<3.12.0a0' + python_abi: 3.11.* *_cp311 + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/ruff-0.0.285-py311hc14472d_0.conda + hash: + md5: 6115908931cca47ed538138fc30f3448 + sha256: 83a2393ebe25a80d54d406fa29413ca3ea4dfba31bc8c15747695b7861595bfc + optional: false + category: main + build: py311hc14472d_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + size: 4864320 + timestamp: 1692322947952 +- name: ucrt + version: 10.0.22621.0 + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_0.tar.bz2 + hash: + md5: 72608f6cd3e5898229c3ea16deb1ac43 + sha256: f29cdaf8712008f6b419b8b1a403923b00ab2504bfe0fb2ba8eb60e72d4f14c6 + optional: false + category: main + build: h57928b3_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + constrains: + - vs2015_runtime >=14.29.30037 + license: LicenseRef-Proprietary + license_family: PROPRIETARY + size: 1283972 + timestamp: 1666630199266 +- name: python + version: 3.11.4 + manager: conda + platform: win-64 + dependencies: + tzdata: '*' + openssl: '>=3.1.1,<4.0a0' + libffi: '>=3.4,<4.0a0' + libsqlite: '>=3.42.0,<4.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + libexpat: '>=2.5.0,<3.0a0' + tk: '>=8.6.12,<8.7.0a0' + bzip2: '>=1.0.8,<2.0a0' + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + xz: '>=5.2.6,<6.0a0' + url: https://conda.anaconda.org/conda-forge/win-64/python-3.11.4-h2628c8c_0_cpython.conda + hash: + md5: 3187a32fba79e835f099ecea054026f4 + sha256: d43fa70a3549fea27d3993f79ba2584ec6d6fe2aaf6e5890847f974e89a744e0 + optional: false + category: main + build: h2628c8c_0_cpython + arch: x86_64 + subdir: win-64 + build_number: 0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 18116100 + timestamp: 1686420267149 +- name: tzdata + version: 2023c + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda + hash: + md5: 939e3e74d8be4dac89ce83b20de2492a + sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55 + optional: false + category: main + build: h71feb2d_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: LicenseRef-Public-Domain + noarch: generic + size: 117580 + timestamp: 1680041306008 +- name: openssl + version: 3.1.2 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + ca-certificates: '*' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/openssl-3.1.2-hcfcfb64_0.conda + hash: + md5: 79b3f40f27cd80a265c276cea6714507 + sha256: 676b78a786bf845cdca96fa830459f1ffa6603954a88ad86f476456d0a909f4e + optional: false + category: main + build: hcfcfb64_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + constrains: + - pyopenssl >=22.1 + license: Apache-2.0 + license_family: Apache + size: 7408520 + timestamp: 1690950343576 +- name: ca-certificates + version: 2023.7.22 + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2023.7.22-h56e8100_0.conda + hash: + md5: b1c2327b36f1a25d96f2039b0d3e3739 + sha256: b85a6f307f8e1c803cb570bdfb9e4d811a361417873ecd2ecf687587405a72e0 + optional: false + category: main + build: h56e8100_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: ISC + size: 150013 + timestamp: 1690026269050 +- name: vc + version: '14.3' + manager: conda + platform: win-64 + dependencies: + vc14_runtime: '>=14.36.32532' + url: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h64f974e_17.conda + hash: + md5: 67ff6791f235bb606659bf2a5c169191 + sha256: 86ae94bf680980776aa761c2b0909a0ddbe1f817e7eeb8b16a1730f10f8891b6 + optional: false + category: main + build: h64f974e_17 + arch: x86_64 + subdir: win-64 + build_number: 17 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + size: 17176 + timestamp: 1688020629925 +- name: vc14_runtime + version: 14.36.32532 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + url: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.36.32532-hfdfe4a8_17.conda + hash: + md5: 91c1ecaf3996889532fc0456178b1058 + sha256: e76986c555647347a0185e646ef65625dabed60da255f6b30367df8bd6dc6cd8 + optional: false + category: main + build: hfdfe4a8_17 + arch: x86_64 + subdir: win-64 + build_number: 17 + constrains: + - vs2015_runtime 14.36.32532.* *_17 + license: LicenseRef-ProprietaryMicrosoft + license_family: Proprietary + size: 740599 + timestamp: 1688020615962 +- name: libffi + version: 3.4.2 + manager: conda + platform: win-64 + dependencies: + vc: '>=14.1,<15.0a0' + vs2015_runtime: '>=14.16.27012' + url: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2 + hash: + md5: 2c96d1b6915b408893f9472569dee135 + sha256: 1951ab740f80660e9bc07d2ed3aefb874d78c107264fd810f24a1a6211d4b1a5 + optional: false + category: main + build: h8ffe710_5 + arch: x86_64 + subdir: win-64 + build_number: 5 + license: MIT + license_family: MIT + size: 42063 + timestamp: 1636489106777 +- name: vs2015_runtime + version: 14.36.32532 + manager: conda + platform: win-64 + dependencies: + vc14_runtime: '>=14.36.32532' + url: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.36.32532-h05e6639_17.conda + hash: + md5: 4618046c39f7c81861e53ded842e738a + sha256: 5ecbd731dc7f13762d67be0eadc47eb7f14713005e430d9b5fc680e965ac0f81 + optional: false + category: main + build: h05e6639_17 + arch: x86_64 + subdir: win-64 + build_number: 17 + license: BSD-3-Clause + license_family: BSD + size: 17207 + timestamp: 1688020635322 +- name: libsqlite + version: 3.42.0 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.42.0-hcfcfb64_0.conda + hash: + md5: 9a71d93deb99cc09d8939d5235b5909a + sha256: 70bc1fdb72de847807355c13144666d4f151894f9b141ee559f5d243bdf577e2 + optional: false + category: main + build: hcfcfb64_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: Unlicense + size: 839797 + timestamp: 1684265312954 +- name: libzlib + version: 1.2.13 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.2.13-hcfcfb64_5.conda + hash: + md5: 5fdb9c6a113b6b6cb5e517fd972d5f41 + sha256: c161822ee8130b71e08b6d282b9919c1de2c5274b29921a867bca0f7d30cad26 + optional: false + category: main + build: hcfcfb64_5 + arch: x86_64 + subdir: win-64 + build_number: 5 + constrains: + - zlib 1.2.13 *_5 + license: Zlib + license_family: Other + size: 55800 + timestamp: 1686575452215 +- name: libexpat + version: 2.5.0 + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.5.0-h63175ca_1.conda + hash: + md5: 636cc3cbbd2e28bcfd2f73b2044aac2c + sha256: 794b2a9be72f176a2767c299574d330ffb76b2ed75d7fd20bee3bbadce5886cf + optional: false + category: main + build: h63175ca_1 + arch: x86_64 + subdir: win-64 + build_number: 1 + constrains: + - expat 2.5.0.* + license: MIT + license_family: MIT + size: 138689 + timestamp: 1680190844101 +- name: tk + version: 8.6.12 + manager: conda + platform: win-64 + dependencies: + vc: '>=14.1,<15' + vs2015_runtime: '>=14.16.27033' + url: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.12-h8ffe710_0.tar.bz2 + hash: + md5: c69a5047cc9291ae40afd4a1ad6f0c0f + sha256: 087795090a99a1d397ef1ed80b4a01fabfb0122efb141562c168e3c0a76edba6 + optional: false + category: main + build: h8ffe710_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: TCL + license_family: BSD + size: 3681762 + timestamp: 1645033031535 +- name: bzip2 + version: 1.0.8 + manager: conda + platform: win-64 + dependencies: + vc: '>=14.1,<15.0a0' + vs2015_runtime: '>=14.16.27012' + url: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h8ffe710_4.tar.bz2 + hash: + md5: 7c03c66026944073040cb19a4f3ec3c9 + sha256: 5389dad4e73e4865bb485f460fc60b120bae74404003d457ecb1a62eb7abf0c1 + optional: false + category: main + build: h8ffe710_4 + arch: x86_64 + subdir: win-64 + build_number: 4 + license: bzip2-1.0.6 + license_family: BSD + size: 152247 + timestamp: 1606605223049 +- name: xz + version: 5.2.6 + manager: conda + platform: win-64 + dependencies: + vc: '>=14.1,<15' + vs2015_runtime: '>=14.16.27033' + url: https://conda.anaconda.org/conda-forge/win-64/xz-5.2.6-h8d14728_0.tar.bz2 + hash: + md5: 515d77642eaa3639413c6b1bc3f94219 + sha256: 54d9778f75a02723784dc63aff4126ff6e6749ba21d11a6d03c1f4775f269fe0 + optional: false + category: main + build: h8d14728_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: LGPL-2.1 and GPL-2.0 + size: 217804 + timestamp: 1660346976440 +- name: python_abi + version: '3.11' + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/win-64/python_abi-3.11-3_cp311.conda + hash: + md5: fd1634ba85cfea9376e1fc02d6f592e9 + sha256: e042841d13274354d651a69a4f2589e9b46fd23b416368c9821bf3c6676f19d7 + optional: false + category: main + build: 3_cp311 + arch: x86_64 + subdir: win-64 + build_number: 3 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6124 + timestamp: 1669071848353 +- name: mypy_extensions + version: 1.0.0 + manager: conda + platform: win-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + hash: + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 10492 + timestamp: 1675543414256 +- name: click + version: 8.1.7 + manager: conda + platform: win-64 + dependencies: + __win: '*' + colorama: '*' + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-win_pyh7428d3b_0.conda + hash: + md5: 3549ecbceb6cd77b91a105511b7d0786 + sha256: 90236b113b9a20041736e80b80ee965167f9aac0468315c55e2bad902d673fb0 + optional: false + category: main + build: win_pyh7428d3b_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 85051 + timestamp: 1692312207348 +- name: colorama + version: 0.4.6 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 3faab06a954c2a04039983f2c4a50d99 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 25170 + timestamp: 1666700778190 +- name: pathspec + version: 0.11.2 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.11.2-pyhd8ed1ab_0.conda + hash: + md5: e41debb259e68490e3ab81e46b639ab6 + sha256: 7bcfa6d86359d45572ba9ccaeaedc04b0452e2654fe44b6fe378d0d37b8745e1 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MPL-2.0 + license_family: MOZILLA + noarch: python + size: 38649 + timestamp: 1690598108100 +- name: packaging + version: '23.1' + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.1-pyhd8ed1ab_0.conda + hash: + md5: 91cda59e66e1e4afe9476f8ef98f5c30 + sha256: ded536a96a00d45a693dbc2971bb688248324dadd129eddda2100e177583d768 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: Apache-2.0 + license_family: APACHE + noarch: python + size: 46098 + timestamp: 1681337144376 +- name: platformdirs + version: 3.10.0 + manager: conda + platform: win-64 + dependencies: + typing-extensions: '>=4.6.3' + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.10.0-pyhd8ed1ab_0.conda + hash: + md5: 0809187ef9b89a3d94a5c24d13936236 + sha256: 1b5c0ca2f4260c7dd8cfccd8a641c1e41876c79dc594506be379cde08f5b471e + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 19827 + timestamp: 1690813274592 +- name: typing-extensions + version: 4.7.1 + manager: conda + platform: win-64 + dependencies: + typing_extensions: ==4.7.1 pyha770c72_0 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda + hash: + md5: f96688577f1faa58096d06a45136afa2 + sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + optional: false + category: main + build: hd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 10080 + timestamp: 1688315729011 +- name: typing_extensions + version: 4.7.1 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda + hash: + md5: c39d6a09fe819de4951c2642629d9115 + sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 36321 + timestamp: 1688315719627 +- name: exceptiongroup + version: 1.1.3 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda + hash: + md5: e6518222753f519e911e83136d2158d9 + sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 19262 + timestamp: 1692026296517 +- name: pluggy + version: 1.2.0 + manager: conda + platform: win-64 + dependencies: + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.2.0-pyhd8ed1ab_0.conda + hash: + md5: 7263924c642d22e311d9e59b839f1b33 + sha256: ff1f70e0bd50693be7e2bad0efb2539f5dcc5ec4d638e787e703f28098e72de4 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 21528 + timestamp: 1687776483210 +- name: iniconfig + version: 2.0.0 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + hash: + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 11101 + timestamp: 1673103208955 +- name: tomli + version: 2.0.1 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 5844808ffab9ebdb694585b50ba02a96 + sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 15940 + timestamp: 1644342331069 +- name: setuptools + version: 68.0.0 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.0.0-pyhd8ed1ab_0.conda + hash: + md5: 5a7739d0f57ee64133c9d32e6507c46d + sha256: 083a0913f5b56644051f31ac40b4eeea762a88c00aa12437817191b85a753cec + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 463712 + timestamp: 1687527994911 +- name: wheel + version: 0.41.1 + manager: conda + platform: win-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.1-pyhd8ed1ab_0.conda + hash: + md5: 8f467ba2db2b5470d297953d9c1f9c7d + sha256: a27e2c2709245386ebffae865650b5d3f383530b809480c3083f7ae258759303 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: win-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 57374 + timestamp: 1691249256363 +- name: m2w64-gcc-libs-core + version: 5.3.0 + manager: conda + platform: win-64 + dependencies: + m2w64-gmp: '*' + m2w64-libwinpthread-git: '*' + msys2-conda-epoch: '>=20160418' + url: https://conda.anaconda.org/conda-forge/win-64/m2w64-gcc-libs-core-5.3.0-7.tar.bz2 + hash: + md5: 4289d80fb4d272f1f3b56cfe87ac90bd + sha256: 58afdfe859ed2e9a9b1cc06bc408720cb2c3a6a132e59d4805b090d7574f4ee0 + optional: false + category: main + build: '7' + arch: x86_64 + subdir: win-64 + build_number: 7 + license: GPL3+, partial:GCCRLE, partial:LGPL2+ + size: 219240 + timestamp: 1608163481341 +- name: m2w64-libwinpthread-git + version: 5.0.0.4634.697f757 + manager: conda + platform: win-64 + dependencies: + msys2-conda-epoch: '>=20160418' + url: https://conda.anaconda.org/conda-forge/win-64/m2w64-libwinpthread-git-5.0.0.4634.697f757-2.tar.bz2 + hash: + md5: 774130a326dee16f1ceb05cc687ee4f0 + sha256: f63a09b2cae7defae0480f1740015d6235f1861afa6fe2e2d3e10bd0d1314ee0 + optional: false + category: main + build: '2' + arch: x86_64 + subdir: win-64 + build_number: 2 + license: MIT, BSD + size: 31928 + timestamp: 1608166099896 +- name: msys2-conda-epoch + version: '20160418' + manager: conda + platform: win-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/win-64/msys2-conda-epoch-20160418-1.tar.bz2 + hash: + md5: b0309b72560df66f71a9d5e34a5efdfa + sha256: 99358d58d778abee4dca82ad29fb58058571f19b0f86138363c260049d4ac7f1 + optional: false + category: main + build: '1' + arch: x86_64 + subdir: win-64 + build_number: 1 + size: 3227 + timestamp: 1608166968312 +- name: m2w64-gmp + version: 6.1.0 + manager: conda + platform: win-64 + dependencies: + msys2-conda-epoch: '>=20160418' + url: https://conda.anaconda.org/conda-forge/win-64/m2w64-gmp-6.1.0-2.tar.bz2 + hash: + md5: 53a1c73e1e3d185516d7e3af177596d9 + sha256: 7e3cd95f554660de45f8323fca359e904e8d203efaf07a4d311e46d611481ed1 + optional: false + category: main + build: '2' + arch: x86_64 + subdir: win-64 + build_number: 2 + license: LGPL3 + size: 743501 + timestamp: 1608163782057 +- name: m2w64-gcc-libs + version: 5.3.0 + manager: conda + platform: win-64 + dependencies: + m2w64-gcc-libgfortran: '*' + msys2-conda-epoch: '>=20160418' + m2w64-gcc-libs-core: '*' + m2w64-gmp: '*' + m2w64-libwinpthread-git: '*' + url: https://conda.anaconda.org/conda-forge/win-64/m2w64-gcc-libs-5.3.0-7.tar.bz2 + hash: + md5: fe759119b8b3bfa720b8762c6fdc35de + sha256: 3bd1ab02b7c89a5b153a17be03b36d833f1517ff2a6a77ead7c4a808b88196aa + optional: false + category: main + build: '7' + arch: x86_64 + subdir: win-64 + build_number: 7 + license: GPL3+, partial:GCCRLE, partial:LGPL2+ + size: 532390 + timestamp: 1608163512830 +- name: m2w64-gcc-libgfortran + version: 5.3.0 + manager: conda + platform: win-64 + dependencies: + m2w64-gcc-libs-core: '*' + msys2-conda-epoch: '>=20160418' + url: https://conda.anaconda.org/conda-forge/win-64/m2w64-gcc-libgfortran-5.3.0-6.tar.bz2 + hash: + md5: 066552ac6b907ec6d72c0ddab29050dc + sha256: 9de95a7996d5366ae0808eef2acbc63f9b11b874aa42375f55379e6715845dc6 + optional: false + category: main + build: '6' + arch: x86_64 + subdir: win-64 + build_number: 6 + license: GPL, LGPL, FDL, custom + size: 350687 + timestamp: 1608163451316 +- name: pytest + version: 7.4.0 + manager: conda + platform: osx-64 + dependencies: + exceptiongroup: '>=1.0.0rc8' + python: '>=3.7' + tomli: '>=1.0.0' + pluggy: '>=0.12,<2.0' + iniconfig: '*' + colorama: '*' + packaging: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.0-pyhd8ed1ab_0.conda + hash: + md5: 3cfe9b9e958e7238a386933c75d190db + sha256: 52b2eb4e8d0380d92d45643d0c9706725e691ce8404dab4c2db4aaf58e48a23c + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + noarch: python + size: 243695 + timestamp: 1687692277221 +- name: pip + version: 23.2.1 + manager: conda + platform: osx-64 + dependencies: + setuptools: '*' + python: '>=3.7' + wheel: '*' + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.2.1-pyhd8ed1ab_0.conda + hash: + md5: e2783aa3f9235225eec92f9081c5b801 + sha256: 9e401b171856e12f6aa32ae5cc1ae1d3708aa7d705ddf359ee7dd0dffd73c2b5 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 1386212 + timestamp: 1690024763393 +- name: maturin + version: 1.2.3 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.11,<3.12.0a0' + openssl: '>=3.1.2,<4.0a0' + python_abi: 3.11.* *_cp311 + tomli: '>=1.1.0' + url: https://conda.anaconda.org/conda-forge/osx-64/maturin-1.2.3-py311hc3cf65e_0.conda + hash: + md5: 4db7c1a461dd4085de266ace8a8c01c9 + sha256: 2debfdbb11b656c339e54237a3441c2fcbf92c3a4904d820f4d945b8dd6e683e + optional: false + category: main + build: py311hc3cf65e_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + size: 4891421 + timestamp: 1692269432610 +- name: openssl + version: 3.1.2 + manager: conda + platform: osx-64 + dependencies: + ca-certificates: '*' + url: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.1.2-h8a1eda9_0.conda + hash: + md5: 85d5377436d19183c8ac5afbb8e713a1 + sha256: 5d28695e086e69150e0b674f11ad87df603870fb3256bd590e305b708fc1faf7 + optional: false + category: main + build: h8a1eda9_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + constrains: + - pyopenssl >=22.1 + license: Apache-2.0 + license_family: Apache + size: 2326918 + timestamp: 1690949380796 +- name: black + version: 23.7.0 + manager: conda + platform: osx-64 + dependencies: + mypy_extensions: '>=0.4.3' + python: '>=3.11,<3.12.0a0' + python_abi: 3.11.* *_cp311 + click: '>=8.0.0' + pathspec: '>=0.9' + packaging: '>=22.0' + platformdirs: '>=2' + url: https://conda.anaconda.org/conda-forge/osx-64/black-23.7.0-py311h6eed73b_1.conda + hash: + md5: 476e9030b804b5428b52e33e3f7bbecf + sha256: 4fdcc09a0630cb949e8e91957fb70d4203ce5bd55d66fb4cf4885bb3bbc1607f + optional: false + category: main + build: py311h6eed73b_1 + arch: x86_64 + subdir: osx-64 + build_number: 1 + license: MIT + license_family: MIT + size: 353895 + timestamp: 1689093204951 +- name: ruff + version: 0.0.285 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.11,<3.12.0a0' + libcxx: '>=15.0.7' + python_abi: 3.11.* *_cp311 + url: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.0.285-py311hbf57787_0.conda + hash: + md5: 37b1880d2d29555837b0daa322d3aa98 + sha256: 7049e6f246ddb844027955ccfe5300a78cd508300f35248d9f4be96cafcdbdaf + optional: false + category: main + build: py311hbf57787_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + size: 4843841 + timestamp: 1692322925300 +- name: ca-certificates + version: 2023.7.22 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2023.7.22-h8857fd0_0.conda + hash: + md5: bf2c54c18997bf3542af074c10191771 + sha256: 27de15e18a12117e83ac1eb8a8e52eb65731cc7f0b607a7922206a15e2460c7b + optional: false + category: main + build: h8857fd0_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: ISC + size: 149911 + timestamp: 1690026363769 +- name: libcxx + version: 16.0.6 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/libcxx-16.0.6-hd57cbcb_0.conda + hash: + md5: 7d6972792161077908b62971802f289a + sha256: 9063271847cf05f3a6cc6cae3e7f0ced032ab5f3a3c9d3f943f876f39c5c2549 + optional: false + category: main + build: hd57cbcb_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 1142172 + timestamp: 1686896907750 +- name: python + version: 3.11.4 + manager: conda + platform: osx-64 + dependencies: + tzdata: '*' + openssl: '>=3.1.1,<4.0a0' + readline: '>=8.2,<9.0a0' + libffi: '>=3.4,<4.0a0' + libsqlite: '>=3.42.0,<4.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + libexpat: '>=2.5.0,<3.0a0' + tk: '>=8.6.12,<8.7.0a0' + bzip2: '>=1.0.8,<2.0a0' + xz: '>=5.2.6,<6.0a0' + ncurses: '>=6.4,<7.0a0' + url: https://conda.anaconda.org/conda-forge/osx-64/python-3.11.4-h30d4d87_0_cpython.conda + hash: + md5: e40b3075f85db0184d5f61d17c580ef7 + sha256: d2c00c7b1a616ad309afd864db6a7be33935710a68a7572509526495346655dc + optional: false + category: main + build: h30d4d87_0_cpython + arch: x86_64 + subdir: osx-64 + build_number: 0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 15324849 + timestamp: 1686421760912 +- name: xz + version: 5.2.6 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.6-h775f41a_0.tar.bz2 + hash: + md5: a72f9d4ea13d55d745ff1ed594747f10 + sha256: eb09823f34cc2dd663c0ec4ab13f246f45dcd52e5b8c47b9864361de5204a1c8 + optional: false + category: main + build: h775f41a_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: LGPL-2.1 and GPL-2.0 + size: 238119 + timestamp: 1660346964847 +- name: tk + version: 8.6.12 + manager: conda + platform: osx-64 + dependencies: + libzlib: '>=1.2.11,<1.3.0a0' + url: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.12-h5dbffcc_0.tar.bz2 + hash: + md5: 8e9480d9c47061db2ed1b4ecce519a7f + sha256: 331aa1137a264fd9cc905f04f09a161c801fe504b93da08b4e6697bd7c9ae6a6 + optional: false + category: main + build: h5dbffcc_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: TCL + license_family: BSD + size: 3531016 + timestamp: 1645032719565 +- name: readline + version: '8.2' + manager: conda + platform: osx-64 + dependencies: + ncurses: '>=6.3,<7.0a0' + url: https://conda.anaconda.org/conda-forge/osx-64/readline-8.2-h9e318b2_1.conda + hash: + md5: f17f77f2acf4d344734bda76829ce14e + sha256: 41e7d30a097d9b060037f0c6a2b1d4c4ae7e942c06c943d23f9d481548478568 + optional: false + category: main + build: h9e318b2_1 + arch: x86_64 + subdir: osx-64 + build_number: 1 + license: GPL-3.0-only + license_family: GPL + size: 255870 + timestamp: 1679532707590 +- name: ncurses + version: '6.4' + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.4-hf0c8a7f_0.conda + hash: + md5: c3dbae2411164d9b02c69090a9a91857 + sha256: 7841b1fce1ffb0bfb038f9687b92f04d64acab1f7cb96431972386ea98c7b2fd + optional: false + category: main + build: hf0c8a7f_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: X11 AND BSD-3-Clause + size: 828118 + timestamp: 1686077056765 +- name: libsqlite + version: 3.42.0 + manager: conda + platform: osx-64 + dependencies: + libzlib: '>=1.2.13,<1.3.0a0' + url: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.42.0-h58db7d2_0.conda + hash: + md5: a7d3b44b7b0c9901ac7813b7a0462893 + sha256: 182689f4b1a5ed638cd615c7774e1a9974842bc127c59173f1d25e31a8795eef + optional: false + category: main + build: h58db7d2_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: Unlicense + size: 878744 + timestamp: 1684265213849 +- name: libexpat + version: 2.5.0 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.5.0-hf0c8a7f_1.conda + hash: + md5: 6c81cb022780ee33435cca0127dd43c9 + sha256: 80024bd9f44d096c4cc07fb2bac76b5f1f7553390112dab3ad6acb16a05f0b96 + optional: false + category: main + build: hf0c8a7f_1 + arch: x86_64 + subdir: osx-64 + build_number: 1 + constrains: + - expat 2.5.0.* + license: MIT + license_family: MIT + size: 69602 + timestamp: 1680191040160 +- name: libzlib + version: 1.2.13 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.13-h8a1eda9_5.conda + hash: + md5: 4a3ad23f6e16f99c04e166767193d700 + sha256: fc58ad7f47ffea10df1f2165369978fba0a1cc32594aad778f5eec725f334867 + optional: false + category: main + build: h8a1eda9_5 + arch: x86_64 + subdir: osx-64 + build_number: 5 + constrains: + - zlib 1.2.13 *_5 + license: Zlib + license_family: Other + size: 59404 + timestamp: 1686575566695 +- name: python_abi + version: '3.11' + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-3_cp311.conda + hash: + md5: 5e0a069a585445333868d2c6651c3b3f + sha256: 145edb385d464227aca8ce963b9e22f5f36cacac9085eb38f574961ebc69684e + optional: false + category: main + build: 3_cp311 + arch: x86_64 + subdir: osx-64 + build_number: 3 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 5766 + timestamp: 1669071853731 +- name: bzip2 + version: 1.0.8 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h0d85af4_4.tar.bz2 + hash: + md5: 37edc4e6304ca87316e160f5ca0bd1b5 + sha256: 60ba4c64f5d0afca0d283c7addba577d3e2efc0db86002808dadb0498661b2f2 + optional: false + category: main + build: h0d85af4_4 + arch: x86_64 + subdir: osx-64 + build_number: 4 + license: bzip2-1.0.6 + license_family: BSD + size: 158829 + timestamp: 1618862580095 +- name: libffi + version: 3.4.2 + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2 + hash: + md5: ccb34fb14960ad8b125962d3d79b31a9 + sha256: 7a2d27a936ceee6942ea4d397f9c7d136f12549d86f7617e8b6bad51e01a941f + optional: false + category: main + build: h0d85af4_5 + arch: x86_64 + subdir: osx-64 + build_number: 5 + license: MIT + license_family: MIT + size: 51348 + timestamp: 1636488394370 +- name: tzdata + version: 2023c + manager: conda + platform: osx-64 + dependencies: {} + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda + hash: + md5: 939e3e74d8be4dac89ce83b20de2492a + sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55 + optional: false + category: main + build: h71feb2d_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: LicenseRef-Public-Domain + noarch: generic + size: 117580 + timestamp: 1680041306008 +- name: click + version: 8.1.7 + manager: conda + platform: osx-64 + dependencies: + __unix: '*' + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + hash: + md5: f3ad426304898027fc619827ff428eca + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + optional: false + category: main + build: unix_pyh707e725_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 84437 + timestamp: 1692311973840 +- name: mypy_extensions + version: 1.0.0 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.5' + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + hash: + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 10492 + timestamp: 1675543414256 +- name: packaging + version: '23.1' + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.1-pyhd8ed1ab_0.conda + hash: + md5: 91cda59e66e1e4afe9476f8ef98f5c30 + sha256: ded536a96a00d45a693dbc2971bb688248324dadd129eddda2100e177583d768 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: Apache-2.0 + license_family: APACHE + noarch: python + size: 46098 + timestamp: 1681337144376 +- name: pathspec + version: 0.11.2 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.11.2-pyhd8ed1ab_0.conda + hash: + md5: e41debb259e68490e3ab81e46b639ab6 + sha256: 7bcfa6d86359d45572ba9ccaeaedc04b0452e2654fe44b6fe378d0d37b8745e1 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MPL-2.0 + license_family: MOZILLA + noarch: python + size: 38649 + timestamp: 1690598108100 +- name: platformdirs + version: 3.10.0 + manager: conda + platform: osx-64 + dependencies: + typing-extensions: '>=4.6.3' + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.10.0-pyhd8ed1ab_0.conda + hash: + md5: 0809187ef9b89a3d94a5c24d13936236 + sha256: 1b5c0ca2f4260c7dd8cfccd8a641c1e41876c79dc594506be379cde08f5b471e + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 19827 + timestamp: 1690813274592 +- name: typing-extensions + version: 4.7.1 + manager: conda + platform: osx-64 + dependencies: + typing_extensions: ==4.7.1 pyha770c72_0 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda + hash: + md5: f96688577f1faa58096d06a45136afa2 + sha256: d5d19b8f5b275240c19616a46d67ec57250b3720ba88200da8c732c3fcbfc21d + optional: false + category: main + build: hd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 10080 + timestamp: 1688315729011 +- name: typing_extensions + version: 4.7.1 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda + hash: + md5: c39d6a09fe819de4951c2642629d9115 + sha256: 6edd6d5be690be492712cb747b6d62707f0d0c34ef56eefc796d91e5a03187d1 + optional: false + category: main + build: pyha770c72_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: PSF-2.0 + license_family: PSF + noarch: python + size: 36321 + timestamp: 1688315719627 +- name: colorama + version: 0.4.6 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 3faab06a954c2a04039983f2c4a50d99 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 25170 + timestamp: 1666700778190 +- name: exceptiongroup + version: 1.1.3 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda + hash: + md5: e6518222753f519e911e83136d2158d9 + sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: BSD-3-Clause + license_family: BSD + noarch: python + size: 19262 + timestamp: 1692026296517 +- name: iniconfig + version: 2.0.0 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + hash: + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 11101 + timestamp: 1673103208955 +- name: pluggy + version: 1.2.0 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.8' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.2.0-pyhd8ed1ab_0.conda + hash: + md5: 7263924c642d22e311d9e59b839f1b33 + sha256: ff1f70e0bd50693be7e2bad0efb2539f5dcc5ec4d638e787e703f28098e72de4 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 21528 + timestamp: 1687776483210 +- name: tomli + version: 2.0.1 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 + hash: + md5: 5844808ffab9ebdb694585b50ba02a96 + sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 15940 + timestamp: 1644342331069 +- name: setuptools + version: 68.1.2 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + hash: + md5: 4fe12573bf499ff85a0a364e00cc5c53 + sha256: dc5a777597e05ceddefc87d2f96389b7ae0afb097e558307af83a453db3e3887 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 462324 + timestamp: 1692383535614 +- name: wheel + version: 0.41.1 + manager: conda + platform: osx-64 + dependencies: + python: '>=3.7' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.1-pyhd8ed1ab_0.conda + hash: + md5: 8f467ba2db2b5470d297953d9c1f9c7d + sha256: a27e2c2709245386ebffae865650b5d3f383530b809480c3083f7ae258759303 + optional: false + category: main + build: pyhd8ed1ab_0 + arch: x86_64 + subdir: osx-64 + build_number: 0 + license: MIT + license_family: MIT + noarch: python + size: 57374 + timestamp: 1691249256363 +version: 1 diff --git a/py-rattler/pixi.toml b/py-rattler/pixi.toml new file mode 100644 index 000000000..79a16be7e --- /dev/null +++ b/py-rattler/pixi.toml @@ -0,0 +1,29 @@ +[project] +name = "py-rattler" +version = "0.1.0" +description = "Add a short description here" +authors = ["Bas Zalmstra "] +channels = ["conda-forge"] +platforms = ["win-64", "linux-64", "osx-64", "osx-arm64"] + +[tasks] +build = "maturin develop" +test = { cmd = "pytest --doctest-modules", depends_on = ["build"] } +fmt-python = "black ." +fmt-rust = "cargo fmt --all" +lint-python = "ruff ." +lint-rust = "cargo clippy --all" +fmt = { depends_on = ["fmt-python", "fmt-rust"] } +lint = { depends_on = ["lint-python", "lint-rust"] } + +# checks for the CI +fmt-rust-check = "cargo fmt --all --check" +fmt-python-check = "black . --check" +fmt-check = { depends_on = ["fmt-python-check", "fmt-rust-check"] } + +[dependencies] +maturin = "~=1.2.2" +pip = "~=23.2.1" +pytest = "~=7.4.0" +black = "~=23.7.0" +ruff = "~=0.0.285" diff --git a/py-rattler/pyproject.toml b/py-rattler/pyproject.toml new file mode 100644 index 000000000..9c5cd9847 --- /dev/null +++ b/py-rattler/pyproject.toml @@ -0,0 +1,19 @@ +[build-system] +requires = ["maturin~=1.2.1"] +build-backend = "maturin" + +[project] +name = "rattler" +requires-python = ">=3.8" +authors = [ + { name = "Bas Zalmstra", email = "zalmstra.bas@gmail.com" } +] +classifiers = [ + "Programming Language :: Rust", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] + + +[tool.maturin] +features = ["pyo3/extension-module"] diff --git a/py-rattler/rattler/__init__.py b/py-rattler/rattler/__init__.py new file mode 100644 index 000000000..1ffed8702 --- /dev/null +++ b/py-rattler/rattler/__init__.py @@ -0,0 +1,3 @@ +from rattler.version import Version + +__all__ = ["Version"] diff --git a/py-rattler/rattler/version/__init__.py b/py-rattler/rattler/version/__init__.py new file mode 100644 index 000000000..6ccadac82 --- /dev/null +++ b/py-rattler/rattler/version/__init__.py @@ -0,0 +1,3 @@ +from rattler.version.version import Version + +__all__ = ["Version"] diff --git a/py-rattler/rattler/version/version.py b/py-rattler/rattler/version/version.py new file mode 100644 index 000000000..8787af572 --- /dev/null +++ b/py-rattler/rattler/version/version.py @@ -0,0 +1,73 @@ +from __future__ import annotations + +from typing import Optional + +from rattler.rattler import PyVersion + + +class Version: + def __init__(self, version: str): + if isinstance(version, str): + self._version = PyVersion(version) + else: + raise TypeError( + "Version constructor received unsupported type " + f" {type(version).__name__!r} for the `version` parameter" + ) + + @classmethod + def _from_py_version(cls, py_version: PyVersion) -> Version: + """Construct Rattler version from FFI PyVersion object.""" + version = cls.__new__(cls) + version._version = py_version + return version + + def __str__(self) -> str: + return self._version.as_str() + + def __repr__(self) -> str: + return self.__str__() + + @property + def epoch(self) -> Optional[str]: + """ + Gets the epoch of the version or `None` if the epoch was not defined. + + Examples + -------- + >>> v = Version('2!1.0') + >>> v.epoch + 2 + """ + return self._version.epoch() + + def bump(self) -> Version: + """ + Returns a new version where the last numerical segment of this version has + been bumped. + + Examples + -------- + >>> v = Version('1.0') + >>> v.bump() + 1.1 + """ + return Version._from_py_version(self._version.bump()) + + def __eq__(self, other: Version) -> bool: + return self._version.equals(other._version) + + def __ne__(self, other: Version) -> bool: + return self._version.not_equal(other._version) + + def __gt__(self, other: Version) -> bool: + return self._version.greater_than(other._version) + + def __lt__(self, other: Version) -> bool: + return self._version.less_than(other._version) + + def __ge__(self, other: Version) -> bool: + return self._version.greater_than_equals(other._version) + + def __le__(self, other: Version) -> bool: + return self._version.less_than_equals(other._version) diff --git a/py-rattler/src/error.rs b/py-rattler/src/error.rs new file mode 100644 index 000000000..8eb34322a --- /dev/null +++ b/py-rattler/src/error.rs @@ -0,0 +1,22 @@ +use pyo3::exceptions::PyException; +use pyo3::{create_exception, PyErr}; +use rattler_conda_types::ParseVersionError; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum PyRattlerError { + #[error(transparent)] + InvalidVersion(#[from] ParseVersionError), +} + +impl From for PyErr { + fn from(value: PyRattlerError) -> Self { + match value { + PyRattlerError::InvalidVersion(err) => { + InvalidVersionException::new_err(err.to_string()) + } + } + } +} + +create_exception!(exceptions, InvalidVersionException, PyException); diff --git a/py-rattler/src/lib.rs b/py-rattler/src/lib.rs new file mode 100644 index 000000000..fac921917 --- /dev/null +++ b/py-rattler/src/lib.rs @@ -0,0 +1,20 @@ +mod error; +mod version; + +use error::{InvalidVersionException, PyRattlerError}; + +use pyo3::prelude::*; +use version::PyVersion; + +#[pymodule] +fn rattler(py: Python, m: &PyModule) -> PyResult<()> { + m.add_class::().unwrap(); + + // Exceptions + m.add( + "InvalidVersionError", + py.get_type::(), + ) + .unwrap(); + Ok(()) +} diff --git a/py-rattler/src/version.rs b/py-rattler/src/version.rs new file mode 100644 index 000000000..89de82601 --- /dev/null +++ b/py-rattler/src/version.rs @@ -0,0 +1,72 @@ +use crate::PyRattlerError; +use pyo3::{pyclass, pymethods}; +use rattler_conda_types::Version; +use std::str::FromStr; + +#[pyclass] +#[repr(transparent)] +#[derive(Clone)] +pub struct PyVersion { + inner: Version, +} + +impl From for PyVersion { + fn from(value: Version) -> Self { + PyVersion { inner: value } + } +} + +#[pymethods] +impl PyVersion { + #[new] + pub fn __init__(version: &str) -> pyo3::PyResult { + Ok(Version::from_str(version) + .map(Into::into) + .map_err(PyRattlerError::from)?) + } + + /// Returns a string representation of the version. + pub fn as_str(&self) -> String { + format!("{}", self.inner) + } + + /// Returns the epoch of the version + pub fn epoch(&self) -> Option { + self.inner.epoch_opt() + } + + /// Returns a new version where the last numerical segment of this version has been bumped. + pub fn bump(&self) -> Self { + Self { + inner: self.inner.bump(), + } + } + + pub fn equal(&self, other: &Self) -> bool { + self.inner == other.inner + } + + pub fn not_equal(&self, other: &Self) -> bool { + self.inner != other.inner + } + + pub fn less_than(&self, other: &Self) -> bool { + self.inner < other.inner + } + + pub fn less_than_equals(&self, other: &Self) -> bool { + self.inner <= other.inner + } + + pub fn equals(&self, other: &Self) -> bool { + self.inner == other.inner + } + + pub fn greater_than_equals(&self, other: &Self) -> bool { + self.inner >= other.inner + } + + pub fn greater_than(&self, other: &Self) -> bool { + self.inner > other.inner + } +} diff --git a/py-rattler/tests/__init__.py b/py-rattler/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/py-rattler/tests/unit/__init__.py b/py-rattler/tests/unit/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/py-rattler/tests/unit/test_version.py b/py-rattler/tests/unit/test_version.py new file mode 100644 index 000000000..902099e6e --- /dev/null +++ b/py-rattler/tests/unit/test_version.py @@ -0,0 +1,24 @@ +from rattler import Version + + +def test_version_comparision(): + assert Version("1.0") < Version("2.0") + assert Version("1.0") <= Version("2.0") + assert Version("2.0") > Version("1.0") + assert Version("2.0") >= Version("1.0") + assert Version("1.0.0") == Version("1.0") + assert Version("1.0") != Version("2.0") + + +def test_bump(): + assert Version("1.0").bump() == Version("1.1") + assert Version("1.a").bump() == Version("1.1a") + assert Version("1dev").bump() == Version("2dev") + assert Version("1dev0").bump() == Version("1dev1") + assert Version("1!0").bump() == Version("1!1") + assert Version("1.2-alpha.3-beta-dev0").bump() == Version("1.2-alpha.3-beta-dev1") + + +def test_epoch(): + assert Version("1!1.0").epoch == 1 + assert Version("1.0").epoch is None