From ae1c2943ae42680c22990abf9a68ff4e31166499 Mon Sep 17 00:00:00 2001 From: celiafish Date: Thu, 23 Oct 2025 15:59:18 -0400 Subject: [PATCH 001/123] Add pixi files - Add pixi toml file - Add pixi lock file --- pixi.lock | 2030 +++++++++++++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 30 + 2 files changed, 2060 insertions(+) create mode 100644 pixi.lock create mode 100644 pixi.toml diff --git a/pixi.lock b/pixi.lock new file mode 100644 index 000000000..258696f75 --- /dev/null +++ b/pixi.lock @@ -0,0 +1,2030 @@ +version: 6 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/74/f5/9373290775639cb67a2fce7f629a1c240dce9f12fe927bc32b2736e16dfc/argcomplete-3.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/30/7d6b649ed26ac2ac3acc22f0fd3ade5daf48db7dc442b810ca4bf78ab12e/awkward-2.8.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/90/a604fcde83951174d9f45dca22798cc808625681fe50853cade06b75d458/awkward_cpp-50-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fc/11/88425763883f1e9e9b4b352e6ea4b9abf705b9fb2323c91f523c6700fe64/blosc2-3.10.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/cd/81/98ecc55f4097041148391753c202715a754fb2f038c8a3ee13df88fbc987/bluesky_tiled_plugins-2.0.0b69-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/af/665685072e71f3f0e626221b7922867ec249cd8376aca761078c8f11f5da/lz4-4.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/79/d8/a4638485d17e5a236a7f8687a63229b4cc4737d018d8f8bdf18983419d5b/ndindex-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/4c/1a/edbe839109518364ac0bd9e918cf874c755bb2c128040e920f198c494263/numexpr-2.14.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bb/6a/e5bf7b70883f374710ad74faf99bacfc4b5b5a7797c1d5e130350e0e28a3/orjson-3.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/a1/6b/83661fa77dcefa195ad5f8cd9af3d1a7450fd57cc883ad04d65446ac2029/pydantic-2.12.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b4/8c/4065950f9d013c4b2e588fe33cf04e564c2322842d84dbcbce5ba1dc28b0/PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ac/e1/13d25a9ff2ac236a264b4603abaa39fa8bb9a7aa430519bb5f545c5b008d/PyQt5_Qt5-5.15.17-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/dc/b2/330f97434b21fbc99ab16f6ce71358ff5ea1bf1f09ed14dfe6b28b5ed8f5/pyqt5_sip-12.17.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/97/d2/3cb0980a6a4a2581facc4d47b2e7d99912a1f7065407f007f27419e19979/qtconsole-5.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/a4/33a94f5755ec15c49de5f29e7dac3da91943b89e45c44ad6a2431904f987/tiled-0.1.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/20/69a0e6058bc5ea74892d089d64dfc3a62ba78917ec5e2cfa70f7c92ba3a5/xmltodict-1.0.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f2/ba/d1b21f3e57469030bd6536b91bb28fedd2511d4e68b5a575f2bdb3a3dbb6/yq-3.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + purls: [] + size: 2562 + timestamp: 1578324546067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + build_number: 16 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 23621 + timestamp: 1650670423406 +- pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + name: annotated-types + version: 0.7.0 + sha256: 1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 + requires_dist: + - typing-extensions>=4.0.0 ; python_full_version < '3.9' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl + name: anyio + version: 4.11.0 + sha256: 0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc + requires_dist: + - exceptiongroup>=1.0.2 ; python_full_version < '3.11' + - idna>=2.8 + - sniffio>=1.1 + - typing-extensions>=4.5 ; python_full_version < '3.13' + - trio>=0.31.0 ; extra == 'trio' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/74/f5/9373290775639cb67a2fce7f629a1c240dce9f12fe927bc32b2736e16dfc/argcomplete-3.6.3-py3-none-any.whl + name: argcomplete + version: 3.6.3 + sha256: f5007b3a600ccac5d25bbce33089211dfd49eab4a7718da3f10e3082525a92ce + requires_dist: + - coverage ; extra == 'test' + - mypy ; extra == 'test' + - pexpect ; extra == 'test' + - ruff ; extra == 'test' + - wheel ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl + name: asttokens + version: 3.0.0 + sha256: e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2 + requires_dist: + - astroid>=2,<4 ; extra == 'astroid' + - astroid>=2,<4 ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-xdist ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl + name: attrs + version: 25.4.0 + sha256: adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/26/30/7d6b649ed26ac2ac3acc22f0fd3ade5daf48db7dc442b810ca4bf78ab12e/awkward-2.8.9-py3-none-any.whl + name: awkward + version: 2.8.9 + sha256: 2129d68a83480074dfae5c829d683d5c579f1a2aa858d85d65dc05e333a1fb50 + requires_dist: + - awkward-cpp==50 + - fsspec>=2022.11.0 + - importlib-metadata>=4.13.0 ; python_full_version < '3.12' + - numpy>=1.18.0 + - packaging + - typing-extensions>=4.1.0 ; python_full_version < '3.11' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/6e/90/a604fcde83951174d9f45dca22798cc808625681fe50853cade06b75d458/awkward_cpp-50-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: awkward-cpp + version: '50' + sha256: e6bc2fcd4cb91d1dc9d2038d9efaa9b4a10043a409f98abd4589ca74259b666b + requires_dist: + - numpy>=1.18.0 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/fc/11/88425763883f1e9e9b4b352e6ea4b9abf705b9fb2323c91f523c6700fe64/blosc2-3.10.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: blosc2 + version: 3.10.2 + sha256: 716028df199d9f5dfd535cfa43695abffdd72b62ba3ae4c413c87247012402f0 + requires_dist: + - numpy>=1.26 + - ndindex + - msgpack + - platformdirs + - numexpr>=2.14.1 ; platform_machine != 'wasm32' + - py-cpuinfo ; platform_machine != 'wasm32' + - requests + - dask ; extra == 'dev' + - h5py ; extra == 'dev' + - hdf5plugin ; extra == 'dev' + - jupyterlab ; extra == 'dev' + - matplotlib ; extra == 'dev' + - pandas ; extra == 'dev' + - plotly ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pyarrow ; extra == 'dev' + - ruff ; extra == 'dev' + - s3fs ; extra == 'dev' + - xarray ; extra == 'dev' + - zarr ; extra == 'dev' + - pytest ; extra == 'test' + - psutil ; platform_machine != 'wasm32' and extra == 'test' + - torch ; platform_machine != 'wasm32' and extra == 'test' + - sphinx>=8 ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - numpydoc ; extra == 'doc' + - myst-parser ; extra == 'doc' + - sphinx-paramlinks ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - ipykernel ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - furo ; extra == 'doc' + - numba ; extra == 'doc' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/cd/81/98ecc55f4097041148391753c202715a754fb2f038c8a3ee13df88fbc987/bluesky_tiled_plugins-2.0.0b69-py3-none-any.whl + name: bluesky-tiled-plugins + version: 2.0.0b69 + sha256: bac21f56dff75a14ba64230f0de0ec8a9fba31af074a07f33ed29cf898f3564a + requires_dist: + - dask + - mongoquery + - pytz + - tiled[client]>=0.1.0b23 + - tzlocal + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 + md5: 51a19bba1b8ebfb60df25cde030b7ebc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 260341 + timestamp: 1757437258798 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + sha256: 3b5ad78b8bb61b6cdc0978a6a99f8dfb2cc789a451378d054698441005ecbdb6 + md5: f9e5fbc24009179e8b0409624691758a + depends: + - __unix + license: ISC + purls: [] + size: 155907 + timestamp: 1759649036195 +- pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl + name: certifi + version: 2025.10.5 + sha256: 0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: charset-normalizer + version: 3.4.4 + sha256: 840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl + name: click + version: 8.3.0 + sha256: 9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc + requires_dist: + - colorama ; sys_platform == 'win32' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl + name: cloudpickle + version: 3.1.1 + sha256: c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl + name: comm + version: 0.2.3 + sha256: c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417 + requires_dist: + - pytest ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl + name: dask + version: 2025.10.0 + sha256: 86c0a4aecbed3eae938f13a52bcc3fdc35852cce34d7d701590c15850b92506e + requires_dist: + - click>=8.1 + - cloudpickle>=3.0.0 + - fsspec>=2021.9.0 + - packaging>=20.0 + - partd>=1.4.0 + - pyyaml>=5.3.1 + - toolz>=0.10.0 + - importlib-metadata>=4.13.0 ; python_full_version < '3.12' + - numpy>=1.24 ; extra == 'array' + - dask[array] ; extra == 'dataframe' + - pandas>=2.0 ; extra == 'dataframe' + - pyarrow>=14.0.1 ; extra == 'dataframe' + - distributed==2025.10.0 ; extra == 'distributed' + - bokeh>=3.1.0 ; extra == 'diagnostics' + - jinja2>=2.10.3 ; extra == 'diagnostics' + - dask[array,dataframe,diagnostics,distributed] ; extra == 'complete' + - pyarrow>=14.0.1 ; extra == 'complete' + - lz4>=4.3.2 ; extra == 'complete' + - pandas[test] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest-xdist ; extra == 'test' + - pre-commit ; extra == 'test' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl + name: debugpy + version: 1.8.17 + sha256: 60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl + name: decorator + version: 5.2.1 + sha256: d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl + name: entrypoints + version: '0.4' + sha256: f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl + name: executing + version: 2.2.1 + sha256: 760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 + requires_dist: + - asttokens>=2.1.0 ; extra == 'tests' + - ipython ; extra == 'tests' + - pytest ; extra == 'tests' + - coverage ; extra == 'tests' + - coverage-enable-subprocess ; extra == 'tests' + - littleutils ; extra == 'tests' + - rich ; python_full_version >= '3.11' and extra == 'tests' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl + name: fsspec + version: 2025.9.0 + sha256: 530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7 + requires_dist: + - adlfs ; extra == 'abfs' + - adlfs ; extra == 'adl' + - pyarrow>=1 ; extra == 'arrow' + - dask ; extra == 'dask' + - distributed ; extra == 'dask' + - pre-commit ; extra == 'dev' + - ruff>=0.5 ; extra == 'dev' + - numpydoc ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - yarl ; extra == 'doc' + - dropbox ; extra == 'dropbox' + - dropboxdrivefs ; extra == 'dropbox' + - requests ; extra == 'dropbox' + - adlfs ; extra == 'full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' + - dask ; extra == 'full' + - distributed ; extra == 'full' + - dropbox ; extra == 'full' + - dropboxdrivefs ; extra == 'full' + - fusepy ; extra == 'full' + - gcsfs ; extra == 'full' + - libarchive-c ; extra == 'full' + - ocifs ; extra == 'full' + - panel ; extra == 'full' + - paramiko ; extra == 'full' + - pyarrow>=1 ; extra == 'full' + - pygit2 ; extra == 'full' + - requests ; extra == 'full' + - s3fs ; extra == 'full' + - smbprotocol ; extra == 'full' + - tqdm ; extra == 'full' + - fusepy ; extra == 'fuse' + - gcsfs ; extra == 'gcs' + - pygit2 ; extra == 'git' + - requests ; extra == 'github' + - gcsfs ; extra == 'gs' + - panel ; extra == 'gui' + - pyarrow>=1 ; extra == 'hdfs' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'http' + - libarchive-c ; extra == 'libarchive' + - ocifs ; extra == 'oci' + - s3fs ; extra == 's3' + - paramiko ; extra == 'sftp' + - smbprotocol ; extra == 'smb' + - paramiko ; extra == 'ssh' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test' + - numpy ; extra == 'test' + - pytest ; extra == 'test' + - pytest-asyncio!=0.22.0 ; extra == 'test' + - pytest-benchmark ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-recording ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - requests ; extra == 'test' + - aiobotocore>=2.5.4,<3.0.0 ; extra == 'test-downstream' + - dask[dataframe,test] ; extra == 'test-downstream' + - moto[server]>4,<5 ; extra == 'test-downstream' + - pytest-timeout ; extra == 'test-downstream' + - xarray ; extra == 'test-downstream' + - adlfs ; extra == 'test-full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test-full' + - cloudpickle ; extra == 'test-full' + - dask ; extra == 'test-full' + - distributed ; extra == 'test-full' + - dropbox ; extra == 'test-full' + - dropboxdrivefs ; extra == 'test-full' + - fastparquet ; extra == 'test-full' + - fusepy ; extra == 'test-full' + - gcsfs ; extra == 'test-full' + - jinja2 ; extra == 'test-full' + - kerchunk ; extra == 'test-full' + - libarchive-c ; extra == 'test-full' + - lz4 ; extra == 'test-full' + - notebook ; extra == 'test-full' + - numpy ; extra == 'test-full' + - ocifs ; extra == 'test-full' + - pandas ; extra == 'test-full' + - panel ; extra == 'test-full' + - paramiko ; extra == 'test-full' + - pyarrow ; extra == 'test-full' + - pyarrow>=1 ; extra == 'test-full' + - pyftpdlib ; extra == 'test-full' + - pygit2 ; extra == 'test-full' + - pytest ; extra == 'test-full' + - pytest-asyncio!=0.22.0 ; extra == 'test-full' + - pytest-benchmark ; extra == 'test-full' + - pytest-cov ; extra == 'test-full' + - pytest-mock ; extra == 'test-full' + - pytest-recording ; extra == 'test-full' + - pytest-rerunfailures ; extra == 'test-full' + - python-snappy ; extra == 'test-full' + - requests ; extra == 'test-full' + - smbprotocol ; extra == 'test-full' + - tqdm ; extra == 'test-full' + - urllib3 ; extra == 'test-full' + - zarr ; extra == 'test-full' + - zstandard ; python_full_version < '3.14' and extra == 'test-full' + - tqdm ; extra == 'tqdm' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + name: h11 + version: 0.16.0 + sha256: 63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl + name: httpcore + version: 1.0.9 + sha256: 2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 + requires_dist: + - certifi + - h11>=0.16 + - anyio>=4.0,<5.0 ; extra == 'asyncio' + - h2>=3,<5 ; extra == 'http2' + - socksio==1.* ; extra == 'socks' + - trio>=0.22.0,<1.0 ; extra == 'trio' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl + name: httpx + version: 0.28.1 + sha256: d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad + requires_dist: + - anyio + - certifi + - httpcore==1.* + - idna + - brotli ; platform_python_implementation == 'CPython' and extra == 'brotli' + - brotlicffi ; platform_python_implementation != 'CPython' and extra == 'brotli' + - click==8.* ; extra == 'cli' + - pygments==2.* ; extra == 'cli' + - rich>=10,<14 ; extra == 'cli' + - h2>=3,<5 ; extra == 'http2' + - socksio==1.* ; extra == 'socks' + - zstandard>=0.18.0 ; extra == 'zstd' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl + name: idna + version: '3.11' + sha256: 771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea + requires_dist: + - ruff>=0.6.2 ; extra == 'all' + - mypy>=1.11.2 ; extra == 'all' + - pytest>=8.3.2 ; extra == 'all' + - flake8>=7.1.1 ; extra == 'all' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl + name: importlib-metadata + version: 8.7.0 + sha256: e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd + requires_dist: + - zipp>=3.20 + - typing-extensions>=3.6.4 ; python_full_version < '3.8' + - pytest>=6,!=8.1.* ; extra == 'test' + - importlib-resources>=1.3 ; python_full_version < '3.9' and extra == 'test' + - packaging ; extra == 'test' + - pyfakefs ; extra == 'test' + - flufl-flake8 ; extra == 'test' + - pytest-perf>=0.9.2 ; extra == 'test' + - jaraco-test>=5.4 ; extra == 'test' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - ipython ; extra == 'perf' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest-mypy ; extra == 'type' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl + name: ipykernel + version: 7.0.1 + sha256: 87182a8305e28954b6721087dec45b171712610111d494c17bb607befa1c4000 + requires_dist: + - appnope>=0.1.2 ; sys_platform == 'darwin' + - comm>=0.1.1 + - debugpy>=1.6.5 + - ipython>=7.23.1 + - jupyter-client>=8.0.0 + - jupyter-core>=4.12,!=5.0.* + - matplotlib-inline>=0.1 + - nest-asyncio>=1.4 + - packaging>=22 + - psutil>=5.7 + - pyzmq>=25 + - tornado>=6.2 + - traitlets>=5.4.0 + - coverage[toml] ; extra == 'cov' + - matplotlib ; extra == 'cov' + - pytest-cov ; extra == 'cov' + - trio ; extra == 'cov' + - intersphinx-registry ; extra == 'docs' + - myst-parser ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - sphinx-autodoc-typehints ; extra == 'docs' + - sphinx<8.2.0 ; extra == 'docs' + - sphinxcontrib-github-alt ; extra == 'docs' + - sphinxcontrib-spelling ; extra == 'docs' + - trio ; extra == 'docs' + - pyqt5 ; extra == 'pyqt5' + - pyside6 ; extra == 'pyside6' + - flaky ; extra == 'test' + - ipyparallel ; extra == 'test' + - pre-commit ; extra == 'test' + - pytest-asyncio>=0.23.5 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest>=7.0,<9 ; extra == 'test' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl + name: ipython + version: 9.6.0 + sha256: 5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196 + requires_dist: + - colorama ; sys_platform == 'win32' + - decorator + - ipython-pygments-lexers + - jedi>=0.16 + - matplotlib-inline + - pexpect>4.3 ; sys_platform != 'emscripten' and sys_platform != 'win32' + - prompt-toolkit>=3.0.41,<3.1.0 + - pygments>=2.4.0 + - stack-data + - traitlets>=5.13.0 + - typing-extensions>=4.6 ; python_full_version < '3.12' + - black ; extra == 'black' + - docrepr ; extra == 'doc' + - exceptiongroup ; extra == 'doc' + - intersphinx-registry ; extra == 'doc' + - ipykernel ; extra == 'doc' + - ipython[matplotlib,test] ; extra == 'doc' + - setuptools>=61.2 ; extra == 'doc' + - sphinx-toml==0.0.4 ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - sphinx>=1.3 ; extra == 'doc' + - typing-extensions ; extra == 'doc' + - pytest ; extra == 'test' + - pytest-asyncio ; extra == 'test' + - testpath ; extra == 'test' + - packaging ; extra == 'test' + - ipython[test] ; extra == 'test-extra' + - curio ; extra == 'test-extra' + - jupyter-ai ; extra == 'test-extra' + - ipython[matplotlib] ; extra == 'test-extra' + - nbformat ; extra == 'test-extra' + - nbclient ; extra == 'test-extra' + - ipykernel ; extra == 'test-extra' + - numpy>=1.25 ; extra == 'test-extra' + - pandas>2.0 ; extra == 'test-extra' + - trio ; extra == 'test-extra' + - matplotlib>3.7 ; extra == 'matplotlib' + - ipython[doc,matplotlib,test,test-extra] ; extra == 'all' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl + name: ipython-pygments-lexers + version: 1.1.1 + sha256: a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c + requires_dist: + - pygments + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl + name: jedi + version: 0.19.2 + sha256: a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9 + requires_dist: + - parso>=0.8.4,<0.9.0 + - jinja2==2.11.3 ; extra == 'docs' + - markupsafe==1.1.1 ; extra == 'docs' + - pygments==2.8.1 ; extra == 'docs' + - alabaster==0.7.12 ; extra == 'docs' + - babel==2.9.1 ; extra == 'docs' + - chardet==4.0.0 ; extra == 'docs' + - commonmark==0.8.1 ; extra == 'docs' + - docutils==0.17.1 ; extra == 'docs' + - future==0.18.2 ; extra == 'docs' + - idna==2.10 ; extra == 'docs' + - imagesize==1.2.0 ; extra == 'docs' + - mock==1.0.1 ; extra == 'docs' + - packaging==20.9 ; extra == 'docs' + - pyparsing==2.4.7 ; extra == 'docs' + - pytz==2021.1 ; extra == 'docs' + - readthedocs-sphinx-ext==2.1.4 ; extra == 'docs' + - recommonmark==0.5.0 ; extra == 'docs' + - requests==2.25.1 ; extra == 'docs' + - six==1.15.0 ; extra == 'docs' + - snowballstemmer==2.1.0 ; extra == 'docs' + - sphinx-rtd-theme==0.4.3 ; extra == 'docs' + - sphinx==1.8.5 ; extra == 'docs' + - sphinxcontrib-serializinghtml==1.1.4 ; extra == 'docs' + - sphinxcontrib-websupport==1.2.4 ; extra == 'docs' + - urllib3==1.26.4 ; extra == 'docs' + - flake8==5.0.4 ; extra == 'qa' + - mypy==0.971 ; extra == 'qa' + - types-setuptools==67.2.0.1 ; extra == 'qa' + - django ; extra == 'testing' + - attrs ; extra == 'testing' + - colorama ; extra == 'testing' + - docopt ; extra == 'testing' + - pytest<9.0.0 ; extra == 'testing' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl + name: json-merge-patch + version: 0.3.0 + sha256: e0a593719b293ff63858ecaae3afbcb4ff0b57f785453c6783d7b0c3e2708b76 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl + name: jsonpatch + version: '1.33' + sha256: 0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade + requires_dist: + - jsonpointer>=1.9 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' +- pypi: https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl + name: jsonpointer + version: 3.0.0 + sha256: 13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl + name: jsonschema + version: 4.25.1 + sha256: 3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63 + requires_dist: + - attrs>=22.2.0 + - jsonschema-specifications>=2023.3.6 + - referencing>=0.28.4 + - rpds-py>=0.7.1 + - fqdn ; extra == 'format' + - idna ; extra == 'format' + - isoduration ; extra == 'format' + - jsonpointer>1.13 ; extra == 'format' + - rfc3339-validator ; extra == 'format' + - rfc3987 ; extra == 'format' + - uri-template ; extra == 'format' + - webcolors>=1.11 ; extra == 'format' + - fqdn ; extra == 'format-nongpl' + - idna ; extra == 'format-nongpl' + - isoduration ; extra == 'format-nongpl' + - jsonpointer>1.13 ; extra == 'format-nongpl' + - rfc3339-validator ; extra == 'format-nongpl' + - rfc3986-validator>0.1.0 ; extra == 'format-nongpl' + - rfc3987-syntax>=1.1.0 ; extra == 'format-nongpl' + - uri-template ; extra == 'format-nongpl' + - webcolors>=24.6.0 ; extra == 'format-nongpl' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl + name: jsonschema-specifications + version: 2025.9.1 + sha256: 98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe + requires_dist: + - referencing>=0.31.0 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl + name: jupyter-client + version: 8.6.3 + sha256: e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f + requires_dist: + - importlib-metadata>=4.8.3 ; python_full_version < '3.10' + - jupyter-core>=4.12,!=5.0.* + - python-dateutil>=2.8.2 + - pyzmq>=23.0 + - tornado>=6.2 + - traitlets>=5.3 + - ipykernel ; extra == 'docs' + - myst-parser ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - sphinx-autodoc-typehints ; extra == 'docs' + - sphinx>=4 ; extra == 'docs' + - sphinxcontrib-github-alt ; extra == 'docs' + - sphinxcontrib-spelling ; extra == 'docs' + - coverage ; extra == 'test' + - ipykernel>=6.14 ; extra == 'test' + - mypy ; extra == 'test' + - paramiko ; sys_platform == 'win32' and extra == 'test' + - pre-commit ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-jupyter[client]>=0.4.1 ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest<8.2.0 ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl + name: jupyter-core + version: 5.9.1 + sha256: ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407 + requires_dist: + - platformdirs>=2.5 + - traitlets>=5.3 + - intersphinx-registry ; extra == 'docs' + - myst-parser ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - sphinx-autodoc-typehints ; extra == 'docs' + - sphinxcontrib-spelling ; extra == 'docs' + - traitlets ; extra == 'docs' + - ipykernel ; extra == 'test' + - pre-commit ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest<9 ; extra == 'test' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda + sha256: 707dfb8d55d7a5c6f95c772d778ef07a7ca85417d9971796f7d3daad0b615de8 + md5: 14bae321b8127b63cba276bd53fac237 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.44 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 747158 + timestamp: 1758810907507 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + md5: 35f29eec58405aaf55e01cb470d8c26a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 57821 + timestamp: 1760295480630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + md5: c0374badb3a5d4b1372db28d19462c53 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 15.2.0 h767d61c_7 + - libgcc-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 822552 + timestamp: 1759968052178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + sha256: 2045066dd8e6e58aaf5ae2b722fb6dfdbb57c862b5f34ac7bfb58c40ef39b6ad + md5: 280ea6eee9e2ddefde25ff799c4f0363 + depends: + - libgcc 15.2.0 h767d61c_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 29313 + timestamp: 1759968065504 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca + md5: f7b4d76975aac7e5d9e6ad13845f92fe + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 447919 + timestamp: 1759967942498 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + md5: 1a580f7796c7bf6393fddb8bbbde58dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - xz 5.8.1.* + license: 0BSD + purls: [] + size: 112894 + timestamp: 1749230047870 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + sha256: 329e66330a8f9cbb6a8d5995005478188eb4ba8a6b6391affa849744f4968492 + md5: f61edadbb301530bd65a32646bd81552 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + license: 0BSD + purls: [] + size: 439868 + timestamp: 1749230061968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + purls: [] + size: 33731 + timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda + sha256: 6d9c32fc369af5a84875725f7ddfbfc2ace795c28f246dc70055a79f9b2003da + md5: 0b367fad34931cb79e0d6b7e5c06bb1c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: blessing + purls: [] + size: 932581 + timestamp: 1753948484112 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + sha256: e5ec6d2ad7eef538ddcb9ea62ad4346fde70a4736342c4ad87bd713641eb9808 + md5: 80c07c68d2f6870250959dcc95b209d1 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 37135 + timestamp: 1758626800002 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + purls: [] + size: 60963 + timestamp: 1727963148474 +- pypi: https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: llvmlite + version: 0.45.1 + sha256: 3adc2355694d6a6fbcc024d59bb756677e7de506037c878022d7b877e7613a36 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + name: locket + version: 1.0.0 + sha256: b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- pypi: https://files.pythonhosted.org/packages/81/af/665685072e71f3f0e626221b7922867ec249cd8376aca761078c8f11f5da/lz4-4.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: lz4 + version: 4.4.4 + sha256: 80dd27d7d680ea02c261c226acf1d41de2fd77af4fb2da62b278a9376e380de0 + requires_dist: + - pytest!=3.3.0 ; extra == 'tests' + - psutil ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - sphinx>=1.6.0 ; extra == 'docs' + - sphinx-bootstrap-theme ; extra == 'docs' + - flake8 ; extra == 'flake8' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl + name: markdown-it-py + version: 4.0.0 + sha256: 87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147 + requires_dist: + - mdurl~=0.1 + - psutil ; extra == 'benchmarking' + - pytest ; extra == 'benchmarking' + - pytest-benchmark ; extra == 'benchmarking' + - commonmark~=0.9 ; extra == 'compare' + - markdown~=3.4 ; extra == 'compare' + - mistletoe~=1.0 ; extra == 'compare' + - mistune~=3.0 ; extra == 'compare' + - panflute~=2.3 ; extra == 'compare' + - markdown-it-pyrs ; extra == 'compare' + - linkify-it-py>=1,<3 ; extra == 'linkify' + - mdit-py-plugins>=0.5.0 ; extra == 'plugins' + - gprof2dot ; extra == 'profiling' + - mdit-py-plugins>=0.5.0 ; extra == 'rtd' + - myst-parser ; extra == 'rtd' + - pyyaml ; extra == 'rtd' + - sphinx ; extra == 'rtd' + - sphinx-copybutton ; extra == 'rtd' + - sphinx-design ; extra == 'rtd' + - sphinx-book-theme~=1.0 ; extra == 'rtd' + - jupyter-sphinx ; extra == 'rtd' + - ipykernel ; extra == 'rtd' + - coverage ; extra == 'testing' + - pytest ; extra == 'testing' + - pytest-cov ; extra == 'testing' + - pytest-regressions ; extra == 'testing' + - requests ; extra == 'testing' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl + name: matplotlib-inline + version: 0.2.1 + sha256: d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76 + requires_dist: + - traitlets + - flake8 ; extra == 'test' + - nbdime ; extra == 'test' + - nbval ; extra == 'test' + - notebook ; extra == 'test' + - pytest ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl + name: mdurl + version: 0.1.2 + sha256: 84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl + name: mongoquery + version: 1.4.3 + sha256: 8be47635c5e361c9f363b7a901a2b86649687491b7aaca2d12601eff41cb6128 + requires_dist: + - six +- pypi: https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: msgpack + version: 1.1.2 + sha256: 454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + md5: 47e340acb35de30501a76c7c799c41d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: X11 AND BSD-3-Clause + purls: [] + size: 891641 + timestamp: 1738195959188 +- pypi: https://files.pythonhosted.org/packages/79/d8/a4638485d17e5a236a7f8687a63229b4cc4737d018d8f8bdf18983419d5b/ndindex-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: ndindex + version: 1.10.0 + sha256: 6a8c9f85a1d6497a1fc3a8ac7faf64eef600f95d4330566ae7468e59b6da28d7 + requires_dist: + - numpy ; extra == 'arrays' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl + name: nest-asyncio + version: 1.6.0 + sha256: 87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c + requires_python: '>=3.5' +- pypi: https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: numba + version: 0.62.1 + sha256: 604059730c637c7885386521bb1b0ddcbc91fd56131a6dcc54163d6f1804c872 + requires_dist: + - llvmlite>=0.45.0.dev0,<0.46 + - numpy>=1.22,<2.4 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/4c/1a/edbe839109518364ac0bd9e918cf874c755bb2c128040e920f198c494263/numexpr-2.14.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: numexpr + version: 2.14.1 + sha256: 2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6 + requires_dist: + - numpy>=1.23.0 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: numpy + version: 1.26.4 + sha256: 666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549 + md5: 14edad12b59ccbfa3910d42c72adc2a0 + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 3119624 + timestamp: 1759324353651 +- pypi: https://files.pythonhosted.org/packages/bb/6a/e5bf7b70883f374710ad74faf99bacfc4b5b5a7797c1d5e130350e0e28a3/orjson-3.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: orjson + version: 3.11.3 + sha256: f9d4a5e041ae435b815e568537755773d05dac031fee6a57b4ba70897a44d9d2 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl + name: packaging + version: '25.0' + sha256: 29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: pandas + version: 2.3.3 + sha256: b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b + requires_dist: + - numpy>=1.22.4 ; python_full_version < '3.11' + - numpy>=1.23.2 ; python_full_version == '3.11.*' + - numpy>=1.26.0 ; python_full_version >= '3.12' + - python-dateutil>=2.8.2 + - pytz>=2020.1 + - tzdata>=2022.7 + - hypothesis>=6.46.1 ; extra == 'test' + - pytest>=7.3.2 ; extra == 'test' + - pytest-xdist>=2.2.0 ; extra == 'test' + - pyarrow>=10.0.1 ; extra == 'pyarrow' + - bottleneck>=1.3.6 ; extra == 'performance' + - numba>=0.56.4 ; extra == 'performance' + - numexpr>=2.8.4 ; extra == 'performance' + - scipy>=1.10.0 ; extra == 'computation' + - xarray>=2022.12.0 ; extra == 'computation' + - fsspec>=2022.11.0 ; extra == 'fss' + - s3fs>=2022.11.0 ; extra == 'aws' + - gcsfs>=2022.11.0 ; extra == 'gcp' + - pandas-gbq>=0.19.0 ; extra == 'gcp' + - odfpy>=1.4.1 ; extra == 'excel' + - openpyxl>=3.1.0 ; extra == 'excel' + - python-calamine>=0.1.7 ; extra == 'excel' + - pyxlsb>=1.0.10 ; extra == 'excel' + - xlrd>=2.0.1 ; extra == 'excel' + - xlsxwriter>=3.0.5 ; extra == 'excel' + - pyarrow>=10.0.1 ; extra == 'parquet' + - pyarrow>=10.0.1 ; extra == 'feather' + - tables>=3.8.0 ; extra == 'hdf5' + - pyreadstat>=1.2.0 ; extra == 'spss' + - sqlalchemy>=2.0.0 ; extra == 'postgresql' + - psycopg2>=2.9.6 ; extra == 'postgresql' + - adbc-driver-postgresql>=0.8.0 ; extra == 'postgresql' + - sqlalchemy>=2.0.0 ; extra == 'mysql' + - pymysql>=1.0.2 ; extra == 'mysql' + - sqlalchemy>=2.0.0 ; extra == 'sql-other' + - adbc-driver-postgresql>=0.8.0 ; extra == 'sql-other' + - adbc-driver-sqlite>=0.8.0 ; extra == 'sql-other' + - beautifulsoup4>=4.11.2 ; extra == 'html' + - html5lib>=1.1 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'xml' + - matplotlib>=3.6.3 ; extra == 'plot' + - jinja2>=3.1.2 ; extra == 'output-formatting' + - tabulate>=0.9.0 ; extra == 'output-formatting' + - pyqt5>=5.15.9 ; extra == 'clipboard' + - qtpy>=2.3.0 ; extra == 'clipboard' + - zstandard>=0.19.0 ; extra == 'compression' + - dataframe-api-compat>=0.1.7 ; extra == 'consortium-standard' + - adbc-driver-postgresql>=0.8.0 ; extra == 'all' + - adbc-driver-sqlite>=0.8.0 ; extra == 'all' + - beautifulsoup4>=4.11.2 ; extra == 'all' + - bottleneck>=1.3.6 ; extra == 'all' + - dataframe-api-compat>=0.1.7 ; extra == 'all' + - fastparquet>=2022.12.0 ; extra == 'all' + - fsspec>=2022.11.0 ; extra == 'all' + - gcsfs>=2022.11.0 ; extra == 'all' + - html5lib>=1.1 ; extra == 'all' + - hypothesis>=6.46.1 ; extra == 'all' + - jinja2>=3.1.2 ; extra == 'all' + - lxml>=4.9.2 ; extra == 'all' + - matplotlib>=3.6.3 ; extra == 'all' + - numba>=0.56.4 ; extra == 'all' + - numexpr>=2.8.4 ; extra == 'all' + - odfpy>=1.4.1 ; extra == 'all' + - openpyxl>=3.1.0 ; extra == 'all' + - pandas-gbq>=0.19.0 ; extra == 'all' + - psycopg2>=2.9.6 ; extra == 'all' + - pyarrow>=10.0.1 ; extra == 'all' + - pymysql>=1.0.2 ; extra == 'all' + - pyqt5>=5.15.9 ; extra == 'all' + - pyreadstat>=1.2.0 ; extra == 'all' + - pytest>=7.3.2 ; extra == 'all' + - pytest-xdist>=2.2.0 ; extra == 'all' + - python-calamine>=0.1.7 ; extra == 'all' + - pyxlsb>=1.0.10 ; extra == 'all' + - qtpy>=2.3.0 ; extra == 'all' + - scipy>=1.10.0 ; extra == 'all' + - s3fs>=2022.11.0 ; extra == 'all' + - sqlalchemy>=2.0.0 ; extra == 'all' + - tables>=3.8.0 ; extra == 'all' + - tabulate>=0.9.0 ; extra == 'all' + - xarray>=2022.12.0 ; extra == 'all' + - xlrd>=2.0.1 ; extra == 'all' + - xlsxwriter>=3.0.5 ; extra == 'all' + - zstandard>=0.19.0 ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl + name: parso + version: 0.8.5 + sha256: 646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887 + requires_dist: + - pytest ; extra == 'testing' + - docopt ; extra == 'testing' + - flake8==5.0.4 ; extra == 'qa' + - mypy==0.971 ; extra == 'qa' + - types-setuptools==67.2.0.1 ; extra == 'qa' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + name: partd + version: 1.4.2 + sha256: 978e4ac767ec4ba5b86c6eaa52e5a2a3bc748a2ca839e8cc798f1cc6ce6efb0f + requires_dist: + - locket + - toolz + - numpy>=1.20.0 ; extra == 'complete' + - pandas>=1.3 ; extra == 'complete' + - pyzmq ; extra == 'complete' + - blosc ; extra == 'complete' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl + name: pexpect + version: 4.9.0 + sha256: 7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 + requires_dist: + - ptyprocess>=0.5 +- pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + name: platformdirs + version: 4.5.0 + sha256: e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3 + requires_dist: + - furo>=2025.9.25 ; extra == 'docs' + - proselint>=0.14 ; extra == 'docs' + - sphinx-autodoc-typehints>=3.2 ; extra == 'docs' + - sphinx>=8.2.3 ; extra == 'docs' + - appdirs==1.4.4 ; extra == 'test' + - covdefaults>=2.3 ; extra == 'test' + - pytest-cov>=7 ; extra == 'test' + - pytest-mock>=3.15.1 ; extra == 'test' + - pytest>=8.4.2 ; extra == 'test' + - mypy>=1.18.2 ; extra == 'type' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl + name: prompt-toolkit + version: 3.0.52 + sha256: 9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 + requires_dist: + - wcwidth + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: psutil + version: 7.1.1 + sha256: 92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2 + requires_dist: + - pytest ; extra == 'dev' + - pytest-instafail ; extra == 'dev' + - pytest-subtests ; extra == 'dev' + - pytest-xdist ; extra == 'dev' + - setuptools ; extra == 'dev' + - abi3audit ; extra == 'dev' + - black ; extra == 'dev' + - check-manifest ; extra == 'dev' + - coverage ; extra == 'dev' + - packaging ; extra == 'dev' + - pylint ; extra == 'dev' + - pyperf ; extra == 'dev' + - pypinfo ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - requests ; extra == 'dev' + - rstcheck ; extra == 'dev' + - ruff ; extra == 'dev' + - sphinx ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - toml-sort ; extra == 'dev' + - twine ; extra == 'dev' + - validate-pyproject[all] ; extra == 'dev' + - virtualenv ; extra == 'dev' + - vulture ; extra == 'dev' + - wheel ; extra == 'dev' + - pyreadline ; os_name == 'nt' and extra == 'dev' + - pywin32 ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' + - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' + - wmi ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' + - pytest ; extra == 'test' + - pytest-instafail ; extra == 'test' + - pytest-subtests ; extra == 'test' + - pytest-xdist ; extra == 'test' + - setuptools ; extra == 'test' + - pywin32 ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' + - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' + - wmi ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl + name: ptyprocess + version: 0.7.0 + sha256: 4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 +- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl + name: pure-eval + version: 0.2.3 + sha256: 1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 + requires_dist: + - pytest ; extra == 'tests' +- pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl + name: py-cpuinfo + version: 9.0.0 + sha256: 859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5 +- pypi: https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl + name: pyarrow + version: 21.0.0 + sha256: 40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569 + requires_dist: + - pytest ; extra == 'test' + - hypothesis ; extra == 'test' + - cffi ; extra == 'test' + - pytz ; extra == 'test' + - pandas ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/a1/6b/83661fa77dcefa195ad5f8cd9af3d1a7450fd57cc883ad04d65446ac2029/pydantic-2.12.3-py3-none-any.whl + name: pydantic + version: 2.12.3 + sha256: 6986454a854bc3bc6e5443e1369e06a3a456af9d339eda45510f517d9ea5c6bf + requires_dist: + - annotated-types>=0.6.0 + - pydantic-core==2.41.4 + - typing-extensions>=4.14.1 + - typing-inspection>=0.4.2 + - email-validator>=2.0.0 ; extra == 'email' + - tzdata ; python_full_version >= '3.9' and sys_platform == 'win32' and extra == 'timezone' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pydantic-core + version: 2.41.4 + sha256: 6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8 + requires_dist: + - typing-extensions>=4.14.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl + name: pydantic-settings + version: 2.11.0 + sha256: fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c + requires_dist: + - pydantic>=2.7.0 + - python-dotenv>=0.21.0 + - typing-inspection>=0.4.0 + - boto3-stubs[secretsmanager] ; extra == 'aws-secrets-manager' + - boto3>=1.35.0 ; extra == 'aws-secrets-manager' + - azure-identity>=1.16.0 ; extra == 'azure-key-vault' + - azure-keyvault-secrets>=4.8.0 ; extra == 'azure-key-vault' + - google-cloud-secret-manager>=2.23.1 ; extra == 'gcp-secret-manager' + - tomli>=2.0.1 ; extra == 'toml' + - pyyaml>=6.0.1 ; extra == 'yaml' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl + name: pygments + version: 2.19.2 + sha256: 86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b + requires_dist: + - colorama>=0.4.6 ; extra == 'windows-terminal' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/b4/8c/4065950f9d013c4b2e588fe33cf04e564c2322842d84dbcbce5ba1dc28b0/PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl + name: pyqt5 + version: 5.15.11 + sha256: cd672a6738d1ae33ef7d9efa8e6cb0a1525ecf53ec86da80a9e1b6ec38c8d0f1 + requires_dist: + - pyqt5-sip>=12.15,<13 + - pyqt5-qt5>=5.15.2,<5.16.0 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/ac/e1/13d25a9ff2ac236a264b4603abaa39fa8bb9a7aa430519bb5f545c5b008d/PyQt5_Qt5-5.15.17-py3-none-manylinux2014_x86_64.whl + name: pyqt5-qt5 + version: 5.15.17 + sha256: b018f75d1cc61146396fa5af14da1db77c5d6318030e5e366f09ffdf7bd358d8 +- pypi: https://files.pythonhosted.org/packages/dc/b2/330f97434b21fbc99ab16f6ce71358ff5ea1bf1f09ed14dfe6b28b5ed8f5/pyqt5_sip-12.17.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl + name: pyqt5-sip + version: 12.17.1 + sha256: 155cf755266c8bf64428916e2ff720d5efa1aec003d4ccc40c003b147dbdac03 + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda + build_number: 1 + sha256: 464f998e406b645ba34771bb53a0a7c2734e855ee78dd021aa4dedfdb65659b7 + md5: 8d14fc2aa12db370a443753c8230be1e + depends: + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libffi >=3.4,<4.0a0 + - libgcc-ng >=12 + - libnsl >=2.0.0,<2.1.0a0 + - libsqlite >=3.40.0,<4.0a0 + - libuuid >=2.32.1,<3.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ncurses >=6.3,<7.0a0 + - openssl >=3.0.7,<4.0a0 + - readline >=8.1.2,<9.0a0 + - tk >=8.6.12,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + purls: [] + size: 31476523 + timestamp: 1673700777998 +- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + name: python-dateutil + version: 2.9.0.post0 + sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + requires_dist: + - six>=1.5 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' +- pypi: https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl + name: python-dotenv + version: 1.1.1 + sha256: 31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc + requires_dist: + - click>=5.0 ; extra == 'cli' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl + name: pytz + version: '2025.2' + sha256: 5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00 +- pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pyyaml + version: 6.0.3 + sha256: b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + name: pyzmq + version: 27.1.0 + sha256: 5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e + requires_dist: + - cffi ; implementation_name == 'pypy' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/97/d2/3cb0980a6a4a2581facc4d47b2e7d99912a1f7065407f007f27419e19979/qtconsole-5.7.0-py3-none-any.whl + name: qtconsole + version: 5.7.0 + sha256: 42ff0734269a77129097131ce96059f97dc864e6e061d7ed919609ccfe18dd22 + requires_dist: + - traitlets!=5.2.1,!=5.2.2 + - jupyter-core + - jupyter-client>=4.1 + - pygments + - ipykernel>=4.1 + - ipython-pygments-lexers + - qtpy>=2.4.0 + - packaging + - flaky ; extra == 'test' + - pytest ; extra == 'test' + - pytest-qt ; extra == 'test' + - pytest-asyncio ; extra == 'test' + - sphinx>=1.3 ; extra == 'doc' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl + name: qtpy + version: 2.4.3 + sha256: 72095afe13673e017946cc258b8d5da43314197b741ed2890e563cf384b51aa1 + requires_dist: + - packaging + - pytest>=6,!=7.0.0,!=7.0.1 ; extra == 'test' + - pytest-cov>=3.0.0 ; extra == 'test' + - pytest-qt ; extra == 'test' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c + md5: 283b96675859b20a825f8fa30f311446 + depends: + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 282480 + timestamp: 1740379431762 +- pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl + name: referencing + version: 0.37.0 + sha256: 381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 + requires_dist: + - attrs>=22.2.0 + - rpds-py>=0.7.0 + - typing-extensions>=4.4.0 ; python_full_version < '3.13' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl + name: requests + version: 2.32.5 + sha256: 2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 + requires_dist: + - charset-normalizer>=2,<4 + - idna>=2.5,<4 + - urllib3>=1.21.1,<3 + - certifi>=2017.4.17 + - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks' + - chardet>=3.0.2,<6 ; extra == 'use-chardet-on-py3' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl + name: rich + version: 14.2.0 + sha256: 76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd + requires_dist: + - ipywidgets>=7.5.1,<9 ; extra == 'jupyter' + - markdown-it-py>=2.2.0 + - pygments>=2.13.0,<3.0.0 + requires_python: '>=3.8.0' +- pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: rpds-py + version: 0.28.0 + sha256: ac9f83e7b326a3f9ec3ef84cda98fb0a74c7159f33e692032233046e7fd15da2 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl + name: shellingham + version: 1.5.4 + sha256: 7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + name: six + version: 1.17.0 + sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' +- pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl + name: sniffio + version: 1.3.1 + sha256: 2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl + name: sparse + version: 0.17.0 + sha256: 1922d1d97f692b1061c4f03a1dd6ee21850aedc88e171aa845715f5069952f18 + requires_dist: + - numpy>=1.17 + - numba>=0.49 + - mkdocs-material ; extra == 'docs' + - mkdocstrings[python] ; extra == 'docs' + - mkdocs-gen-files ; extra == 'docs' + - mkdocs-literate-nav ; extra == 'docs' + - mkdocs-section-index ; extra == 'docs' + - mkdocs-jupyter ; extra == 'docs' + - sparse[extras] ; extra == 'docs' + - dask[array] ; extra == 'extras' + - sparse[finch] ; extra == 'extras' + - scipy ; extra == 'extras' + - scikit-learn ; extra == 'extras' + - networkx ; extra == 'extras' + - sparse[extras] ; extra == 'tests' + - pytest>=3.5 ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - pytest-xdist ; extra == 'tests' + - pre-commit ; extra == 'tests' + - pytest-codspeed ; extra == 'tests' + - sparse[tests] ; extra == 'tox' + - tox ; extra == 'tox' + - sparse[tests] ; extra == 'notebooks' + - nbmake ; extra == 'notebooks' + - matplotlib ; extra == 'notebooks' + - sparse[docs,mlir,notebooks,tox] ; extra == 'all' + - matrepr ; extra == 'all' + - finch-tensor>=0.2.12 ; extra == 'finch' + - finch-mlir>=0.0.2 ; extra == 'mlir' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl + name: stack-data + version: 0.6.3 + sha256: d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 + requires_dist: + - executing>=1.2.0 + - asttokens>=2.1.0 + - pure-eval + - pytest ; extra == 'tests' + - typeguard ; extra == 'tests' + - pygments ; extra == 'tests' + - littleutils ; extra == 'tests' + - cython ; extra == 'tests' +- pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl + name: stamina + version: 25.1.0 + sha256: c08291da540e6f4243c20f7ee98f0ed0ac9101d639803c481a029b56d7e9b45d + requires_dist: + - tenacity + - typing-extensions ; python_full_version < '3.10' + - anyio ; extra == 'dev' + - dirty-equals ; extra == 'dev' + - mypy>=1.4 ; extra == 'dev' + - nox>=2024.3.2 ; extra == 'dev' + - prometheus-client ; extra == 'dev' + - pytest ; extra == 'dev' + - structlog ; extra == 'dev' + - tomli ; python_full_version < '3.11' and extra == 'dev' + - trio ; extra == 'dev' + - uv ; extra == 'dev' + - furo ; extra == 'docs' + - myst-parser ; extra == 'docs' + - prometheus-client ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx-notfound-page ; extra == 'docs' + - sphinx>=7.2.2 ; extra == 'docs' + - structlog ; extra == 'docs' + - anyio ; extra == 'tests' + - dirty-equals ; extra == 'tests' + - pytest ; extra == 'tests' + - mypy>=1.4 ; extra == 'typing' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl + name: tenacity + version: 9.1.2 + sha256: f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138 + requires_dist: + - reno ; extra == 'doc' + - sphinx ; extra == 'doc' + - pytest ; extra == 'test' + - tornado>=4.5 ; extra == 'test' + - typeguard ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/81/a4/33a94f5755ec15c49de5f29e7dac3da91943b89e45c44ad6a2431904f987/tiled-0.1.6-py3-none-any.whl + name: tiled + version: 0.1.6 + sha256: d0421f3413ef6c75ee32c1bfc892b3b822e62ef597c5203870047b6240eaf53f + requires_dist: + - httpx>=0.20.0,!=0.23.1 + - json-merge-patch + - jsonpatch + - jsonschema + - msgpack>=1.0.0 + - orjson + - platformdirs + - pydantic-settings>=2,<3 + - pydantic>=2,<3 + - pyyaml + - typer + - adbc-driver-manager ; extra == 'all' + - adbc-driver-postgresql ; extra == 'all' + - adbc-driver-sqlite ; extra == 'all' + - aiofiles ; extra == 'all' + - aiosqlite ; extra == 'all' + - alembic ; extra == 'all' + - anyio ; extra == 'all' + - asgi-correlation-id ; extra == 'all' + - asyncpg ; extra == 'all' + - awkward>=2.4.3 ; extra == 'all' + - blosc2 ; python_full_version >= '3.10' and extra == 'all' + - cachetools ; extra == 'all' + - canonicaljson ; extra == 'all' + - dask ; extra == 'all' + - dask[array] ; extra == 'all' + - dask[dataframe] ; extra == 'all' + - duckdb<1.4.0 ; extra == 'all' + - entrypoints ; extra == 'all' + - fastapi>=0.115.8 ; extra == 'all' + - h5netcdf ; extra == 'all' + - h5py ; extra == 'all' + - hdf5plugin ; extra == 'all' + - jinja2 ; extra == 'all' + - jmespath ; extra == 'all' + - lz4 ; extra == 'all' + - ndindex ; extra == 'all' + - numba>=0.59.0 ; extra == 'all' + - numcodecs ; extra == 'all' + - numpy ; extra == 'all' + - openpyxl ; extra == 'all' + - packaging ; extra == 'all' + - pandas ; extra == 'all' + - pillow ; extra == 'all' + - prometheus-client ; extra == 'all' + - pyarrow>=14.0.1 ; extra == 'all' + - python-dateutil ; extra == 'all' + - python-jose[cryptography] ; extra == 'all' + - python-multipart ; extra == 'all' + - redis ; extra == 'all' + - rich ; extra == 'all' + - sparse>=0.15.5 ; extra == 'all' + - sqlalchemy[asyncio]>=2 ; extra == 'all' + - stamina ; extra == 'all' + - starlette>=0.38.0 ; extra == 'all' + - tifffile ; extra == 'all' + - uvicorn[standard] ; extra == 'all' + - watchfiles ; extra == 'all' + - xarray ; extra == 'all' + - zarr ; extra == 'all' + - zstandard ; extra == 'all' + - dask[array] ; extra == 'array' + - numpy ; extra == 'array' + - awkward>=2.4.3 ; extra == 'client' + - blosc2 ; python_full_version >= '3.10' and extra == 'client' + - dask[array] ; extra == 'client' + - dask[dataframe] ; extra == 'client' + - entrypoints ; extra == 'client' + - lz4 ; extra == 'client' + - ndindex ; extra == 'client' + - numba>=0.59.0 ; extra == 'client' + - numpy ; extra == 'client' + - pandas ; extra == 'client' + - pyarrow>=14.0.1 ; extra == 'client' + - rich ; extra == 'client' + - sparse>=0.15.5 ; extra == 'client' + - stamina ; extra == 'client' + - watchfiles ; extra == 'client' + - websockets ; extra == 'client' + - xarray ; extra == 'client' + - zstandard ; extra == 'client' + - blosc2 ; python_full_version >= '3.10' and extra == 'compression' + - lz4 ; extra == 'compression' + - zstandard ; extra == 'compression' + - dask[dataframe] ; extra == 'dataframe' + - pandas ; extra == 'dataframe' + - pyarrow>=14.0.1 ; extra == 'dataframe' + - aiohttp ; extra == 'dev' + - coverage ; extra == 'dev' + - flake8 ; extra == 'dev' + - importlib-resources ; python_full_version < '3.9' and extra == 'dev' + - ipython ; extra == 'dev' + - ldap3 ; extra == 'dev' + - locust ; extra == 'dev' + - matplotlib ; extra == 'dev' + - mistune ; extra == 'dev' + - myst-parser ; extra == 'dev' + - numpydoc ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-asyncio ; extra == 'dev' + - pytest-mock ; extra == 'dev' + - pytest-rerunfailures ; extra == 'dev' + - sphinx!=4.1.0,!=4.1.1,!=4.1.2,!=4.2.0 ; extra == 'dev' + - sphinx-click ; extra == 'dev' + - sphinx-copybutton ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - sphinxcontrib-mermaid ; extra == 'dev' + - h5netcdf ; extra == 'formats' + - h5py ; extra == 'formats' + - hdf5plugin ; extra == 'formats' + - openpyxl ; extra == 'formats' + - pillow ; extra == 'formats' + - tifffile ; extra == 'formats' + - entrypoints ; extra == 'minimal-client' + - rich ; extra == 'minimal-client' + - stamina ; extra == 'minimal-client' + - watchfiles ; extra == 'minimal-client' + - websockets ; extra == 'minimal-client' + - aiofiles ; extra == 'minimal-server' + - aiosqlite ; extra == 'minimal-server' + - alembic ; extra == 'minimal-server' + - anyio ; extra == 'minimal-server' + - asgi-correlation-id ; extra == 'minimal-server' + - cachetools ; extra == 'minimal-server' + - canonicaljson ; extra == 'minimal-server' + - dask ; extra == 'minimal-server' + - fastapi>=0.115.8 ; extra == 'minimal-server' + - jinja2 ; extra == 'minimal-server' + - jmespath ; extra == 'minimal-server' + - numcodecs ; extra == 'minimal-server' + - packaging ; extra == 'minimal-server' + - prometheus-client ; extra == 'minimal-server' + - python-dateutil ; extra == 'minimal-server' + - python-jose[cryptography] ; extra == 'minimal-server' + - python-multipart ; extra == 'minimal-server' + - redis ; extra == 'minimal-server' + - sqlalchemy[asyncio]>=2 ; extra == 'minimal-server' + - starlette>=0.38.0 ; extra == 'minimal-server' + - uvicorn[standard] ; extra == 'minimal-server' + - zarr ; extra == 'minimal-server' + - adbc-driver-manager ; extra == 'server' + - adbc-driver-postgresql ; extra == 'server' + - adbc-driver-sqlite ; extra == 'server' + - aiofiles ; extra == 'server' + - aiosqlite ; extra == 'server' + - alembic ; extra == 'server' + - anyio ; extra == 'server' + - asgi-correlation-id ; extra == 'server' + - asyncpg ; extra == 'server' + - awkward>=2.4.3 ; extra == 'server' + - blosc2 ; python_full_version >= '3.10' and extra == 'server' + - cachetools ; extra == 'server' + - canonicaljson ; extra == 'server' + - dask ; extra == 'server' + - dask[array] ; extra == 'server' + - dask[dataframe] ; extra == 'server' + - duckdb<1.4.0 ; extra == 'server' + - entrypoints ; extra == 'server' + - fastapi>=0.115.8 ; extra == 'server' + - h5netcdf ; extra == 'server' + - h5py ; extra == 'server' + - hdf5plugin ; extra == 'server' + - jinja2 ; extra == 'server' + - jmespath ; extra == 'server' + - lz4 ; extra == 'server' + - ndindex ; extra == 'server' + - numba>=0.59.0 ; extra == 'server' + - numcodecs ; extra == 'server' + - numpy ; extra == 'server' + - openpyxl ; extra == 'server' + - packaging ; extra == 'server' + - pandas ; extra == 'server' + - pillow ; extra == 'server' + - prometheus-client ; extra == 'server' + - pyarrow>=14.0.1 ; extra == 'server' + - python-dateutil ; extra == 'server' + - python-jose[cryptography] ; extra == 'server' + - python-multipart ; extra == 'server' + - redis ; extra == 'server' + - sparse>=0.15.5 ; extra == 'server' + - sqlalchemy[asyncio]>=2 ; extra == 'server' + - stamina ; extra == 'server' + - starlette>=0.38.0 ; extra == 'server' + - tifffile ; extra == 'server' + - uvicorn[standard] ; extra == 'server' + - websockets ; extra == 'server' + - xarray ; extra == 'server' + - zarr ; extra == 'server' + - zstandard ; extra == 'server' + - ndindex ; extra == 'sparse' + - numba>=0.59.0 ; extra == 'sparse' + - pyarrow>=14.0.1 ; extra == 'sparse' + - sparse>=0.15.5 ; extra == 'sparse' + - dask[array] ; extra == 'xarray' + - pandas ; extra == 'xarray' + - pyarrow ; extra == 'xarray' + - xarray ; extra == 'xarray' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1 + md5: a0116df4f4ed05c303811a837d5b39d8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: TCL + license_family: BSD + purls: [] + size: 3285204 + timestamp: 1748387766691 +- pypi: https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl + name: tomlkit + version: 0.13.3 + sha256: c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl + name: toolz + version: 1.1.0 + sha256: 15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: tornado + version: 6.5.2 + sha256: e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl + name: traitlets + version: 5.14.3 + sha256: b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f + requires_dist: + - myst-parser ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - sphinx ; extra == 'docs' + - argcomplete>=3.0.3 ; extra == 'test' + - mypy>=1.7.0 ; extra == 'test' + - pre-commit ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-mypy-testing ; extra == 'test' + - pytest>=7.0,<8.2 ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl + name: typer + version: 0.20.0 + sha256: 5b463df6793ec1dca6213a3cf4c0f03bc6e322ac5e16e13ddd622a889489784a + requires_dist: + - click>=8.0.0 + - typing-extensions>=3.7.4.3 + - shellingham>=1.3.0 + - rich>=10.11.0 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl + name: typing-extensions + version: 4.15.0 + sha256: f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl + name: typing-inspection + version: 0.4.2 + sha256: 4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7 + requires_dist: + - typing-extensions>=4.12.0 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl + name: tzdata + version: '2025.2' + sha256: 1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8 + requires_python: '>=2' +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192 + md5: 4222072737ccff51314b5ece9c7d6f5a + license: LicenseRef-Public-Domain + purls: [] + size: 122968 + timestamp: 1742727099393 +- pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + name: tzlocal + version: 5.3.1 + sha256: eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d + requires_dist: + - tzdata ; sys_platform == 'win32' + - pytest>=4.3 ; extra == 'devenv' + - pytest-mock>=3.3 ; extra == 'devenv' + - pytest-cov ; extra == 'devenv' + - check-manifest ; extra == 'devenv' + - zest-releaser ; extra == 'devenv' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl + name: urllib3 + version: 2.5.0 + sha256: e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc + requires_dist: + - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' + - h2>=4,<5 ; extra == 'h2' + - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' + - zstandard>=0.18.0 ; extra == 'zstd' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: watchfiles + version: 1.1.1 + sha256: aebfd0861a83e6c3d1110b78ad54704486555246e542be3e2bb94195eabb2606 + requires_dist: + - anyio>=3.0.0 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl + name: wcwidth + version: 0.2.14 + sha256: a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1 + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: websockets + version: 15.0.1 + sha256: 8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl + name: xarray + version: 2025.10.1 + sha256: a4e699433b87a7fac340951bc36648645eeef72bdd915ff055ac2fd99865a73d + requires_dist: + - numpy>=1.26 + - packaging>=24.1 + - pandas>=2.2 + - scipy>=1.13 ; extra == 'accel' + - bottleneck ; extra == 'accel' + - numbagg>=0.8 ; extra == 'accel' + - numba>=0.62 ; extra == 'accel' + - flox>=0.9 ; extra == 'accel' + - opt-einsum ; extra == 'accel' + - xarray[accel,etc,io,parallel,viz] ; extra == 'complete' + - netcdf4>=1.6.0 ; extra == 'io' + - h5netcdf ; extra == 'io' + - pydap ; extra == 'io' + - scipy>=1.13 ; extra == 'io' + - zarr>=2.18 ; extra == 'io' + - fsspec ; extra == 'io' + - cftime ; extra == 'io' + - pooch ; extra == 'io' + - sparse>=0.15 ; extra == 'etc' + - dask[complete] ; extra == 'parallel' + - cartopy>=0.23 ; extra == 'viz' + - matplotlib ; extra == 'viz' + - nc-time-axis ; extra == 'viz' + - seaborn ; extra == 'viz' + - pandas-stubs ; extra == 'types' + - scipy-stubs ; extra == 'types' + - types-pyyaml ; extra == 'types' + - types-pygments ; extra == 'types' + - types-colorama ; extra == 'types' + - types-decorator ; extra == 'types' + - types-defusedxml ; extra == 'types' + - types-docutils ; extra == 'types' + - types-networkx ; extra == 'types' + - types-pexpect ; extra == 'types' + - types-psutil ; extra == 'types' + - types-pycurl ; extra == 'types' + - types-openpyxl ; extra == 'types' + - types-python-dateutil ; extra == 'types' + - types-pytz ; extra == 'types' + - types-requests ; extra == 'types' + - types-setuptools ; extra == 'types' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/c0/20/69a0e6058bc5ea74892d089d64dfc3a62ba78917ec5e2cfa70f7c92ba3a5/xmltodict-1.0.2-py3-none-any.whl + name: xmltodict + version: 1.0.2 + sha256: 62d0fddb0dcbc9f642745d8bbf4d81fd17d6dfaec5a15b5c1876300aad92af0d + requires_dist: + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + sha256: 802725371682ea06053971db5b4fb7fbbcaee9cb1804ec688f55e51d74660617 + md5: 68eae977d7d1196d32b636a026dc015d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + - liblzma-devel 5.8.1 hb9d3cd8_2 + - xz-gpl-tools 5.8.1 hbcc6ac9_2 + - xz-tools 5.8.1 hb9d3cd8_2 + license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later + purls: [] + size: 23987 + timestamp: 1749230104359 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + sha256: 840838dca829ec53f1160f3fca6dbfc43f2388b85f15d3e867e69109b168b87b + md5: bf627c16aa26231720af037a2709ab09 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + constrains: + - xz 5.8.1.* + license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later + purls: [] + size: 33911 + timestamp: 1749230090353 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + sha256: 58034f3fca491075c14e61568ad8b25de00cb3ae479de3e69be6d7ee5d3ace28 + md5: 1bad2995c8f1c8075c6c331bf96e46fb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + constrains: + - xz 5.8.1.* + license: 0BSD AND LGPL-2.1-or-later + purls: [] + size: 96433 + timestamp: 1749230076687 +- pypi: https://files.pythonhosted.org/packages/f2/ba/d1b21f3e57469030bd6536b91bb28fedd2511d4e68b5a575f2bdb3a3dbb6/yq-3.4.3-py3-none-any.whl + name: yq + version: 3.4.3 + sha256: 547e34bc3caacce83665fd3429bf7c85f8e8b6b9aaee3f953db1ad716ff3434d + requires_dist: + - pyyaml>=5.3.1 + - xmltodict>=0.11.0 + - tomlkit>=0.11.6 + - argcomplete>=1.8.1 + - coverage ; extra == 'tests' + - wheel ; extra == 'tests' + - build ; extra == 'tests' + - ruff ; extra == 'tests' + - mypy ; extra == 'tests' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl + name: zipp + version: 3.23.0 + sha256: 071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e + requires_dist: + - pytest>=6,!=8.1.* ; extra == 'test' + - jaraco-itertools ; extra == 'test' + - jaraco-functools ; extra == 'test' + - more-itertools ; extra == 'test' + - big-o ; extra == 'test' + - pytest-ignore-flaky ; extra == 'test' + - jaraco-test ; extra == 'test' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest-mypy ; extra == 'type' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: zstandard + version: 0.25.0 + sha256: 9300d02ea7c6506f00e627e287e0492a5eb0371ec1670ae852fefffa6164b072 + requires_dist: + - cffi~=1.17 ; python_full_version < '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' + - cffi>=2.0.0b0 ; python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' + requires_python: '>=3.9' diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 000000000..9131492da --- /dev/null +++ b/pixi.toml @@ -0,0 +1,30 @@ +[project] +name = "tomviz" +authors = [ + "Wei (Celia) Xu ", + "Padraic Shafer ", + "https://github.com/silx-kit/pymca/blob/master/copyright", +] +channels = ["conda-forge"] +description = "NSLS-II development branch for tomviz" +platforms = ["linux-64"] +version = "0.1.0" + +[tasks] +tomviz = "bash ./tomviz.sh" + +[dependencies] +python = "==3.11" + +[pypi-dependencies] +bluesky-tiled-plugins = ">=2.0.0b64, <3" +numpy = "<2" +pydantic = ">=2.7" +pyqt5 = ">=5.15.11, <6" +qtconsole = ">=5.6.1, <6" +tiled = { version = ">=0.1.6", extras = ["client"] } +yq = "*" + +# Intentionally excluded +# Require a package version of tomviz from conda-forge or pixi-build-cmake +# tomviz = { git = "https://github.com/nsls2/tomviz", branch = "master" } From c0b970c3a5ab30899281ccb04a6e1e4d00119ec0 Mon Sep 17 00:00:00 2001 From: celiafish Date: Wed, 5 Nov 2025 17:45:23 -0500 Subject: [PATCH 002/123] update pixi files --- pixi.lock | 5261 ++++++++++++++++++++++++++++++++++++++++++++++++----- pixi.toml | 33 +- 2 files changed, 4808 insertions(+), 486 deletions(-) diff --git a/pixi.lock b/pixi.lock index 258696f75..d1675dbde 100644 --- a/pixi.lock +++ b/pixi.lock @@ -7,158 +7,451 @@ environments: - https://pypi.org/simple packages: linux-64: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-5_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py311h0281608_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports-datetime-fromisoformat-2.0.3-py311h49ec1c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h41a2e66_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hf2c8021_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.22.0-h4cfbee9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cgns-4.5.0-h61aa979_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.2-h59595ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311hdf67eae_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.60.1-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py311h52bc045_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.15.1-nompi_py311h0b2f468_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h6e4c0c1_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2025.8.2-py311h99464e2_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.0-pyhfb79c49_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py311h38be061_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h6395336_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-37_h5875eb1_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h09219d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hd53d788_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h02bd7ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-37_hfef963f_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-hcd61629_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharu-2.4.5-h943b412_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h7f8ec31_1002.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.1-hf08fa70_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-37_h5e43f62_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.5-hf7376ad_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h11f7409_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h421ea60_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.0-h3675c94_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtomo-1.15.3-h1234567_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.0-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-21.1.5-h4922eb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/marshmallow-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py311h0f3be63_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2024.2.2-ha770c72_17.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py311hdf67eae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.5-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-mkl_py311h3762c3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.4-py311h2e04523_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/paraview-6.0.1-py311h7e6dd26_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.0.0-py311h07c5bb8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.0-hb72c0af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyfftw-0.15.1-py311h0372a8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.11-8_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.3-h5c1c036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.25.2-py311hed34c8f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py311h1e13796_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.0-heff268d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.13.0-hb60516a_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2025.1.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomopy-1.15.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tomviz-2.1.2-py311ha338fd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py311h49ec1c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.5.1-py311h0db28e7_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xraylib-4.2.0-py311hd78beb3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.2.5-hde8ca8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/74/f5/9373290775639cb67a2fce7f629a1c240dce9f12fe927bc32b2736e16dfc/argcomplete-3.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/13/ac/19dbba27e891f39feb4170b884da449ee2699ef4ebb88eefeda364bbbbcf/asteval-1.0.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/26/30/7d6b649ed26ac2ac3acc22f0fd3ade5daf48db7dc442b810ca4bf78ab12e/awkward-2.8.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/74/1c/c682df59efcd65ef03d8626055b523dac51729e5168d2eba14057aa80d0a/atom-0.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/89/d3/d8c1876f8397cbffe34242885e5cfc284b0a52d9a774f8ee18515638bfcc/awkward-2.8.10-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/6e/90/a604fcde83951174d9f45dca22798cc808625681fe50853cade06b75d458/awkward_cpp-50-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fc/11/88425763883f1e9e9b4b352e6ea4b9abf705b9fb2323c91f523c6700fe64/blosc2-3.10.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/cd/81/98ecc55f4097041148391753c202715a754fb2f038c8a3ee13df88fbc987/bluesky_tiled_plugins-2.0.0b69-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/d4/ed900b60558767c96ce9c5ed3352589f2316501b5f2e51b19c5efa8bd310/blosc2-3.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/94/23/e6572cf2aca82938c241e02e150e2102f5b04a3f2f82c4720f6838c42a63/bluesky-1.14.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b1/d3/a3e8393cdf6e40e94b3a91ab8afdb010769829b520b2fbfdc4697f31a1c3/bluesky_kafka-0.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/de/8b/65dccc36873290e89c0d1d3c1121f161ff28c37201e0d008cfa664d606b5/bluesky_live-0.0.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/f6/9b5520fba191a728e341ec8a11995915624c519540a2114ba2bcf20f91ac/bluesky_tiled_plugins-2.0.0rc1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/96/c5/1e741d26306c42e2bf6ab740b2202872727e0f606033c9dd713f8b93f5a8/cachetools-6.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/4f/f94ac1b84d2169cf2ebf64353ce98fd743f85d30678059c514d9b3d6644c/compress_pickle-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/b9/5cd5e26e66d2ac0470dd10d21660b18e2e8e201a1a0cba823b7ceba985e7/confluent_kafka-2.12.1-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl - pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/19/f7/a9f95700cf6d59e77d0b8f3191556df0baee8b4a2a76e444e4137a0b801e/databroker-1.2.5-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e6/86/7c764bef28f5183bd67e548c60afb9fe3eb7a6d58eb321b72c4c4d2be021/distributed-2025.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/af/22ad724ba167a6d254aa01f04b7f36c5fc648ff85f04d87d3f82fe6c96ef/doct-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/32/e31e3363bf48ad2ba80b644b01ad9676ce154f1b755950de81eb4ed5b6bd/event_model-1.23.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/17/fa/3859496b47674865d5669175a9e4457c8bc5801704da531101cb79570741/fabio-2025.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ed/2f/1046d464ad1db29a4f6c70ba4e19b39baa8a6542c719eaa4e765108f07f1/hdf5plugin-6.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c3/5b/9512c5fb6c8218332b530f13500c6ff5f3ce3342f35e0dd7be9ac3856fd3/humanize-4.14.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/b9/3fd96e015e69b542219059a7d7e96d21c1216672ff6fc595d9903767c06b/hxntools-0.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f9/59/527c84f1fbb4a65590ad781fe1359a76f450e03f9bc9a6c99c222a8cee84/intake-0.6.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/05/aa/62893d6a591d337aa59dcc4c6f6c842f1fe20cd72c8c5c1f980255243252/ipython-9.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/38/7e/7b91c89a4cf0f543a83be978657afb20c86af6d725253e319589dcc4ce52/lmfit-1.3.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/81/af/665685072e71f3f0e626221b7922867ec249cd8376aca761078c8f11f5da/lz4-4.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/25/3b/b55cb577aa148ed4e383e9700c36f70b651cd434e1c07568f0a86c9d5fbb/lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/d8/a4638485d17e5a236a7f8687a63229b4cc4737d018d8f8bdf18983419d5b/ndindex-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ad/e6/8a63fe24caf89f1006504d913101a112eada32942ce0268e461ff0c84fd9/nslsii-0.11.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/4c/1a/edbe839109518364ac0bd9e918cf874c755bb2c128040e920f198c494263/numexpr-2.14.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/bb/6a/e5bf7b70883f374710ad74faf99bacfc4b5b5a7797c1d5e130350e0e28a3/orjson-3.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b6/0f/49d1f74a216149240c4b9403218111f11670bd11af0919fda357bb056bf2/numcodecs-0.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ae/a2/d86e01c28300bd41bab8f18afd613676e2bd63515417b77636fc1add426f/opentelemetry_api-1.38.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/59/e11136fe6db0b1f3aea14de7bc36122aaa0ca67b715e400d45974b8848be/ophyd-1.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1e/ca/136e837b1bd150c61243c8a6bf4f24694537103b6eebdaee6cd7b70f72e5/ophyd_async-0.13.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b5/18/bf8581eaae0b941b44efe14fee7b7862c3382fbc9a0842132cfc7cf5ecf4/orjson-3.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b8/02/5bf3639f5b77e9b183011c08541c5039ba3d04f5316c70312b48a8e003a9/pims-0.7.tar.gz + - pypi: https://files.pythonhosted.org/packages/05/32/2f6a3e6b073f16f88a133bf50adb361cd714621e582191e03c0705307c8b/pint-0.25.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/42/59/123aee44a039b212cfb8d90be1adf06496a99b313ee1683aadf90b3d9799/progress-1.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/a1/6b/83661fa77dcefa195ad5f8cd9af3d1a7450fd57cc883ad04d65446ac2029/pydantic-2.12.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/f5/e5/53c0a1c428f0976bf22f513d79c73000926cb00b9c138d8e02daf2102e18/pyarrow-22.0.0-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/90/cb/c13d8a74419dde9590ed6fab293b516f68316ac87d06569b79b5f446d519/pydantic_numpy-8.0.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b4/8c/4065950f9d013c4b2e588fe33cf04e564c2322842d84dbcbce5ba1dc28b0/PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/ac/e1/13d25a9ff2ac236a264b4603abaa39fa8bb9a7aa430519bb5f545c5b008d/PyQt5_Qt5-5.15.17-py3-none-manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/dc/b2/330f97434b21fbc99ab16f6ce71358ff5ea1bf1f09ed14dfe6b28b5ed8f5/pyqt5_sip-12.17.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/07/6e/10a8bbefd158d303b88d1075e24370b61c62c48d2d6ed38fa890fd1ec860/pyepics-3.5.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/09/2d/cb95032c097283dfdeab5a4c3d0564d79bd3e45a66dd4a9179f4d8f7cd94/pyfai-2025.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/34/0d/a5271073339ba6fc8a5f4e3a62baaa5dd8bf35246c37b512317e2a22848e/pymongo-4.15.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c4/d4/b10d1219b94576c25c8f7a631c7cfb59fbfcc22ddeae36a668a356650f79/pystackreg-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/b3/abf48b1bf636c11c9c172949ce30a24d319514cc7ef65bada70ed4d7146d/pyxrf-1.0.31-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/97/d2/3cb0980a6a4a2581facc4d47b2e7d99912a1f7065407f007f27419e19979/qtconsole-5.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/99/63/d30abf8b53c6ceaea2e7d8d766363a6a2e6a6b7f2238e3ae56e882a4dc21/redis_json_dict-0.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/45/5d/65a2bc08b709b08576b3f307bf63951ee68a8e047cbbda6f1c9864ecf9a7/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/df/d2/40b114decad4a2a9be2fb8eff0c96c9531ce64250e405d8dd7f37f3805d4/scanspec-0.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c6/20/120fb17186c7349527935a74222cf71af9959d5dded27d37f29bf191f30b/scikit_beam-0.0.27.tar.gz + - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/fb/4c08c29a262f75e60911db0f039e7011f9a2daf1000659cbe5a950737434/silx-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/ae/fa6cd331b364ad2bbc31652d025f5747d89cbb75576733dfdf8efe3e4d62/slicerator-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/79/3d/ce19993849668bdfabf5d473e84bc9b1a2e78d20ab4147a19402a169a7e5/suitcase_msgpack-0.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/79/1f/d09392ccd12ba3b9110b6ba35ca037d538c50a533f083a0ad96aa57e328f/suitcase_utils-0.5.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/cc/099fab5a73909a117e9689c7da4c39a248595187f0f30dd879ad1d2c34ce/tblib-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/81/a4/33a94f5755ec15c49de5f29e7dac3da91943b89e45c44ad6a2431904f987/tiled-0.1.6-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ba/1d/1cb39a116ab11a42657d81cd0d6ef8d084da02ed6f61d5844909b9e0292b/tiled-0.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8f/5e/f1e1dd319e35e962a4e00b33150a8868b6329cc1d19fd533436ba5488f09/uncertainties-3.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c0/20/69a0e6058bc5ea74892d089d64dfc3a62ba78917ec5e2cfa70f7c92ba3a5/xmltodict-1.0.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f2/ba/d1b21f3e57469030bd6536b91bb28fedd2511d4e68b5a575f2bdb3a3dbb6/yq-3.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/62/78/1b04d22a326fe8b7575a5f6cce0ce3bf2d5798f4c1e1d8061dadae113cad/xrf_tomo-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/71/9de7229515a53d1cc5705ca9c411530f711a2242f962214d9dbfe2741aa4/zarr-3.1.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl packages: -- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 - md5: d7c89558ba9fa0495403155b64376d81 - license: None - purls: [] - size: 2562 - timestamp: 1578324546067 -- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - build_number: 16 - sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 - md5: 73aaf86a425cc6e73fcf236a5a46396d - depends: - - _libgcc_mutex 0.1 conda_forge - - libgomp >=7.5.0 - constrains: - - openmp_impl 9999 +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-5_kmp_llvm.conda + build_number: 5 + sha256: 261526e6bc3866db41ad32c6ccfb3694b07fe8a0ab91616a71fa90f8b365154b + md5: af759c8ce5aed7e5453dca614c5bb831 + depends: + - llvm-openmp >=9.0.1 license: BSD-3-Clause license_family: BSD purls: [] - size: 23621 - timestamp: 1650670423406 + size: 8250 + timestamp: 1760488483285 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + sha256: 7842ddc678e77868ba7b92a726b437575b23aaec293bca0d40826f1026d90e27 + md5: 18fd895e0e775622906cdabfc3cf0fb4 + depends: + - python >=3.9 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/aiohappyeyeballs?source=hash-mapping + size: 19750 + timestamp: 1741775303303 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py311h0281608_0.conda + sha256: 224f1d7d909b3d76789b2427006eb130f0f101194bc6f0eff234263f40018770 + md5: 730c505b9f2bbe0e88ef62379b6101fc + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=14 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/aiohttp?source=hash-mapping + size: 1016795 + timestamp: 1761726627781 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + sha256: 8dc149a6828d19bf104ea96382a9d04dae185d4a03cc6beb1bc7b84c428e3ca2 + md5: 421a865222cd0c9d83ff08bc78bf3a61 + depends: + - frozenlist >=1.1.0 + - python >=3.9 + - typing_extensions >=4.2 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/aiosignal?source=hash-mapping + size: 13688 + timestamp: 1751626573984 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + sha256: b9214bc17e89bf2b691fad50d952b7f029f6148f4ac4fe7c60c08f093efdf745 + md5: 76df83c2a9035c54df5d04ff81bcc02d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + license_family: GPL + purls: [] + size: 566531 + timestamp: 1744668655747 - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl name: annotated-types version: 0.7.0 @@ -177,17 +470,34 @@ packages: - typing-extensions>=4.5 ; python_full_version < '3.13' - trio>=0.31.0 ; extra == 'trio' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/74/f5/9373290775639cb67a2fce7f629a1c240dce9f12fe927bc32b2736e16dfc/argcomplete-3.6.3-py3-none-any.whl - name: argcomplete - version: 3.6.3 - sha256: f5007b3a600ccac5d25bbce33089211dfd49eab4a7718da3f10e3082525a92ce +- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + sha256: b08ef033817b5f9f76ce62dfcac7694e7b6b4006420372de22494503decac855 + md5: 346722a0be40f6edc53f12640d301338 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2706396 + timestamp: 1718551242397 +- pypi: https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl + name: appdirs + version: 1.4.4 + sha256: a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +- pypi: https://files.pythonhosted.org/packages/13/ac/19dbba27e891f39feb4170b884da449ee2699ef4ebb88eefeda364bbbbcf/asteval-1.0.6-py3-none-any.whl + name: asteval + version: 1.0.6 + sha256: 5e119ed306e39199fd99c881cea0e306b3f3807f050c9be79829fe274c6378dc requires_dist: + - build ; extra == 'dev' + - twine ; extra == 'dev' + - sphinx ; extra == 'doc' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' - coverage ; extra == 'test' - - mypy ; extra == 'test' - - pexpect ; extra == 'test' - - ruff ; extra == 'test' - - wheel ; extra == 'test' - requires_python: '>=3.8' + - asteval[dev,doc,test] ; extra == 'all' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl name: asttokens version: 3.0.0 @@ -199,15 +509,44 @@ packages: - pytest-cov ; extra == 'test' - pytest-xdist ; extra == 'test' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl - name: attrs - version: 25.4.0 - sha256: adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/26/30/7d6b649ed26ac2ac3acc22f0fd3ade5daf48db7dc442b810ca4bf78ab12e/awkward-2.8.9-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl + name: async-timeout + version: 5.0.1 + sha256: 39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/74/1c/c682df59efcd65ef03d8626055b523dac51729e5168d2eba14057aa80d0a/atom-0.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: atom + version: 0.12.1 + sha256: e65ffdf223e56e0984739db8a412cdef3dec59ba74906c10d3bf602641826f31 + requires_dist: + - typing-extensions ; python_full_version < '3.11' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda + sha256: a9c114cbfeda42a226e2db1809a538929d2f118ef855372293bd188f71711c48 + md5: 791365c5f65975051e4e017b5da3abf5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 68072 + timestamp: 1756738968573 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyh71513ae_0.conda + sha256: f6c3c19fa599a1a856a88db166c318b148cac3ee4851a9905ed8a04eeec79f45 + md5: c7944d55af26b6d2d7629e27e9a972c1 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/attrs?source=hash-mapping + size: 60101 + timestamp: 1759762331492 +- pypi: https://files.pythonhosted.org/packages/89/d3/d8c1876f8397cbffe34242885e5cfc284b0a52d9a774f8ee18515638bfcc/awkward-2.8.10-py3-none-any.whl name: awkward - version: 2.8.9 - sha256: 2129d68a83480074dfae5c829d683d5c579f1a2aa858d85d65dc05e333a1fb50 + version: 2.8.10 + sha256: 2099e9e1204ada8745cc19d642b3da98c7a5adf2adca4d8a6909b309f1d88042 requires_dist: - awkward-cpp==50 - fsspec>=2022.11.0 @@ -223,10 +562,40 @@ packages: requires_dist: - numpy>=1.18.0 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/fc/11/88425763883f1e9e9b4b352e6ea4b9abf705b9fb2323c91f523c6700fe64/blosc2-3.10.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports-datetime-fromisoformat-2.0.3-py311h49ec1c0_1.conda + sha256: f15b65f99aebb4d958488a13b591dd529f86338e64b336ed84d4d58a23d35f2a + md5: 46eb7430b3227b9b6383be445575b02f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + purls: + - pkg:pypi/backports-datetime-fromisoformat?source=hash-mapping + size: 32765 + timestamp: 1755766035554 +- conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d + md5: 2c2fae981fd2afd00812c92ac47d023d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 48427 + timestamp: 1733513201413 +- pypi: https://files.pythonhosted.org/packages/be/d4/ed900b60558767c96ce9c5ed3352589f2316501b5f2e51b19c5efa8bd310/blosc2-3.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: blosc2 - version: 3.10.2 - sha256: 716028df199d9f5dfd535cfa43695abffdd72b62ba3ae4c413c87247012402f0 + version: 3.11.0 + sha256: aeef35f0138544de195fd742a667ae81f5437f97847827c70e72f5b55eb3b2fe requires_dist: - numpy>=1.26 - ndindex @@ -262,17 +631,173 @@ packages: - furo ; extra == 'doc' - numba ; extra == 'doc' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/cd/81/98ecc55f4097041148391753c202715a754fb2f038c8a3ee13df88fbc987/bluesky_tiled_plugins-2.0.0b69-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/94/23/e6572cf2aca82938c241e02e150e2102f5b04a3f2f82c4720f6838c42a63/bluesky-1.14.6-py3-none-any.whl + name: bluesky + version: 1.14.6 + sha256: 8f24e02a2503d7cc895edb34f3917d1725ac143751dfcd50096a067b833c8bd3 + requires_dist: + - cycler + - event-model>=1.23.1 + - historydict + - msgpack + - msgpack-numpy + - numpy + - opentelemetry-api + - toolz + - tqdm>=4.44 + - typing-extensions>=4.10.0 + - attrs ; extra == 'dev' + - cloudpickle ; extra == 'dev' + - copier ; extra == 'dev' + - coverage ; extra == 'dev' + - databroker ; extra == 'dev' + - doct ; extra == 'dev' + - doctr ; extra == 'dev' + - flake8 ; extra == 'dev' + - ipython ; extra == 'dev' + - ipywidgets ; extra == 'dev' + - jinja2 ; extra == 'dev' + - lmfit ; extra == 'dev' + - matplotlib>=3.5.0 ; extra == 'dev' + - mongoquery ; extra == 'dev' + - multiprocess ; extra == 'dev' + - mypy ; extra == 'dev' + - myst-parser ; extra == 'dev' + - networkx ; extra == 'dev' + - numpydoc ; extra == 'dev' + - ophyd ; extra == 'dev' + - orjson ; extra == 'dev' + - packaging ; extra == 'dev' + - pandas ; extra == 'dev' + - pickleshare ; extra == 'dev' + - pipdeptree ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pydata-sphinx-theme>=0.12 ; extra == 'dev' + - pyepics<=3.5.2 ; python_full_version < '3.9' and extra == 'dev' + - pyepics ; python_full_version >= '3.9' and extra == 'dev' + - pyqt5 ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-faulthandler ; extra == 'dev' + - pyyaml ; extra == 'dev' + - pyzmq ; extra == 'dev' + - requests ; extra == 'dev' + - ruff ; extra == 'dev' + - scikit-image ; extra == 'dev' + - scipy ; extra == 'dev' + - sphinx<7.3 ; extra == 'dev' + - sphinx-autobuild ; extra == 'dev' + - sphinx-copybutton ; extra == 'dev' + - sphinx-design ; extra == 'dev' + - sphinxcontrib-mermaid ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - streamz ; extra == 'dev' + - suitcase-jsonl ; extra == 'dev' + - suitcase-mongo ; extra == 'dev' + - suitcase-msgpack ; extra == 'dev' + - tifffile ; extra == 'dev' + - tox-direct ; extra == 'dev' + - types-mock ; extra == 'dev' + - tiled[all] ; extra == 'dev' + - vendoring ; extra == 'dev' + - zict ; extra == 'dev' + - ipython ; extra == 'ipython' + - pyzmq ; extra == 'zmq' + - ophyd ; extra == 'common' + - databroker ; extra == 'common' + - doct ; extra == 'tools' + - lmfit ; extra == 'tools' + - tifffile ; extra == 'tools' + - historydict ; extra == 'tools' + - streamz ; extra == 'streamz' + - matplotlib ; extra == 'plotting' + - colorama ; extra == 'cmd' + - jinja2 ; extra == 'olog' + - zict<3 ; extra == 'old-persistentdict' + - bluesky[cmd,common,dev,ipython,olog,plotting,streamz,tools,zmq] ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/b1/d3/a3e8393cdf6e40e94b3a91ab8afdb010769829b520b2fbfdc4697f31a1c3/bluesky_kafka-0.10.0-py3-none-any.whl + name: bluesky-kafka + version: 0.10.0 + sha256: 8b82605d61213d9484e68c20a63d03f24246a775b3729fdc3fcb7259ccac5178 + requires_dist: + - bluesky + - confluent-kafka + - msgpack>=1.0.0 + - msgpack-numpy + - suitcase-mongo + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/de/8b/65dccc36873290e89c0d1d3c1121f161ff28c37201e0d008cfa664d606b5/bluesky_live-0.0.8-py3-none-any.whl + name: bluesky-live + version: 0.0.8 + sha256: e861d3513e12fda08a028fcae81d7cf304fee7cb1e54926473839f1040909b02 + requires_dist: + - dask[array]>=2 + - entrypoints + - event-model>=1.16.0 + - numpy + - pandas + - xarray + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/9f/f6/9b5520fba191a728e341ec8a11995915624c519540a2114ba2bcf20f91ac/bluesky_tiled_plugins-2.0.0rc1-py3-none-any.whl name: bluesky-tiled-plugins - version: 2.0.0b69 - sha256: bac21f56dff75a14ba64230f0de0ec8a9fba31af074a07f33ed29cf898f3564a + version: 2.0.0rc1 + sha256: 2f5a89476e991168b037642e7f0e8a80fffb0f6cee09c5e51015ec359194d4eb requires_dist: - dask + - event-model - mongoquery - pytz - - tiled[client]>=0.1.0b23 + - tiled[client]>=0.2.0 - tzlocal + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl + name: boltons + version: 25.0.0 + sha256: dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62 requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h41a2e66_0.conda + sha256: 33239a07f7685917cac25646dd33798ee93e61f83504a0c938d86c507e05d7c9 + md5: 4ddfd44e473c676cb8e80548ba4aa704 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.2.0 hf2c8021_0 + - libbrotlidec 1.2.0 hd53d788_0 + - libbrotlienc 1.2.0 h02bd7ab_0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 19964 + timestamp: 1761592234411 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hf2c8021_0.conda + sha256: b4aa87fa7658c79e9334c607ad399a964ff75ec8241b9b744b8dc8fc84b55dd0 + md5: 5304333319a6124a2737d9f128cbc4ed + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.2.0 hd53d788_0 + - libbrotlienc 1.2.0 h02bd7ab_0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 20993 + timestamp: 1761592224816 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda + sha256: b4831ac06bb65561342cedf3d219cf9b096f20b8d62cda74f0177dffed79d4d5 + md5: 5948f4fead433c6e5c46444dbfb01162 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 168501 + timestamp: 1761758949420 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 md5: 51a19bba1b8ebfb60df25cde030b7ebc @@ -284,6 +809,32 @@ packages: purls: [] size: 260341 timestamp: 1757437258798 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + sha256: f8003bef369f57396593ccd03d08a8e21966157269426f71e943f96e4b579aeb + md5: f7f0d6cc2dc986d42ac2689ec88192be + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 206884 + timestamp: 1744127994291 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.22.0-h4cfbee9_0.conda + sha256: c558bce3c6d1707528a9b54b1af321e3d6968e4db3e5addc9dcb906422026490 + md5: bede98a38485d588b3ec7e4ba2e46532 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.2.5,<2.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 349963 + timestamp: 1761677903850 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda sha256: 3b5ad78b8bb61b6cdc0978a6a99f8dfb2cc789a451378d054698441005ecbdb6 md5: f9e5fbc24009179e8b0409624691758a @@ -293,16 +844,140 @@ packages: purls: [] size: 155907 timestamp: 1759649036195 +- conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + noarch: python + sha256: 561e6660f26c35d137ee150187d89767c988413c978e1b712d53f27ddf70ea17 + md5: 9b347a7ec10940d3f7941ff6c460b551 + depends: + - cached_property >=1.5.2,<1.5.3.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4134 + timestamp: 1615209571450 +- conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + sha256: 6dbf7a5070cc43d90a1e4c2ec0c541c69d8e30a0e25f50ce9f6e4a432e42c5d7 + md5: 576d629e47797577ab0f1b351297ef4a + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cached-property?source=hash-mapping + size: 11065 + timestamp: 1615209567874 +- pypi: https://files.pythonhosted.org/packages/96/c5/1e741d26306c42e2bf6ab740b2202872727e0f606033c9dd713f8b93f5a8/cachetools-6.2.1-py3-none-any.whl + name: cachetools + version: 6.2.1 + sha256: 09868944b6dde876dfd44e1d47e18484541eaf12f26f29b7af91b26cc892d701 + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 + md5: 09262e66b19567aff4f592fb53b28760 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.5,<2.0a0 + - xorg-libx11 >=1.8.11,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + purls: [] + size: 978114 + timestamp: 1741554591855 +- pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl + name: caproto + version: 1.3.0 + sha256: fa623c4a7d7c3537fc41ce023b7c72922b8819ab88bf9abc527e3ac594634180 + requires_dist: + - netifaces ; extra == 'standard' + - numpy ; extra == 'standard' + - dpkt ; extra == 'standard' + - curio>=1.2 ; extra == 'async' + - trio>=0.12.1 ; extra == 'async' + - curio>=1.2 ; extra == 'complete' + - dpkt ; extra == 'complete' + - netifaces ; extra == 'complete' + - numpy ; extra == 'complete' + - trio>=0.12.1 ; extra == 'complete' + - codecov ; extra == 'test' + - coverage ; extra == 'test' + - curio ; extra == 'test' + - curio>=1.2 ; extra == 'test' + - dpkt ; extra == 'test' + - epics-pypdb ; extra == 'test' + - netifaces ; extra == 'test' + - numpy ; extra == 'test' + - ophyd ; extra == 'test' + - parsimonious ; extra == 'test' + - pyepics>=3.4.2 ; extra == 'test' + - pytest ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest-xdist ; extra == 'test' + - trio>=0.18.0 ; extra == 'test' + - trio>=0.12.1 ; extra == 'test' + requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl name: certifi version: 2025.10.5 sha256: 0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/cgns-4.5.0-h61aa979_2.conda + sha256: 38a7ed0604517587c0c46a46dd2a8dda9fb68d0987b0de0ffee9dfb12709fd78 + md5: 806fa24e6a034c464b0e492151ee0d86 + depends: + - __glibc >=2.17,<3.0.a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=13 + - libgfortran + - libgfortran5 >=13.3.0 + - libzlib >=1.3.1,<2.0a0 + license: Zlib + purls: [] + size: 870892 + timestamp: 1749403302553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.2-h59595ed_0.conda + sha256: 18f1c43f91ccf28297f92b094c2c8dbe9c6e8241c0d3cbd6cda014a990660fdd + md5: 4336bd67920dd504cd8c6761d6a99645 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 150272 + timestamp: 1684262827894 - pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: charset-normalizer version: 3.4.4 sha256: 840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + sha256: 324097cd9dde3a4623b0275655ea34641481daa5c1274f9ab994e8a2e6aa26e6 + md5: ddf9fed4661bace13f33f08fe38a5f45 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 98102 + timestamp: 1760975548381 - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl name: click version: 8.3.0 @@ -310,11 +985,23 @@ packages: requires_dist: - colorama ; sys_platform == 'win32' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl name: cloudpickle - version: 3.1.1 - sha256: c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e + version: 3.1.2 + sha256: 9acb47f6afd73f60dc1df93bb801b472f05ff42fa6c84167d25cb206be1fbf4a requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl + name: colorlog + version: 6.10.1 + sha256: 2d7e8348291948af66122cff006c9f8da6255d224e7cf8e37d8de2df3bad8c9c + requires_dist: + - colorama ; sys_platform == 'win32' + - black ; extra == 'development' + - flake8 ; extra == 'development' + - mypy ; extra == 'development' + - pytest ; extra == 'development' + - types-colorama ; extra == 'development' + requires_python: '>=3.6' - pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl name: comm version: 0.2.3 @@ -322,6 +1009,368 @@ packages: requires_dist: - pytest ; extra == 'test' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/f3/4f/f94ac1b84d2169cf2ebf64353ce98fd743f85d30678059c514d9b3d6644c/compress_pickle-2.1.0-py3-none-any.whl + name: compress-pickle + version: 2.1.0 + sha256: 598650da4686d9bd97bee185b61e74d7fe1872bb0c23909d5ed2d8793b4a8818 + requires_dist: + - cloudpickle ; extra == 'cloudpickle' + - dill ; extra == 'dill' + - lz4 ; extra == 'full' + - dill ; extra == 'full' + - cloudpickle ; extra == 'full' + - lz4 ; extra == 'lz4' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/3a/b9/5cd5e26e66d2ac0470dd10d21660b18e2e8e201a1a0cba823b7ceba985e7/confluent_kafka-2.12.1-cp311-cp311-manylinux_2_28_x86_64.whl + name: confluent-kafka + version: 2.12.1 + sha256: 5958feea006c92ac4d5f37cc9b730eb1824a68d7536be7ec274d6841ce0412af + requires_dist: + - attrs>=21.2.0 ; extra == 'schemaregistry' + - cachetools>=5.5.0 ; extra == 'schemaregistry' + - certifi ; extra == 'schemaregistry' + - httpx>=0.26 ; extra == 'schemaregistry' + - authlib>=1.0.0 ; extra == 'schemaregistry' + - attrs>=21.2.0 ; extra == 'schema-registry' + - cachetools>=5.5.0 ; extra == 'schema-registry' + - certifi ; extra == 'schema-registry' + - httpx>=0.26 ; extra == 'schema-registry' + - authlib>=1.0.0 ; extra == 'schema-registry' + - azure-identity ; extra == 'rules' + - azure-keyvault-keys ; extra == 'rules' + - boto3>=1.35 ; extra == 'rules' + - cel-python>=0.4.0 ; extra == 'rules' + - google-auth ; extra == 'rules' + - google-api-core ; extra == 'rules' + - google-cloud-kms ; extra == 'rules' + - hkdf==0.0.3 ; extra == 'rules' + - hvac ; extra == 'rules' + - jsonata-python ; extra == 'rules' + - pyyaml>=6.0.0 ; extra == 'rules' + - tink ; extra == 'rules' + - attrs>=21.2.0 ; extra == 'rules' + - cachetools>=5.5.0 ; extra == 'rules' + - certifi ; extra == 'rules' + - httpx>=0.26 ; extra == 'rules' + - authlib>=1.0.0 ; extra == 'rules' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'avro' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'avro' + - requests ; extra == 'avro' + - avro>=1.11.1,<2 ; extra == 'avro' + - attrs>=21.2.0 ; extra == 'avro' + - cachetools>=5.5.0 ; extra == 'avro' + - certifi ; extra == 'avro' + - httpx>=0.26 ; extra == 'avro' + - authlib>=1.0.0 ; extra == 'avro' + - pyrsistent ; extra == 'json' + - jsonschema ; extra == 'json' + - orjson>=3.10 ; extra == 'json' + - attrs>=21.2.0 ; extra == 'json' + - cachetools>=5.5.0 ; extra == 'json' + - certifi ; extra == 'json' + - httpx>=0.26 ; extra == 'json' + - authlib>=1.0.0 ; extra == 'json' + - googleapis-common-protos ; extra == 'protobuf' + - protobuf ; extra == 'protobuf' + - attrs>=21.2.0 ; extra == 'protobuf' + - cachetools>=5.5.0 ; extra == 'protobuf' + - certifi ; extra == 'protobuf' + - httpx>=0.26 ; extra == 'protobuf' + - authlib>=1.0.0 ; extra == 'protobuf' + - sphinx ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - tomli ; python_full_version < '3.11' and extra == 'dev' + - pandoc ; extra == 'dev' + - confluent-kafka ; extra == 'dev' + - fastapi ; extra == 'dev' + - pydantic ; extra == 'dev' + - uvicorn ; extra == 'dev' + - six ; extra == 'dev' + - attrs ; extra == 'dev' + - cachetools ; extra == 'dev' + - httpx>=0.26 ; extra == 'dev' + - authlib>=1.0.0 ; extra == 'dev' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'dev' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'dev' + - requests ; extra == 'dev' + - avro>=1.11.1,<2 ; extra == 'dev' + - pyrsistent ; extra == 'dev' + - jsonschema ; extra == 'dev' + - orjson>=3.10 ; extra == 'dev' + - googleapis-common-protos ; extra == 'dev' + - protobuf ; extra == 'dev' + - azure-identity ; extra == 'dev' + - azure-keyvault-keys ; extra == 'dev' + - boto3 ; extra == 'dev' + - cel-python>=0.4.0 ; extra == 'dev' + - google-auth ; extra == 'dev' + - google-api-core ; extra == 'dev' + - google-cloud-kms ; extra == 'dev' + - hkdf==0.0.3 ; extra == 'dev' + - hvac ; extra == 'dev' + - jsonata-python ; extra == 'dev' + - pyyaml>=6.0.0 ; extra == 'dev' + - tink ; extra == 'dev' + - urllib3<3 ; extra == 'dev' + - flake8 ; extra == 'dev' + - orjson ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-timeout ; extra == 'dev' + - requests-mock ; extra == 'dev' + - respx ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pluggy<1.6.0 ; extra == 'dev' + - pytest-asyncio ; extra == 'dev' + - async-timeout ; extra == 'dev' + - attrs>=21.2.0 ; extra == 'dev' + - cachetools>=5.5.0 ; extra == 'dev' + - certifi ; extra == 'dev' + - httpx>=0.26 ; extra == 'dev' + - authlib>=1.0.0 ; extra == 'dev' + - azure-identity ; extra == 'dev' + - azure-keyvault-keys ; extra == 'dev' + - boto3>=1.35 ; extra == 'dev' + - cel-python>=0.4.0 ; extra == 'dev' + - google-auth ; extra == 'dev' + - google-api-core ; extra == 'dev' + - google-cloud-kms ; extra == 'dev' + - hkdf==0.0.3 ; extra == 'dev' + - hvac ; extra == 'dev' + - jsonata-python ; extra == 'dev' + - pyyaml>=6.0.0 ; extra == 'dev' + - tink ; extra == 'dev' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'dev' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'dev' + - requests ; extra == 'dev' + - avro>=1.11.1,<2 ; extra == 'dev' + - pyrsistent ; extra == 'dev' + - jsonschema ; extra == 'dev' + - orjson>=3.10 ; extra == 'dev' + - googleapis-common-protos ; extra == 'dev' + - protobuf ; extra == 'dev' + - sphinx ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - tomli ; python_full_version < '3.11' and extra == 'docs' + - pandoc ; extra == 'docs' + - attrs>=21.2.0 ; extra == 'docs' + - cachetools>=5.5.0 ; extra == 'docs' + - certifi ; extra == 'docs' + - httpx>=0.26 ; extra == 'docs' + - authlib>=1.0.0 ; extra == 'docs' + - azure-identity ; extra == 'docs' + - azure-keyvault-keys ; extra == 'docs' + - boto3>=1.35 ; extra == 'docs' + - cel-python>=0.4.0 ; extra == 'docs' + - google-auth ; extra == 'docs' + - google-api-core ; extra == 'docs' + - google-cloud-kms ; extra == 'docs' + - hkdf==0.0.3 ; extra == 'docs' + - hvac ; extra == 'docs' + - jsonata-python ; extra == 'docs' + - pyyaml>=6.0.0 ; extra == 'docs' + - tink ; extra == 'docs' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'docs' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'docs' + - requests ; extra == 'docs' + - avro>=1.11.1,<2 ; extra == 'docs' + - pyrsistent ; extra == 'docs' + - jsonschema ; extra == 'docs' + - orjson>=3.10 ; extra == 'docs' + - googleapis-common-protos ; extra == 'docs' + - protobuf ; extra == 'docs' + - urllib3<3 ; extra == 'tests' + - flake8 ; extra == 'tests' + - orjson ; extra == 'tests' + - pytest ; extra == 'tests' + - pytest-timeout ; extra == 'tests' + - requests-mock ; extra == 'tests' + - respx ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - pluggy<1.6.0 ; extra == 'tests' + - pytest-asyncio ; extra == 'tests' + - async-timeout ; extra == 'tests' + - attrs>=21.2.0 ; extra == 'tests' + - cachetools>=5.5.0 ; extra == 'tests' + - certifi ; extra == 'tests' + - httpx>=0.26 ; extra == 'tests' + - authlib>=1.0.0 ; extra == 'tests' + - azure-identity ; extra == 'tests' + - azure-keyvault-keys ; extra == 'tests' + - boto3>=1.35 ; extra == 'tests' + - cel-python>=0.4.0 ; extra == 'tests' + - google-auth ; extra == 'tests' + - google-api-core ; extra == 'tests' + - google-cloud-kms ; extra == 'tests' + - hkdf==0.0.3 ; extra == 'tests' + - hvac ; extra == 'tests' + - jsonata-python ; extra == 'tests' + - pyyaml>=6.0.0 ; extra == 'tests' + - tink ; extra == 'tests' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'tests' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'tests' + - requests ; extra == 'tests' + - avro>=1.11.1,<2 ; extra == 'tests' + - pyrsistent ; extra == 'tests' + - jsonschema ; extra == 'tests' + - orjson>=3.10 ; extra == 'tests' + - googleapis-common-protos ; extra == 'tests' + - protobuf ; extra == 'tests' + - confluent-kafka ; extra == 'examples' + - fastapi ; extra == 'examples' + - pydantic ; extra == 'examples' + - uvicorn ; extra == 'examples' + - six ; extra == 'examples' + - attrs ; extra == 'examples' + - cachetools ; extra == 'examples' + - httpx>=0.26 ; extra == 'examples' + - authlib>=1.0.0 ; extra == 'examples' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'examples' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'examples' + - requests ; extra == 'examples' + - avro>=1.11.1,<2 ; extra == 'examples' + - pyrsistent ; extra == 'examples' + - jsonschema ; extra == 'examples' + - orjson>=3.10 ; extra == 'examples' + - googleapis-common-protos ; extra == 'examples' + - protobuf ; extra == 'examples' + - azure-identity ; extra == 'examples' + - azure-keyvault-keys ; extra == 'examples' + - boto3 ; extra == 'examples' + - cel-python>=0.4.0 ; extra == 'examples' + - google-auth ; extra == 'examples' + - google-api-core ; extra == 'examples' + - google-cloud-kms ; extra == 'examples' + - hkdf==0.0.3 ; extra == 'examples' + - hvac ; extra == 'examples' + - jsonata-python ; extra == 'examples' + - pyyaml>=6.0.0 ; extra == 'examples' + - tink ; extra == 'examples' + - psutil ; extra == 'soaktest' + - opentelemetry-distro ; extra == 'soaktest' + - opentelemetry-exporter-otlp ; extra == 'soaktest' + - psutil ; extra == 'all' + - opentelemetry-distro ; extra == 'all' + - opentelemetry-exporter-otlp ; extra == 'all' + - sphinx ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + - tomli ; python_full_version < '3.11' and extra == 'all' + - pandoc ; extra == 'all' + - confluent-kafka ; extra == 'all' + - fastapi ; extra == 'all' + - pydantic ; extra == 'all' + - uvicorn ; extra == 'all' + - six ; extra == 'all' + - attrs ; extra == 'all' + - cachetools ; extra == 'all' + - httpx>=0.26 ; extra == 'all' + - authlib>=1.0.0 ; extra == 'all' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'all' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'all' + - requests ; extra == 'all' + - avro>=1.11.1,<2 ; extra == 'all' + - pyrsistent ; extra == 'all' + - jsonschema ; extra == 'all' + - orjson>=3.10 ; extra == 'all' + - googleapis-common-protos ; extra == 'all' + - protobuf ; extra == 'all' + - azure-identity ; extra == 'all' + - azure-keyvault-keys ; extra == 'all' + - boto3 ; extra == 'all' + - cel-python>=0.4.0 ; extra == 'all' + - google-auth ; extra == 'all' + - google-api-core ; extra == 'all' + - google-cloud-kms ; extra == 'all' + - hkdf==0.0.3 ; extra == 'all' + - hvac ; extra == 'all' + - jsonata-python ; extra == 'all' + - pyyaml>=6.0.0 ; extra == 'all' + - tink ; extra == 'all' + - urllib3<3 ; extra == 'all' + - flake8 ; extra == 'all' + - orjson ; extra == 'all' + - pytest ; extra == 'all' + - pytest-timeout ; extra == 'all' + - requests-mock ; extra == 'all' + - respx ; extra == 'all' + - pytest-cov ; extra == 'all' + - pluggy<1.6.0 ; extra == 'all' + - pytest-asyncio ; extra == 'all' + - async-timeout ; extra == 'all' + - attrs>=21.2.0 ; extra == 'all' + - cachetools>=5.5.0 ; extra == 'all' + - certifi ; extra == 'all' + - httpx>=0.26 ; extra == 'all' + - authlib>=1.0.0 ; extra == 'all' + - azure-identity ; extra == 'all' + - azure-keyvault-keys ; extra == 'all' + - boto3>=1.35 ; extra == 'all' + - cel-python>=0.4.0 ; extra == 'all' + - google-auth ; extra == 'all' + - google-api-core ; extra == 'all' + - google-cloud-kms ; extra == 'all' + - hkdf==0.0.3 ; extra == 'all' + - hvac ; extra == 'all' + - jsonata-python ; extra == 'all' + - pyyaml>=6.0.0 ; extra == 'all' + - tink ; extra == 'all' + - fastavro<1.8.0 ; python_full_version == '3.7.*' and extra == 'all' + - fastavro<2 ; python_full_version >= '3.8' and extra == 'all' + - requests ; extra == 'all' + - avro>=1.11.1,<2 ; extra == 'all' + - pyrsistent ; extra == 'all' + - jsonschema ; extra == 'all' + - orjson>=3.10 ; extra == 'all' + - googleapis-common-protos ; extra == 'all' + - protobuf ; extra == 'all' + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311hdf67eae_2.conda + sha256: cb35e53fc4fc2ae59c85303b0668d05fa3be9cd9f8b27a127882f47aa795895b + md5: bb6a0f88cf345f7e7a143d349dae6d9f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.25 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/contourpy?source=hash-mapping + size: 296784 + timestamp: 1756544804579 +- pypi: https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl + name: crc32c + version: '2.8' + sha256: 711743da6ccc70b3c6718c328947b0b6f34a1fe6a6c27cc6c1d69cc226bf70e9 + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda + sha256: 9827efa891e507a91a8a2acf64e210d2aff394e1cde432ad08e1f8c66b12293c + md5: 44600c4667a319d67dbe0681fc0bc833 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cycler?source=hash-mapping + size: 13399 + timestamp: 1733332563512 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + sha256: ee09ad7610c12c7008262d713416d0b58bf365bc38584dce48950025850bdf3f + md5: cae723309a49399d2949362f4ab5c9e4 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libntlm >=1.8,<2.0a0 + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause-Attribution + license_family: BSD + purls: [] + size: 209774 + timestamp: 1750239039316 - pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl name: dask version: 2025.10.0 @@ -354,21 +1403,204 @@ packages: - pytest-xdist ; extra == 'test' - pre-commit ; extra == 'test' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl - name: debugpy - version: 1.8.17 - sha256: 60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef - requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/19/f7/a9f95700cf6d59e77d0b8f3191556df0baee8b4a2a76e444e4137a0b801e/databroker-1.2.5-py2.py3-none-any.whl + name: databroker + version: 1.2.5 + sha256: 236f33cade38a98de59baac8a6eaa44e626574b56e2c3c8ee7a0fbbd1ffbed48 + requires_dist: + - bluesky-live + - boltons + - cachetools + - dask[array,bag] + - doct + - event-model>=1.16.0 + - humanize + - intake>=0.5.5,<=0.6.4 + - jinja2 + - jsonschema + - mongoquery + - msgpack + - msgpack-numpy + - numpy + - pandas + - pims + - pymongo>=3.0 + - pytz + - pyyaml + - requests + - six + - suitcase-mongo + - suitcase-msgpack + - tifffile!=2019.7.26.2 + - toolz + - tzlocal + - xarray + - zarr + - h5py ; extra == 'all' + - pymongo>=3.0 ; extra == 'all' + - requests ; extra == 'all' + - tornado<6 ; extra == 'all' + - ujson ; extra == 'all' + - requests ; extra == 'client' + - h5py ; extra == 'hdf5' + - pymongo>=3.0 ; extra == 'mongo' + - tornado<6 ; extra == 'service' + - ujson ; extra == 'service' + requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 + md5: 418c6ca5929a611cbd69204907a83995 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 760229 + timestamp: 1685695754230 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + sha256: 3b988146a50e165f0fa4e839545c679af88e4782ec284cc7b6d07dd226d6a068 + md5: 679616eb5ad4e521c83da4650860aba7 + depends: + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libexpat >=2.7.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.84.2,<3.0a0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 437860 + timestamp: 1747855126005 - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl name: decorator version: 5.2.1 sha256: d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl + name: dill + version: 0.4.0 + sha256: 44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049 + requires_dist: + - objgraph>=1.7.2 ; extra == 'graph' + - gprof2dot>=2022.7.29 ; extra == 'profile' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/e6/86/7c764bef28f5183bd67e548c60afb9fe3eb7a6d58eb321b72c4c4d2be021/distributed-2025.10.0-py3-none-any.whl + name: distributed + version: 2025.10.0 + sha256: 613281c2796e4b3f349c9a1c0ef95b84a6b58f7a17d93206758a6902bd96913d + requires_dist: + - click>=8.0 + - cloudpickle>=3.0.0 + - dask==2025.10.0 + - jinja2>=2.10.3 + - locket>=1.0.0 + - msgpack>=1.0.2 + - packaging>=20.0 + - psutil>=5.8.0 + - pyyaml>=5.4.1 + - sortedcontainers>=2.0.5 + - tblib>=1.6.0 + - toolz>=0.11.2 + - tornado>=6.2.0 + - urllib3>=1.26.5 + - zict>=3.0.0 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl + name: dnspython + version: 2.8.0 + sha256: 01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af + requires_dist: + - black>=25.1.0 ; extra == 'dev' + - coverage>=7.0 ; extra == 'dev' + - flake8>=7 ; extra == 'dev' + - hypercorn>=0.17.0 ; extra == 'dev' + - mypy>=1.17 ; extra == 'dev' + - pylint>=3 ; extra == 'dev' + - pytest-cov>=6.2.0 ; extra == 'dev' + - pytest>=8.4 ; extra == 'dev' + - quart-trio>=0.12.0 ; extra == 'dev' + - sphinx-rtd-theme>=3.0.0 ; extra == 'dev' + - sphinx>=8.2.0 ; extra == 'dev' + - twine>=6.1.0 ; extra == 'dev' + - wheel>=0.45.0 ; extra == 'dev' + - cryptography>=45 ; extra == 'dnssec' + - h2>=4.2.0 ; extra == 'doh' + - httpcore>=1.0.0 ; extra == 'doh' + - httpx>=0.28.0 ; extra == 'doh' + - aioquic>=1.2.0 ; extra == 'doq' + - idna>=3.10 ; extra == 'idna' + - trio>=0.30 ; extra == 'trio' + - wmi>=1.5.1 ; sys_platform == 'win32' and extra == 'wmi' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/c0/af/22ad724ba167a6d254aa01f04b7f36c5fc648ff85f04d87d3f82fe6c96ef/doct-1.1.0-py3-none-any.whl + name: doct + version: 1.1.0 + sha256: 065d64585efb43d032237a051439a79c029de792d3d3c04b507c10d2da842216 + requires_dist: + - humanize + - prettytable + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl + name: donfig + version: 0.8.1.post1 + sha256: 2a3175ce74a06109ff9307d90a230f81215cbac9a751f4d1c6194644b8204f9d + requires_dist: + - pyyaml + - sphinx>=4.0.0 ; extra == 'docs' + - numpydoc ; extra == 'docs' + - pytest ; extra == 'docs' + - cloudpickle ; extra == 'docs' + - pytest ; extra == 'test' + - cloudpickle ; extra == 'test' + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + sha256: 1bcc132fbcc13f9ad69da7aa87f60ea41de7ed4d09f3a00ff6e0e70e1c690bc2 + md5: bfd56492d8346d669010eccafe0ba058 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 69544 + timestamp: 1739569648873 - pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl name: entrypoints version: '0.4' sha256: f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/fb/32/e31e3363bf48ad2ba80b644b01ad9676ce154f1b755950de81eb4ed5b6bd/event_model-1.23.1-py3-none-any.whl + name: event-model + version: 1.23.1 + sha256: e0b951b829cebcf3879beff238bb370fd997d315856bc5d5ac2a66202b854958 + requires_dist: + - importlib-resources + - jsonschema>=4 + - numpy + - typing-extensions + - mypy ; extra == 'dev' + - myst-parser ; extra == 'dev' + - pipdeptree ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pydata-sphinx-theme>=0.12 ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - ruff ; extra == 'dev' + - sphinx-autobuild ; extra == 'dev' + - sphinx-copybutton ; extra == 'dev' + - sphinx-design ; extra == 'dev' + - tox-direct ; extra == 'dev' + - types-mock ; extra == 'dev' + - copier ; extra == 'dev' + - ipython ; extra == 'dev' + - matplotlib ; extra == 'dev' + - numpydoc ; extra == 'dev' + - pydantic<2.11 ; extra == 'dev' + - datamodel-code-generator ; extra == 'dev' + requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl name: executing version: 2.2.1 @@ -382,28 +1614,190 @@ packages: - littleutils ; extra == 'tests' - rich ; python_full_version >= '3.11' and extra == 'tests' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl - name: fsspec - version: 2025.9.0 - sha256: 530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7 +- pypi: https://files.pythonhosted.org/packages/17/fa/3859496b47674865d5669175a9e4457c8bc5801704da531101cb79570741/fabio-2025.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: fabio + version: 2025.10.0 + sha256: be0811e015fe5fe4e5f9b9b0a42223ab07998cb8ab288f80dc04bc2475f8cee2 requires_dist: - - adlfs ; extra == 'abfs' - - adlfs ; extra == 'adl' - - pyarrow>=1 ; extra == 'arrow' - - dask ; extra == 'dask' - - distributed ; extra == 'dask' - - pre-commit ; extra == 'dev' - - ruff>=0.5 ; extra == 'dev' - - numpydoc ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-design ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - yarl ; extra == 'doc' - - dropbox ; extra == 'dropbox' - - dropboxdrivefs ; extra == 'dropbox' - - requests ; extra == 'dropbox' - - adlfs ; extra == 'full' - - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' + - numpy + - h5py + - hdf5plugin + - lxml + - pillow + - pyside6 ; extra == 'gui' + - matplotlib ; extra == 'gui' + - packaging ; extra == 'gui' + - pyside6 ; extra == 'all' + - matplotlib ; extra == 'all' + - packaging ; extra == 'all' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl + name: flexcache + version: '0.3' + sha256: d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32 + requires_dist: + - typing-extensions + - pytest ; extra == 'test' + - pytest-mpl ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-subtests ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl + name: flexparser + version: '0.4' + sha256: 3738b456192dcb3e15620f324c447721023c0293f6af9955b481e91d00179846 + requires_dist: + - typing-extensions + - pytest ; extra == 'test' + - pytest-mpl ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-subtests ; extra == 'test' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda + sha256: e0f53b7801d0bcb5d61a1ddcb873479bfe8365e56fd3722a232fbcc372a9ac52 + md5: 0c2f855a88fab6afa92a7aa41217dc8e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 192721 + timestamp: 1751277120358 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b + md5: 0c96522c6bdaed4b1566d11387caaf45 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + purls: [] + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + purls: [] + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + purls: [] + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + sha256: 7093aa19d6df5ccb6ca50329ef8510c6acb6b0d8001191909397368b65b02113 + md5: 8f5b0b297b59e1ac160ad4beec99dbee + depends: + - __glibc >=2.17,<3.0.a0 + - freetype >=2.12.1,<3.0a0 + - libexpat >=2.6.3,<3.0a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 265599 + timestamp: 1730283881107 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab + depends: + - fonts-conda-forge + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 + depends: + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro + license: BSD-3-Clause + purls: [] + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.60.1-py311h3778330_0.conda + sha256: 1c4e796c337faaeb0606bd6291e53e31848921ac78f295f2b671a2dc09f816cb + md5: 91f834f85ac92978cfc3c1c178573e85 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli + - libgcc >=14 + - munkres + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/fonttools?source=hash-mapping + size: 2940664 + timestamp: 1759187410840 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + sha256: bf8e4dffe46f7d25dc06f31038cacb01672c47b9f45201f065b0f4d00ab0a83e + md5: 4afc585cd97ba8a23809406cd8a9eda8 + depends: + - libfreetype 2.14.1 ha770c72_0 + - libfreetype6 2.14.1 h73754d4_0 + license: GPL-2.0-only OR FTL + purls: [] + size: 173114 + timestamp: 1757945422243 +- conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py311h52bc045_0.conda + sha256: cc7ec26db5d61078057da6e24e23abdd973414a065311fe0547a7620dd98e6b8 + md5: d9be554be03e3f2012655012314167d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/frozenlist?source=hash-mapping + size: 55258 + timestamp: 1752167340913 +- pypi: https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl + name: fsspec + version: 2025.10.0 + sha256: 7c7712353ae7d875407f97715f0e1ffcc21e33d5b24556cb1e090ae9409ec61d + requires_dist: + - adlfs ; extra == 'abfs' + - adlfs ; extra == 'adl' + - pyarrow>=1 ; extra == 'arrow' + - dask ; extra == 'dask' + - distributed ; extra == 'dask' + - pre-commit ; extra == 'dev' + - ruff>=0.5 ; extra == 'dev' + - numpydoc ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - yarl ; extra == 'doc' + - dropbox ; extra == 'dropbox' + - dropboxdrivefs ; extra == 'dropbox' + - requests ; extra == 'dropbox' + - adlfs ; extra == 'full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' - dask ; extra == 'full' - distributed ; extra == 'full' - dropbox ; extra == 'full' @@ -489,11 +1883,137 @@ packages: - zstandard ; python_full_version < '3.14' and extra == 'test-full' - tqdm ; extra == 'tqdm' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda + sha256: aac402a8298f0c0cc528664249170372ef6b37ac39fdc92b40601a6aed1e32ff + md5: 3bf7b9fd5a7136126e0234db4b87c8b6 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + purls: [] + size: 77248 + timestamp: 1712692454246 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + sha256: 68f071ea25e79ee427c0d6c35ccc137d66f093a37660a4e41bafe0c49d64f2d6 + md5: 00e642ec191a19bf806a3915800e9524 + depends: + - libgcc-ng >=12 + - libpng >=1.6.43,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 74102 + timestamp: 1718542981099 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c + md5: 2cd94587f3a401ae05e03a6caf09539d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 99596 + timestamp: 1755102025473 - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl name: h11 version: 0.16.0 sha256: 63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.15.1-nompi_py311h0b2f468_100.conda + sha256: ff91ec7c4d9250cee9b41a533a8352ed1501d15136aa7cb0443b663c8317ed6e + md5: 98374cf8d17901bcd934daa7cc8a28e6 + depends: + - __glibc >=2.17,<3.0.a0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/h5py?source=hash-mapping + size: 1360249 + timestamp: 1760616652686 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + sha256: df2a964f5b7dd652b59da018f1d2d9ae402b815c4e5d849384344df358d2a565 + md5: 7704b1edaa8316b8792424f254c1f586 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglib >=2.86.0,<3.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 2058414 + timestamp: 1759365674184 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + sha256: 0d09b6dc1ce5c4005ae1c6a19dc10767932ef9a5e9c755cfdbb5189ac8fb0684 + md5: bd77f8da987968ec3927990495dc22e4 + depends: + - libgcc-ng >=12 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 756742 + timestamp: 1695661547874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h6e4c0c1_103.conda + sha256: 4f173af9e2299de7eee1af3d79e851bca28ee71e7426b377e841648b51d48614 + md5: c74d83614aec66227ae5199d98852aaf + depends: + - __glibc >=2.17,<3.0.a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3710057 + timestamp: 1753357500665 +- pypi: https://files.pythonhosted.org/packages/ed/2f/1046d464ad1db29a4f6c70ba4e19b39baa8a6542c719eaa4e765108f07f1/hdf5plugin-6.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: hdf5plugin + version: 6.0.0 + sha256: 79e0524d18ddc41c0cf2e1bb2e529d4e154c286f6a1bd85f3d44019d2a17574a + requires_dist: + - h5py>=3.0.0 + - ipython ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' + - blosc2>=2.5.1 ; extra == 'test' + - blosc2-grok>=0.2.2 ; extra == 'test' + - hdf5plugin[doc,test] ; extra == 'dev' + - bandit ; extra == 'dev' + - black ; extra == 'dev' + - flake8 ; extra == 'dev' + - isort ; extra == 'dev' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl + name: historydict + version: 1.2.6 + sha256: b4b00a170f05502aa682caba62435da5fe1f73037e884707581fe84f8d7b43f5 - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl name: httpcore version: 1.0.9 @@ -524,29 +2044,135 @@ packages: - socksio==1.* ; extra == 'socks' - zstandard>=0.18.0 ; extra == 'zstd' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl - name: idna - version: '3.11' - sha256: 771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea - requires_dist: - - ruff>=0.6.2 ; extra == 'all' - - mypy>=1.11.2 ; extra == 'all' - - pytest>=8.3.2 ; extra == 'all' - - flake8>=7.1.1 ; extra == 'all' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl - name: importlib-metadata - version: 8.7.0 - sha256: e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd +- pypi: https://files.pythonhosted.org/packages/c3/5b/9512c5fb6c8218332b530f13500c6ff5f3ce3342f35e0dd7be9ac3856fd3/humanize-4.14.0-py3-none-any.whl + name: humanize + version: 4.14.0 + sha256: d57701248d040ad456092820e6fde56c930f17749956ac47f4f655c0c547bfff + requires_dist: + - freezegun ; extra == 'tests' + - pytest ; extra == 'tests' + - pytest-cov ; extra == 'tests' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/bf/b9/3fd96e015e69b542219059a7d7e96d21c1216672ff6fc595d9903767c06b/hxntools-0.6.3-py3-none-any.whl + name: hxntools + version: 0.6.3 + sha256: 144b37bf0eea479f8a35eb5864f4d8e146a1d3b01df5bc22cda507d664f655a0 + requires_dist: + - bluesky + - boltons + - cycler + - databroker + - h5py + - matplotlib + - nslsii + - numpy + - ophyd + - pandas + - pyepics + - scipy + requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e + md5: 8b189310083baabfb622af68fd9d3ae3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + purls: [] + size: 12129203 + timestamp: 1720853576813 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + md5: 53abe63df7e10a6ba605dc5f9f961d36 + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/idna?source=hash-mapping + size: 50721 + timestamp: 1760286526795 +- conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2025.8.2-py311h99464e2_7.conda + sha256: f8b9c87dbea2e6f22ca57da36a7235c9952fa7be7b122d20cdc1d5faa7967b10 + md5: d5e5430c5b42fc2adb113ff2b3466839 + depends: + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - brunsli >=0.1,<1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=2.22.0,<2.23.0a0 + - charls >=2.4.2,<2.5.0a0 + - giflib >=5.2.2,<5.3.0a0 + - jxrlib >=1.1,<1.2.0a0 + - lcms2 >=2.17,<3.0a0 + - lerc >=4.0.0,<5.0a0 + - libaec >=1.1.4,<2.0a0 + - libavif16 >=1.3.0,<2.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libjxl >=0.11,<0.12.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - libzopfli >=1.0.3,<1.1.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - numpy >=1.23,<3 + - openjpeg >=2.5.4,<3.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - snappy >=1.2.2,<1.3.0a0 + - zfp >=1.0.1,<2.0a0 + - zlib-ng >=2.2.5,<2.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/imagecodecs?source=hash-mapping + size: 1962127 + timestamp: 1762032433405 +- conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.0-pyhfb79c49_0.conda + sha256: 8ef69fa00c68fad34a3b7b260ea774fda9bd9274fd706d3baffb9519fd0063fe + md5: b5577bc2212219566578fd5af9993af6 + depends: + - numpy + - pillow >=8.3.2 + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/imageio?source=hash-mapping + size: 293226 + timestamp: 1738273949742 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + depends: + - python >=3.9 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=hash-mapping + size: 34641 + timestamp: 1747934053147 +- pypi: https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl + name: importlib-resources + version: 6.5.2 + sha256: 789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec requires_dist: - - zipp>=3.20 - - typing-extensions>=3.6.4 ; python_full_version < '3.8' + - zipp>=3.1.0 ; python_full_version < '3.10' - pytest>=6,!=8.1.* ; extra == 'test' - - importlib-resources>=1.3 ; python_full_version < '3.9' and extra == 'test' - - packaging ; extra == 'test' - - pyfakefs ; extra == 'test' - - flufl-flake8 ; extra == 'test' - - pytest-perf>=0.9.2 ; extra == 'test' + - zipp>=3.17 ; extra == 'test' - jaraco-test>=5.4 ; extra == 'test' - sphinx>=3.5 ; extra == 'doc' - jaraco-packaging>=9.3 ; extra == 'doc' @@ -554,67 +2180,58 @@ packages: - furo ; extra == 'doc' - sphinx-lint ; extra == 'doc' - jaraco-tidelift>=1.4 ; extra == 'doc' - - ipython ; extra == 'perf' - pytest-checkdocs>=2.4 ; extra == 'check' - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' - pytest-cov ; extra == 'cover' - pytest-enabler>=2.2 ; extra == 'enabler' - pytest-mypy ; extra == 'type' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl - name: ipykernel - version: 7.0.1 - sha256: 87182a8305e28954b6721087dec45b171712610111d494c17bb607befa1c4000 - requires_dist: - - appnope>=0.1.2 ; sys_platform == 'darwin' - - comm>=0.1.1 - - debugpy>=1.6.5 - - ipython>=7.23.1 - - jupyter-client>=8.0.0 - - jupyter-core>=4.12,!=5.0.* - - matplotlib-inline>=0.1 - - nest-asyncio>=1.4 - - packaging>=22 - - psutil>=5.7 - - pyzmq>=25 - - tornado>=6.2 - - traitlets>=5.4.0 - - coverage[toml] ; extra == 'cov' - - matplotlib ; extra == 'cov' - - pytest-cov ; extra == 'cov' - - trio ; extra == 'cov' - - intersphinx-registry ; extra == 'docs' - - myst-parser ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - sphinx-autodoc-typehints ; extra == 'docs' - - sphinx<8.2.0 ; extra == 'docs' - - sphinxcontrib-github-alt ; extra == 'docs' - - sphinxcontrib-spelling ; extra == 'docs' - - trio ; extra == 'docs' - - pyqt5 ; extra == 'pyqt5' - - pyside6 ; extra == 'pyside6' - - flaky ; extra == 'test' - - ipyparallel ; extra == 'test' - - pre-commit ; extra == 'test' - - pytest-asyncio>=0.23.5 ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-timeout ; extra == 'test' - - pytest>=7.0,<9 ; extra == 'test' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/f9/59/527c84f1fbb4a65590ad781fe1359a76f450e03f9bc9a6c99c222a8cee84/intake-0.6.4-py3-none-any.whl + name: intake + version: 0.6.4 + sha256: e548df8f5328769a0e69d81f6dcdbbbb97f7103ce5976b1131553b29d616b140 + requires_dist: + - appdirs + - dask + - entrypoints + - pyyaml + - fsspec>=0.7.4 + - jinja2 + - bokeh ; extra == 'complete' + - dask[dataframe] ; extra == 'complete' + - hvplot ; extra == 'complete' + - msgpack-numpy ; extra == 'complete' + - msgpack-python ; extra == 'complete' + - panel>=0.7.0 ; extra == 'complete' + - pyarrow ; extra == 'complete' + - python-snappy ; extra == 'complete' + - requests ; extra == 'complete' + - tornado ; extra == 'complete' + - dask[dataframe] ; extra == 'dataframe' + - msgpack-numpy ; extra == 'dataframe' + - pyarrow ; extra == 'dataframe' + - hvplot ; extra == 'plot' + - panel>=0.7.0 ; extra == 'plot' + - bokeh ; extra == 'plot' + - requests ; extra == 'remote' + - tornado ; extra == 'server' + - python-snappy ; extra == 'server' + - msgpack-python ; extra == 'server' + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/05/aa/62893d6a591d337aa59dcc4c6f6c842f1fe20cd72c8c5c1f980255243252/ipython-9.7.0-py3-none-any.whl name: ipython - version: 9.6.0 - sha256: 5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196 + version: 9.7.0 + sha256: bce8ac85eb9521adc94e1845b4c03d88365fd6ac2f4908ec4ed1eb1b0a065f9f requires_dist: - - colorama ; sys_platform == 'win32' - - decorator - - ipython-pygments-lexers - - jedi>=0.16 - - matplotlib-inline + - colorama>=0.4.4 ; sys_platform == 'win32' + - decorator>=4.3.2 + - ipython-pygments-lexers>=1.0.0 + - jedi>=0.18.1 + - matplotlib-inline>=0.1.5 - pexpect>4.3 ; sys_platform != 'emscripten' and sys_platform != 'win32' - prompt-toolkit>=3.0.41,<3.1.0 - - pygments>=2.4.0 - - stack-data + - pygments>=2.11.0 + - stack-data>=0.6.0 - traitlets>=5.13.0 - typing-extensions>=4.6 ; python_full_version < '3.12' - black ; extra == 'black' @@ -623,26 +2240,27 @@ packages: - intersphinx-registry ; extra == 'doc' - ipykernel ; extra == 'doc' - ipython[matplotlib,test] ; extra == 'doc' - - setuptools>=61.2 ; extra == 'doc' + - setuptools>=70.0 ; extra == 'doc' - sphinx-toml==0.0.4 ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - sphinx>=1.3 ; extra == 'doc' + - sphinx-rtd-theme>=0.1.8 ; extra == 'doc' + - sphinx>=8.0 ; extra == 'doc' - typing-extensions ; extra == 'doc' - - pytest ; extra == 'test' - - pytest-asyncio ; extra == 'test' - - testpath ; extra == 'test' - - packaging ; extra == 'test' + - pytest>=7.0.0 ; extra == 'test' + - pytest-asyncio>=1.0.0 ; extra == 'test' + - testpath>=0.2 ; extra == 'test' + - packaging>=20.1.0 ; extra == 'test' + - setuptools>=61.2 ; extra == 'test' - ipython[test] ; extra == 'test-extra' - curio ; extra == 'test-extra' - jupyter-ai ; extra == 'test-extra' - ipython[matplotlib] ; extra == 'test-extra' - nbformat ; extra == 'test-extra' - nbclient ; extra == 'test-extra' - - ipykernel ; extra == 'test-extra' - - numpy>=1.25 ; extra == 'test-extra' - - pandas>2.0 ; extra == 'test-extra' - - trio ; extra == 'test-extra' - - matplotlib>3.7 ; extra == 'matplotlib' + - ipykernel>6.30 ; extra == 'test-extra' + - numpy>=1.27 ; extra == 'test-extra' + - pandas>2.1 ; extra == 'test-extra' + - trio>=0.1.0 ; extra == 'test-extra' + - matplotlib>3.9 ; extra == 'matplotlib' - ipython[doc,matplotlib,test,test-extra] ; extra == 'all' requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl @@ -652,6 +2270,22 @@ packages: requires_dist: - pygments requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl + name: ipywidgets + version: 8.1.8 + sha256: ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e + requires_dist: + - comm>=0.1.3 + - ipython>=6.1.0 + - traitlets>=4.3.1 + - widgetsnbextension~=4.0.14 + - jupyterlab-widgets~=3.0.15 + - jsonschema ; extra == 'test' + - ipykernel ; extra == 'test' + - pytest>=3.6.0 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytz ; extra == 'test' + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl name: jedi version: 0.19.2 @@ -692,23 +2326,54 @@ packages: - docopt ; extra == 'testing' - pytest<9.0.0 ; extra == 'testing' requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl + name: jinja2 + version: 3.1.6 + sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 + requires_dist: + - markupsafe>=2.0 + - babel>=2.7 ; extra == 'i18n' + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl name: json-merge-patch version: 0.3.0 sha256: e0a593719b293ff63858ecaae3afbcb4ff0b57f785453c6783d7b0c3e2708b76 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl - name: jsonpatch - version: '1.33' - sha256: 0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade - requires_dist: - - jsonpointer>=1.9 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' -- pypi: https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl - name: jsonpointer - version: 3.0.0 - sha256: 13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942 - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + sha256: ed4b1878be103deb2e4c6d0eea3c9bdddfd7fc3178383927dce7578fb1063520 + md5: 7bdc5e2cc11cb0a0f795bdad9732b0f2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-Public-Domain OR MIT + purls: [] + size: 169093 + timestamp: 1733780223643 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda + sha256: 304955757d1fedbe344af43b12b5467cca072f83cce6109361ba942e186b3993 + md5: cb60ae9cf02b9fcb8004dec4089e5691 + depends: + - jsonpointer >=1.9 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jsonpatch?source=hash-mapping + size: 17311 + timestamp: 1733814664790 +- conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py311h38be061_2.conda + sha256: 4e744b30e3002b519c48868b3f5671328274d1d78cc8cbc0cda43057b570c508 + md5: 5dd29601defbcc14ac6953d9504a80a7 + depends: + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jsonpointer?source=hash-mapping + size: 18368 + timestamp: 1756754243123 - pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl name: jsonschema version: 4.25.1 @@ -743,90 +2408,405 @@ packages: requires_dist: - referencing>=0.31.0 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl - name: jupyter-client - version: 8.6.3 - sha256: e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f - requires_dist: - - importlib-metadata>=4.8.3 ; python_full_version < '3.10' - - jupyter-core>=4.12,!=5.0.* - - python-dateutil>=2.8.2 - - pyzmq>=23.0 - - tornado>=6.2 - - traitlets>=5.3 - - ipykernel ; extra == 'docs' - - myst-parser ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - sphinx-autodoc-typehints ; extra == 'docs' - - sphinx>=4 ; extra == 'docs' - - sphinxcontrib-github-alt ; extra == 'docs' - - sphinxcontrib-spelling ; extra == 'docs' - - coverage ; extra == 'test' - - ipykernel>=6.14 ; extra == 'test' - - mypy ; extra == 'test' - - paramiko ; sys_platform == 'win32' and extra == 'test' - - pre-commit ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-jupyter[client]>=0.4.1 ; extra == 'test' - - pytest-timeout ; extra == 'test' - - pytest<8.2.0 ; extra == 'test' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl - name: jupyter-core - version: 5.9.1 - sha256: ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407 - requires_dist: - - platformdirs>=2.5 - - traitlets>=5.3 - - intersphinx-registry ; extra == 'docs' - - myst-parser ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - sphinx-autodoc-typehints ; extra == 'docs' - - sphinxcontrib-spelling ; extra == 'docs' - - traitlets ; extra == 'docs' - - ipykernel ; extra == 'test' - - pre-commit ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-timeout ; extra == 'test' - - pytest<9 ; extra == 'test' - requires_python: '>=3.10' -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda - sha256: 707dfb8d55d7a5c6f95c772d778ef07a7ca85417d9971796f7d3daad0b615de8 - md5: 14bae321b8127b63cba276bd53fac237 +- pypi: https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl + name: jupyterlab-widgets + version: 3.0.16 + sha256: 45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8 + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda + sha256: 2057ca87b313bde5b74b93b0e696f8faab69acd4cb0edebb78469f3f388040c0 + md5: 5aeabe88534ea4169d4c49998f293d6c depends: - - __glibc >=2.17,<3.0.a0 - constrains: - - binutils_impl_linux-64 2.44 - license: GPL-3.0-only - license_family: GPL + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 747158 - timestamp: 1758810907507 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda - sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 - md5: 35f29eec58405aaf55e01cb470d8c26a + size: 239104 + timestamp: 1703333860145 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 + md5: b38117a3c920364aff79f870c984b4a3 depends: - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 134088 + timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_1.conda + sha256: 029a00a337e307256beab9cbaefc2c23cd28f040fff6f087703a63bc7487fc14 + md5: 92720706b174926bc7238cc24f3b5956 + depends: + - python + - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/kiwisolver?source=hash-mapping + size: 78167 + timestamp: 1756467524636 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 license: MIT license_family: MIT purls: [] - size: 57821 - timestamp: 1760295480630 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda - sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 - md5: c0374badb3a5d4b1372db28d19462c53 + size: 1370023 + timestamp: 1719463201255 +- conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda + sha256: d7ea986507090fff801604867ef8e79c8fda8ec21314ba27c032ab18df9c3411 + md5: d10d9393680734a8febc4b362a4c94f2 + depends: + - importlib-metadata + - packaging + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lazy-loader?source=hash-mapping + size: 16298 + timestamp: 1733636905835 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + sha256: d6a61830a354da022eae93fa896d0991385a875c6bba53c82263a289deda9db8 + md5: 000e85703f0fd9594c81710dd5066471 depends: - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: MIT + license_family: MIT + purls: [] + size: 248046 + timestamp: 1739160907615 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a + md5: c94ab6ff54ba5172cf1c58267005670f + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 constrains: - - libgomp 15.2.0 h767d61c_7 - - libgcc-ng ==15.2.0=*_7 - license: GPL-3.0-only WITH GCC-exception-3.1 + - binutils_impl_linux-64 2.44 + license: GPL-3.0-only license_family: GPL purls: [] - size: 822552 - timestamp: 1759968052178 + size: 742501 + timestamp: 1761335175964 +- pypi: https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl + name: ldap3 + version: 2.9.1 + sha256: 5869596fc4948797020d3f03b7939da938778a0f9e2009f7a072ccf92b8e8d70 + requires_dist: + - pyasn1>=0.4.6 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + sha256: 412381a43d5ff9bbed82cd52a0bbca5b90623f62e41007c9c42d3870c60945ff + md5: 9344155d33912347b37f0ae6c410a835 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 264243 + timestamp: 1745264221534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + sha256: dcd1429a1782864c452057a6c5bc1860f2b637dc20a2b7e6eacd57395bbceff8 + md5: 83b160d4da3e1e847bf044997621ed63 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + constrains: + - libabseil-static =20250512.1=cxx17* + - abseil-cpp =20250512.1 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1310612 + timestamp: 1750194198254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + sha256: 410ab78fe89bc869d435de04c9ffa189598ac15bb0fe1ea8ace8fb1b860a2aa3 + md5: 01ba04e414e47f95c03d6ddd81fd37be + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 36825 + timestamp: 1749993532943 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h6395336_2.conda + sha256: e3a44c0eda23aa15c9a8dfa8c82ecf5c8b073e68a16c29edd0e409e687056d30 + md5: c09c4ac973f7992ba0c6bb1aafd77bd4 + depends: + - __glibc >=2.17,<3.0.a0 + - aom >=3.9.1,<3.10.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - libgcc >=14 + - rav1e >=0.7.1,<0.8.0a0 + - svt-av1 >=3.1.2,<3.1.3.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 139399 + timestamp: 1756124751131 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-37_h5875eb1_mkl.conda + build_number: 37 + sha256: 815cc467cb4ffe421f72cff675da33287555ec977388ed5baa09be90448efcbe + md5: 888c2ae634bce09709dffd739ba9f1bc + depends: + - mkl >=2024.2.2,<2025.0a0 + constrains: + - liblapacke 3.9.0 37*_mkl + - liblapack 3.9.0 37*_mkl + - blas 2.137 mkl + - libcblas 3.9.0 37*_mkl + track_features: + - blas_mkl + - blas_mkl_2 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 17867 + timestamp: 1760212752777 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h09219d5_0.conda + sha256: fbbcd11742bb8c96daa5f4f550f1804a902708aad2092b39bec3faaa2c8ae88a + md5: 9b3117ec960b823815b02190b41c0484 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 79664 + timestamp: 1761592192478 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hd53d788_0.conda + sha256: f7f357c33bd10afd58072ad4402853a8522d52d00d7ae9adb161ecf719f63574 + md5: c183787d2b228775dece45842abbbe53 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 h09219d5_0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 34445 + timestamp: 1761592202559 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h02bd7ab_0.conda + sha256: 1370c8b1a215751c4592bf95d4b5d11bac91c577770efcb237e3a0f35c326559 + md5: b7a924e3e9ebc7938ffc7d94fe603ed3 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 h09219d5_0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 298252 + timestamp: 1761592214576 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-37_hfef963f_mkl.conda + build_number: 37 + sha256: d3d3bf31803396001e74de27f266781cd9d5f9e34b288762b9e6e1183a7815a4 + md5: f66eb9a9396715013772b8a3ef7396be + depends: + - libblas 3.9.0 37_h5875eb1_mkl + constrains: + - liblapacke 3.9.0 37*_mkl + - blas 2.137 mkl + - liblapack 3.9.0 37*_mkl + track_features: + - blas_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 17495 + timestamp: 1760212763579 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_0.conda + sha256: 5172496d7e9321b4eea967812d5f1caeb82d24646aad0a28963d73e56778133f + md5: c3fd56e85856fbd40402e0dec3b76f3b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.5,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 21058475 + timestamp: 1762331470368 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_0.conda + sha256: 0adf6c0765476a7e216177d143312b7928da59dc06f616fa560b9a8dabd4b454 + md5: d0eb35a4433463966b2fc189c79c493b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.5,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 12343475 + timestamp: 1762331829809 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + sha256: cb83980c57e311783ee831832eb2c20ecb41e7dee6e86e8b70b8cef0e43eab55 + md5: d4a250da4737ee127fb1fa6452a9002e + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 4523621 + timestamp: 1749905341688 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + sha256: 100e29ca864c32af15a5cc354f502d07b2600218740fdf2439fa7d66b50b3529 + md5: 01e149d4a53185622dc2e788281961f2 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - libnghttp2 >=1.67.0,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + purls: [] + size: 460366 + timestamp: 1762333743748 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 + md5: 6c77a605a7a689d17d4819c0f8ac9a00 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 73490 + timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + sha256: c076a213bd3676cc1ef22eeff91588826273513ccc6040d9bea68bccdc849501 + md5: 9314bc5a1fe7d1044dc9dfd3ef400535 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpciaccess >=0.18,<0.19.0a0 + license: MIT + license_family: MIT + purls: [] + size: 310785 + timestamp: 1757212153962 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + depends: + - ncurses + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 + md5: c151d5eb730e9b7480e6d48c0fc44048 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 44840 + timestamp: 1731330973553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 112766 + timestamp: 1702146165126 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + sha256: da2080da8f0288b95dd86765c801c6e166c4619b910b11f9a8446fb852438dc2 + md5: 4211416ecba1866fab0c6470986c22d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.7.1.* + license: MIT + license_family: MIT + purls: [] + size: 74811 + timestamp: 1752719572741 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + md5: 35f29eec58405aaf55e01cb470d8c26a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 57821 + timestamp: 1760295480630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda + sha256: 4641d37faeb97cf8a121efafd6afd040904d4bca8c46798122f417c31d5dfbec + md5: f4084e4e6577797150f9b04a4560ceb0 + depends: + - libfreetype6 >=2.14.1 + license: GPL-2.0-only OR FTL + purls: [] + size: 7664 + timestamp: 1757945417134 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda + sha256: 4a7af818a3179fafb6c91111752954e29d3a2a950259c14a2fc7ba40a8b03652 + md5: 8e7251989bca326a28f4a5ffbd74557a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + constrains: + - freetype >=2.14.1 + license: GPL-2.0-only OR FTL + purls: [] + size: 386739 + timestamp: 1757945416744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + md5: c0374badb3a5d4b1372db28d19462c53 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 15.2.0 h767d61c_7 + - libgcc-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 822552 + timestamp: 1759968052178 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda sha256: 2045066dd8e6e58aaf5ae2b722fb6dfdbb57c862b5f34ac7bfb58c40ef39b6ad md5: 280ea6eee9e2ddefde25ff799c4f0363 @@ -837,16 +2817,198 @@ packages: purls: [] size: 29313 timestamp: 1759968065504 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda - sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca - md5: f7b4d76975aac7e5d9e6ad13845f92fe +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_7.conda + sha256: 9ca24328e31c8ef44a77f53104773b9fe50ea8533f4c74baa8489a12de916f02 + md5: 8621a450add4e231f676646880703f49 + depends: + - libgfortran5 15.2.0 hcd61629_7 + constrains: + - libgfortran-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 29275 + timestamp: 1759968110483 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-hcd61629_7.conda + sha256: e93ceda56498d98c9f94fedec3e2d00f717cbedfc97c49be0e5a5828802f2d34 + md5: f116940d825ffc9104400f0d7f1a4551 depends: - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 447919 - timestamp: 1759967942498 + size: 1572758 + timestamp: 1759968082504 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d + md5: 928b8be80851f5d8ffb016f9c81dae7a + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - libglx 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 134712 + timestamp: 1731330998354 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 + md5: 8eef974130690cf385b569ecdeed2cf0 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.46,<10.47.0a0 + constrains: + - glib 2.86.1 *_1 + license: LGPL-2.1-or-later + purls: [] + size: 3945912 + timestamp: 1761874304703 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + sha256: a0105eb88f76073bbb30169312e797ed5449ebb4e964a756104d6e54633d17ef + md5: 8422fcc9e5e172c91e99aef703b3ce65 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=13 + license: SGI-B-2.0 + purls: [] + size: 325262 + timestamp: 1748692137626 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 + md5: 434ca7e50e40f4918ab701e3facd59a0 + depends: + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + purls: [] + size: 132463 + timestamp: 1731330968309 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 + md5: c8013e438185f33b13814c5c488acd5c + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - xorg-libx11 >=1.8.10,<2.0a0 + license: LicenseRef-libglvnd + purls: [] + size: 75504 + timestamp: 1731330988898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libharu-2.4.5-h943b412_0.conda + sha256: fea5cbef71d1a357a60c6f4259e0c8fdee7209d455e5dca80e83af19f9072d39 + md5: cbc958e4c790c2cb820847c1feb9d2f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libpng >=1.6.47,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: Zlib + license_family: OTHER + purls: [] + size: 600158 + timestamp: 1741720713746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h7f8ec31_1002.conda + sha256: f7fbc792dbcd04bf27219c765c10c239937b34c6c1a1f77a5827724753e02da1 + md5: c01021ae525a76fe62720c7346212d74 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2450642 + timestamp: 1757624375958 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + sha256: 2bdd1cdd677b119abc5e83069bec2e28fe6bfb21ebaea3cd07acee67f38ea274 + md5: c2a0c1d0120520e979685034e0b79859 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 1448617 + timestamp: 1758894401402 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + md5: 915f5995e94f60e9a4826e0b0920ee88 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-only + purls: [] + size: 790176 + timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 + md5: 8397539e3a0bbd1695584fb4f927485a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 633710 + timestamp: 1762094827865 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.1-hf08fa70_5.conda + sha256: 6b9524a6a7ea6ef1ac791b697f660c2898171ae505d12e6d27509b59cf059ee6 + md5: 82954a6f42e3fba59628741dca105c98 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libgcc >=14 + - libhwy >=1.3.0,<1.4.0a0 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1740728 + timestamp: 1761788390905 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-37_h5e43f62_mkl.conda + build_number: 37 + sha256: 1919047509e5067052130db19d7e9afcf74c045f45cbbf72940919f3875359de + md5: 0c4af651539e79160cd3f0783391e918 + depends: + - libblas 3.9.0 37_h5875eb1_mkl + constrains: + - liblapacke 3.9.0 37*_mkl + - blas 2.137 mkl + - libcblas 3.9.0 37*_mkl + track_features: + - blas_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 17510 + timestamp: 1760212773952 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.5-hf7376ad_0.conda + sha256: 180d77016c2eb5c8722f31a4750496b773e810529110d370ffc6d0cbbf6d15bb + md5: 9d476d7712c3c78ace006017c83d3889 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 44350262 + timestamp: 1762289424598 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 md5: 1a580f7796c7bf6393fddb8bbbde58dc @@ -870,6 +3032,49 @@ packages: purls: [] size: 439868 timestamp: 1749230061968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h11f7409_103.conda + sha256: e9a8668212719a91a6b0348db05188dfc59de5a21888db13ff8510918a67b258 + md5: 3ccff1066c05a1e6c221356eecc40581 + depends: + - __glibc >=2.17,<3.0.a0 + - attr >=2.5.2,<2.6.0a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - zlib + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + purls: [] + size: 871447 + timestamp: 1757977084313 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + sha256: a4a7dab8db4dc81c736e9a9b42bdfd97b087816e029e221380511960ac46c690 + md5: b499ce4b026493a13774bcf0f4c33849 + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.5,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 666600 + timestamp: 1756834976695 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 md5: d864d34357c3b65a4b731f78c0801dc4 @@ -881,17 +3086,187 @@ packages: purls: [] size: 33731 timestamp: 1750274110928 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda - sha256: 6d9c32fc369af5a84875725f7ddfbfc2ace795c28f246dc70055a79f9b2003da - md5: 0b367fad34931cb79e0d6b7e5c06bb1c +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 33418 + timestamp: 1734670021371 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 + md5: 68e52064ed3897463c0e958ab5c8f91b + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 218500 + timestamp: 1745825989535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + sha256: 215086c108d80349e96051ad14131b751d17af3ed2cb5a34edd62fa89bfe8ead + md5: 7df50d44d4a14d6c31a2c54f2cd92157 depends: - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 50757 + timestamp: 1731330993524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + sha256: 0bd91de9b447a2991e666f284ae8c722ffb1d84acb594dbd0c031bd656fa32b2 + md5: 70e3400cbbfa03e96dcde7fc13e38c7b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 28424 + timestamp: 1749901812541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h421ea60_1.conda + sha256: e75a2723000ce3a4b9fd9b9b9ce77553556c93e475a4657db6ed01abc02ea347 + md5: 7af8e91b0deb5f8e25d1a595dea79614 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 317390 + timestamp: 1753879899951 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.0-h3675c94_0.conda + sha256: 81d9ac5c23257745eb73b81103b3c42442ac13c5d38226916debbf55573540dd + md5: 064887eafa473cbfae9ee8bedd3b7432 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - openldap >=2.6.10,<2.7.0a0 + - openssl >=3.5.3,<4.0a0 + license: PostgreSQL + purls: [] + size: 2849367 + timestamp: 1758820440469 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_2.conda + sha256: 1679f16c593d769f3dab219adb1117cbaaddb019080c5a59f79393dc9f45b84f + md5: 94cb88daa0892171457d9fdc69f43eca + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4645876 + timestamp: 1760550892361 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + sha256: 4c992dcd0e34b68f843e75406f7f303b1b97c248d18f3c7c330bdc0bc26ae0b3 + md5: 729a572a3ebb8c43933b30edcc628ceb + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 - libgcc >=14 - libzlib >=1.3.1,<2.0a0 license: blessing purls: [] - size: 932581 - timestamp: 1753948484112 + size: 945576 + timestamp: 1762299687230 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + sha256: fa39bfd69228a13e553bd24601332b7cfeb30ca11a3ca50bb028108fe90a7661 + md5: eecce068c7e4eddeb169591baac20ac4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 304790 + timestamp: 1745608545575 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + sha256: 1b981647d9775e1cdeb2fab0a4dd9cd75a6b0de2963f6c3953dbd712f78334b3 + md5: 5b767048b1b3ee9a954b06f4084f93dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 h767d61c_7 + constrains: + - libstdcxx-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 3898269 + timestamp: 1759968103436 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + sha256: 024fd46ac3ea8032a5ec3ea7b91c4c235701a8bf0e6520fe5e6539992a6bd05f + md5: f627678cf829bd70bccf141a19c3ad3e + depends: + - libstdcxx 15.2.0 h8f9b012_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 29343 + timestamp: 1759968157195 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + sha256: 50c8cd416ac8425e415264de167b41ae8442de22a91098dfdd993ddbf9f13067 + md5: 553281a034e9cf8693c9df49f6c78ea1 + depends: + - libgcc-ng >=12 + - libogg 1.3.* + - libogg >=1.3.5,<1.4.0a0 + - libvorbis 1.3.* + - libvorbis >=1.3.7,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 328924 + timestamp: 1719667859099 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 + md5: cd5a90476766d53e901500df9215e927 + depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + purls: [] + size: 435273 + timestamp: 1762022005702 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtomo-1.15.3-h1234567_10.conda + build_number: 0 + sha256: edc5d93cf4cd77e34f8bee39c9943d4af479b86665e41b500eec525e5d86cab4 + md5: 423635562eff30f128c8d216232d514c + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - libgcc >=13 + - libstdcxx >=13 + - mkl >=2024.2.2,<2025.0a0 + constrains: + - tomopy >1.11.0 + track_features: + - nocuda_CmNhJ1DLKR + license: BSD-3-Clause AND MIT + license_family: BSD + purls: [] + size: 84224 + timestamp: 1759782514511 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda sha256: e5ec6d2ad7eef538ddcb9ea62ad4346fde70a4736342c4ad87bd713641eb9808 md5: 80c07c68d2f6870250959dcc95b209d1 @@ -903,6 +3278,137 @@ packages: purls: [] size: 37135 timestamp: 1758626800002 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 + md5: b4ecbefe517ed0157c37f8182768271c + depends: + - libogg + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 285894 + timestamp: 1753879378005 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + sha256: bbabc5c48b63ff03f440940a11d4648296f5af81bb7630d98485405cd32ac1ce + md5: 372a62464d47d9e966b630ffae3abe73 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + constrains: + - libvulkan-headers 1.4.328.1.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 197672 + timestamp: 1759972155030 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b + md5: aea31d2e5b1091feca96fcfe945c3cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 429011 + timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + purls: [] + size: 395888 + timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 100393 + timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.0-hca5e8e5_0.conda + sha256: 576ce5378cc6a2b722ff33d2359ccb74dea1e6465daa45116e57550f1eb4ba7e + md5: aa65b4add9574bb1d23c76560c5efd4c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + purls: [] + size: 843995 + timestamp: 1762341607312 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 + md5: e512be7dc1f84966d50959e900ca121f + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2-16 2.15.1 ha9997c6_0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 45283 + timestamp: 1761015644057 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 + md5: e7733bc6785ec009e47a224a71917e84 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + constrains: + - libxml2 2.15.1 + license: MIT + license_family: MIT + purls: [] + size: 556302 + timestamp: 1761015637262 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + sha256: 991e7348b0f650d495fb6d8aa9f8c727bdf52dabf5853c0cc671439b160dce48 + md5: a7b27c075c9b7f459f1c022090697cba + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 109043 + timestamp: 1730442108429 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 md5: edb0dca6bc32e4f4789199455a1dbeb8 @@ -916,20 +3422,101 @@ packages: purls: [] size: 60963 timestamp: 1727963148474 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 + sha256: ff94f30b2e86cbad6296cf3e5804d442d9e881f7ba8080d92170981662528c6e + md5: c66fe2d123249af7651ebde8984c51c2 + depends: + - libgcc-ng >=9.3.0 + - libstdcxx-ng >=9.3.0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 168074 + timestamp: 1607309189989 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-21.1.5-h4922eb0_0.conda + sha256: b80325cd93884912ab78717dc5c2145373e5aefeb1ad6af34267ab33b5a7eea4 + md5: 527e993cefc9ac376b8fb112f47cc2e0 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - openmp 21.1.5|21.1.5.* + - intel-openmp <0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 3226046 + timestamp: 1762315432827 - pypi: https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: llvmlite version: 0.45.1 sha256: 3adc2355694d6a6fbcc024d59bb756677e7de506037c878022d7b877e7613a36 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/38/7e/7b91c89a4cf0f543a83be978657afb20c86af6d725253e319589dcc4ce52/lmfit-1.3.4-py3-none-any.whl + name: lmfit + version: 1.3.4 + sha256: afce1593b42324d37ae2908249b0c55445e2f4c1a0474ff706a8e2f7b5d949fa + requires_dist: + - asteval>=1.0 + - numpy>=1.24 + - scipy>=1.10.0 + - uncertainties>=3.2.2 + - dill>=0.3.4 + - build ; extra == 'dev' + - check-wheel-contents ; extra == 'dev' + - flake8-pyproject ; extra == 'dev' + - pre-commit ; extra == 'dev' + - twine ; extra == 'dev' + - cairosvg ; extra == 'doc' + - corner ; extra == 'doc' + - emcee>=3.0.0 ; extra == 'doc' + - ipykernel ; extra == 'doc' + - jupyter-sphinx>=0.2.4 ; extra == 'doc' + - matplotlib ; extra == 'doc' + - numdifftools ; extra == 'doc' + - pandas ; extra == 'doc' + - pillow ; extra == 'doc' + - pycairo ; sys_platform == 'win32' and extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-gallery>=0.10 ; extra == 'doc' + - sphinxcontrib-svg2pdfconverter ; extra == 'doc' + - sympy ; extra == 'doc' + - coverage ; extra == 'test' + - flaky ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - lmfit[dev,doc,test] ; extra == 'all' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl name: locket version: 1.0.0 sha256: b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3 requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' -- pypi: https://files.pythonhosted.org/packages/81/af/665685072e71f3f0e626221b7922867ec249cd8376aca761078c8f11f5da/lz4-4.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +- conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + sha256: e4a07f357a4cf195a2345dabd98deab80f4d53574abe712a9cc7f22d3f2cc2c3 + md5: 49647ac1de4d1e4b49124aedf3934e02 + depends: + - __unix + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/loguru?source=hash-mapping + size: 59696 + timestamp: 1746634858826 +- pypi: https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + name: lxml + version: 6.0.2 + sha256: 7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7 + requires_dist: + - cssselect>=0.7 ; extra == 'cssselect' + - html5lib ; extra == 'html5' + - beautifulsoup4 ; extra == 'htmlsoup' + - lxml-html-clean ; extra == 'html-clean' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/25/3b/b55cb577aa148ed4e383e9700c36f70b651cd434e1c07568f0a86c9d5fbb/lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: lz4 - version: 4.4.4 - sha256: 80dd27d7d680ea02c261c226acf1d41de2fd77af4fb2da62b278a9376e380de0 + version: 4.4.5 + sha256: 75419bb1a559af00250b8f1360d508444e80ed4b26d9d40ec5b09fe7875cb989 requires_dist: - pytest!=3.3.0 ; extra == 'tests' - psutil ; extra == 'tests' @@ -938,6 +3525,18 @@ packages: - sphinx-bootstrap-theme ; extra == 'docs' - flake8 ; extra == 'flake8' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 + md5: 9de5350a85c4a20c685259b889aa6393 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 167055 + timestamp: 1733741040117 - pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl name: markdown-it-py version: 4.0.0 @@ -971,6 +3570,53 @@ packages: - pytest-regressions ; extra == 'testing' - requests ; extra == 'testing' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: markupsafe + version: 3.0.3 + sha256: 0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/marshmallow-4.1.0-pyhd8ed1ab_0.conda + sha256: 8265bde932323c6daf2f26dbd0b2b7ab093d6a383ed2ca643c3e38f0241d96d4 + md5: d4fbc913beb8fa12b082909cb1e6963e + depends: + - backports-datetime-fromisoformat + - python >=3.10 + - typing_extensions + license: MIT AND BSD-3-Clause + purls: + - pkg:pypi/marshmallow?source=hash-mapping + size: 90851 + timestamp: 1762028064063 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py311h0f3be63_0.conda + sha256: 9e4b8469fe2a864b58f5d9a23e630ab34a4781af337178578f83625ee50da3ab + md5: b4ec935aa9298e5498613ea66b3c3a98 + depends: + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.11,<3.12.0a0 + - python-dateutil >=2.7 + - python_abi 3.11.* *_cp311 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/matplotlib?source=hash-mapping + size: 8528411 + timestamp: 1760560556540 - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl name: matplotlib-inline version: 0.2.1 @@ -988,17 +3634,72 @@ packages: version: 0.1.2 sha256: 84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2024.2.2-ha770c72_17.conda + sha256: 1e59d0dc811f150d39c2ff2da930d69dcb91cb05966b7df5b7d85133006668ed + md5: e4ab075598123e783b788b995afbdad0 + depends: + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 + - llvm-openmp >=20.1.8 + - tbb 2021.* + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 124988693 + timestamp: 1753975818422 - pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl name: mongoquery version: 1.4.3 sha256: 8be47635c5e361c9f363b7a901a2b86649687491b7aaca2d12601eff41cb6128 requires_dist: - six -- pypi: https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: msgpack - version: 1.1.2 - sha256: 454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef - requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.py3-none-any.whl + name: msgpack-numpy + version: 0.4.8 + sha256: 773c19d4dfbae1b3c7b791083e2caf66983bb19b40901646f61d8731554ae3da + requires_dist: + - numpy>=1.9.0 + - msgpack>=0.5.2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py311hdf67eae_0.conda + sha256: 6a6993a7ce7fb6861af9b915be55213e531753515e95142b1a14add8f83d926e + md5: a8c86d338939ab629a921edcd2610cb2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 102711 + timestamp: 1759930566567 +- conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py311h2dc5d0c_0.conda + sha256: cde96613adebfa3a2c57abd4bf4026b6829d276fa95756ac6516115a7ff83b1f + md5: f368028b53e029409e2964707e03dcaf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/multidict?source=hash-mapping + size: 97411 + timestamp: 1751310661884 +- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 + md5: 37293a85a0f4f77bbd9cf7aaefc62609 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/munkres?source=hash-mapping + size: 15851 + timestamp: 1749895533014 - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 md5: 47e340acb35de30501a76c7c799c41d7 @@ -1016,11 +3717,65 @@ packages: requires_dist: - numpy ; extra == 'arrays' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl - name: nest-asyncio - version: 1.6.0 - sha256: 87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c - requires_python: '>=3.5' +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.5-pyhe01879c_0.conda + sha256: 02019191a2597865940394ff42418b37bc585a03a1c643d7cea9981774de2128 + md5: 16bff3d37a4f99e3aa089c36c2b8d650 + depends: + - python >=3.11 + - python + constrains: + - numpy >=1.25 + - scipy >=1.11.2 + - matplotlib >=3.8 + - pandas >=2.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/networkx?source=hash-mapping + size: 1564462 + timestamp: 1749078300258 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + sha256: fd2cbd8dfc006c72f45843672664a8e4b99b2f8137654eaae8c3d46dca776f63 + md5: 16c2a0e9c4a166e53632cfca4f68d020 + constrains: + - nlohmann_json-abi ==3.12.0 + license: MIT + license_family: MIT + purls: [] + size: 136216 + timestamp: 1758194284857 +- pypi: https://files.pythonhosted.org/packages/ad/e6/8a63fe24caf89f1006504d913101a112eada32942ce0268e461ff0c84fd9/nslsii-0.11.4-py3-none-any.whl + name: nslsii + version: 0.11.4 + sha256: a3a0f4ad4401ad7fd81a94c39e97c88edb0e34d1167ebc93c368a3fd36cbc696 + requires_dist: + - appdirs + - bluesky-kafka>=0.8.0 + - bluesky>=1.8.1 + - caproto + - databroker + - h5py + - httpx + - ipython + - ipywidgets + - ldap3 + - matplotlib + - msgpack>=1.0.0 + - msgpack-numpy + - numpy + - opencv-python + - ophyd + - ophyd-async + - packaging + - pillow + - psutil + - pycryptodome + - pyolog + - redis + - redis-json-dict + - requests + - setuptools + - shortuuid - pypi: https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: numba version: 0.62.1 @@ -1029,18 +3784,112 @@ packages: - llvmlite>=0.45.0.dev0,<0.46 - numpy>=1.22,<2.4 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/4c/1a/edbe839109518364ac0bd9e918cf874c755bb2c128040e920f198c494263/numexpr-2.14.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - name: numexpr - version: 2.14.1 - sha256: 2a381e5e919a745c9503bcefffc1c7f98c972c04ec58fc8e999ed1a929e01ba6 +- pypi: https://files.pythonhosted.org/packages/b6/0f/49d1f74a216149240c4b9403218111f11670bd11af0919fda357bb056bf2/numcodecs-0.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: numcodecs + version: 0.16.3 + sha256: 85a7f1cae9eb18b85709af46570bf9c60056e7155c4c8f610e8080c68124d0e5 requires_dist: - - numpy>=1.23.0 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: numpy - version: 1.26.4 - sha256: 666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 - requires_python: '>=3.9' + - numpy>=1.24 + - typing-extensions + - sphinx ; extra == 'docs' + - sphinx-issues ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - numpydoc ; extra == 'docs' + - coverage ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - pyzstd ; extra == 'test' + - importlib-metadata ; extra == 'test-extras' + - msgpack ; extra == 'msgpack' + - zfpy>=1.0.0 ; extra == 'zfpy' + - pcodec>=0.3,<0.4 ; extra == 'pcodec' + - crc32c>=2.7 ; extra == 'crc32c' + requires_python: '>=3.11' +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-mkl_py311h3762c3e_0.conda + sha256: 4d1d377e13ac5ef14b31dde61462e4cb7a355c5fe6ec3e74abf56f3a19245b37 + md5: d6d3a2b39adfd846885e0ce224266ec6 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas * *mkl + - libgcc >=14 + - libstdcxx >=14 + - mkl >=2024.2.2,<2025.0a0 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + purls: + - pkg:pypi/numexpr?source=hash-mapping + size: 220061 + timestamp: 1760378011627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.4-py311h2e04523_0.conda + sha256: 67cc072b8f5c157df4228a1a2291628e5ca2360f48ef572a64e2cf2bf55d2e25 + md5: d84afde5a6f028204f24180ff87cf429 + depends: + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.11.* *_cp311 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 9418119 + timestamp: 1761162089374 +- pypi: https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: opencv-python + version: 4.11.0.86 + sha256: 6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d + requires_dist: + - numpy>=1.13.3 ; python_full_version < '3.7' + - numpy>=1.21.0 ; python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin' + - numpy>=1.21.2 ; python_full_version >= '3.10' + - numpy>=1.21.4 ; python_full_version >= '3.10' and sys_platform == 'darwin' + - numpy>=1.23.5 ; python_full_version >= '3.11' + - numpy>=1.26.0 ; python_full_version >= '3.12' + - numpy>=1.19.3 ; python_full_version >= '3.6' and platform_machine == 'aarch64' and sys_platform == 'linux' + - numpy>=1.17.0 ; python_full_version >= '3.7' + - numpy>=1.17.3 ; python_full_version >= '3.8' + - numpy>=1.19.3 ; python_full_version >= '3.9' + requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + sha256: cb0b07db15e303e6f0a19646807715d28f1264c6350309a559702f4f34f37892 + md5: 2e5bf4f1da39c0b32778561c3c4e5878 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.27,<3.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.5.0,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + purls: [] + size: 780253 + timestamp: 1748010165522 - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549 md5: 14edad12b59ccbfa3910d42c72adc2a0 @@ -1053,16 +3902,98 @@ packages: purls: [] size: 3119624 timestamp: 1759324353651 -- pypi: https://files.pythonhosted.org/packages/bb/6a/e5bf7b70883f374710ad74faf99bacfc4b5b5a7797c1d5e130350e0e28a3/orjson-3.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/ae/a2/d86e01c28300bd41bab8f18afd613676e2bd63515417b77636fc1add426f/opentelemetry_api-1.38.0-py3-none-any.whl + name: opentelemetry-api + version: 1.38.0 + sha256: 2891b0197f47124454ab9f0cf58f3be33faca394457ac3e09daba13ff50aa582 + requires_dist: + - importlib-metadata>=6.0,<8.8.0 + - typing-extensions>=4.5.0 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/46/59/e11136fe6db0b1f3aea14de7bc36122aaa0ca67b715e400d45974b8848be/ophyd-1.11.0-py3-none-any.whl + name: ophyd + version: 1.11.0 + sha256: 216ee73f61409550916aed03773ac5dbe0e43dc2e463d3b865212d1e7ca7b877 + requires_dist: + - networkx>=2.0 + - numpy + - opentelemetry-api + - packaging + - pint + - attrs>=19.3.0 ; extra == 'dev' + - black==22.3.0 ; extra == 'dev' + - bluesky>=1.11.0 ; extra == 'dev' + - caproto[standard]>=0.4.2rc1,!=1.2.0 ; extra == 'dev' + - pytest-codecov ; extra == 'dev' + - databroker>=1.0.0b1 ; extra == 'dev' + - doctr ; extra == 'dev' + - epics-pypdb ; extra == 'dev' + - flake8 ; extra == 'dev' + - flake8-isort ; extra == 'dev' + - h5py ; extra == 'dev' + - inflection ; extra == 'dev' + - ipython ; extra == 'dev' + - ipywidgets ; extra == 'dev' + - matplotlib ; extra == 'dev' + - mypy ; extra == 'dev' + - myst-parser ; extra == 'dev' + - numpydoc ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pydata-sphinx-theme ; extra == 'dev' + - pyepics>=3.4.2,<3.5.7 ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-asyncio ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-faulthandler ; extra == 'dev' + - pytest-rerunfailures ; extra == 'dev' + - pytest-timeout ; extra == 'dev' + - pipdeptree ; extra == 'dev' + - setuptools>=64 ; extra == 'dev' + - setuptools-scm[toml]>=6.2 ; extra == 'dev' + - sphinx-autobuild ; extra == 'dev' + - sphinx-design ; extra == 'dev' + - tox-direct ; extra == 'dev' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/1e/ca/136e837b1bd150c61243c8a6bf4f24694537103b6eebdaee6cd7b70f72e5/ophyd_async-0.13.6-py3-none-any.whl + name: ophyd-async + version: 0.13.6 + sha256: 2ab699bca51ef8449ae751fdd123011aafc7b56c3a4b3328dc76828a1d3139f7 + requires_dist: + - numpy + - bluesky>=1.13.1rc2 + - event-model>=1.23 + - pyyaml + - colorlog + - pydantic>=2.0 + - pydantic-numpy + - stamina>=23.1.0 + - scanspec>=0.8 + - velocity-profile + - h5py ; extra == 'sim' + - aioca>=2.0a4 ; extra == 'ca' + - p4p>=4.2.0 ; extra == 'pva' + - pytango>=10.0.2 ; extra == 'tango' + - ipython ; extra == 'demo' + - matplotlib ; extra == 'demo' + - pyqt6 ; extra == 'demo' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/b5/18/bf8581eaae0b941b44efe14fee7b7862c3382fbc9a0842132cfc7cf5ecf4/orjson-3.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: orjson - version: 3.11.3 - sha256: f9d4a5e041ae435b815e568537755773d05dac031fee6a57b4ba70897a44d9d2 + version: 3.11.4 + sha256: 95713e5fc8af84d8edc75b785d2386f653b63d62b16d681687746734b4dfc0be requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl - name: packaging - version: '25.0' - sha256: 29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 - requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: 58335b26c38bf4a20f399384c33cbcf9 + depends: + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping + size: 62477 + timestamp: 1745345660407 - pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl name: pandas version: 2.3.3 @@ -1154,6 +4085,34 @@ packages: - xlsxwriter>=3.0.5 ; extra == 'all' - zstandard>=0.19.0 ; extra == 'all' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/paraview-6.0.1-py311h7e6dd26_1.conda + sha256: ea41f80ab8beb79e56f6c743f3c286b242f1d7d908c075a79ce0ae39ac1590c8 + md5: 102088f4cbc9900585ea7760570c830f + depends: + - __glibc >=2.17,<3.0.a0 + - cgns >=4.5.0,<4.6.0a0 + - icu >=75.1,<76.0a0 + - libcurl >=8.14.1,<9.0a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglvnd >=1.7.0,<2.0a0 + - libharu >=2.4.5,<2.5.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.0a0 + - matplotlib-base + - numpy + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - vtk-base >=9.5.1,<9.5.2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 35340762 + timestamp: 1760223452146 - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl name: parso version: 0.8.5 @@ -1177,12 +4136,134 @@ packages: - pyzmq ; extra == 'complete' - blosc ; extra == 'complete' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + sha256: 5c7380c8fd3ad5fc0f8039069a45586aa452cf165264bc5a437ad80397b32934 + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1209177 + timestamp: 1756742976157 - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl name: pexpect version: 4.9.0 sha256: 7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 requires_dist: - ptyprocess>=0.5 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.0.0-py311h07c5bb8_0.conda + sha256: 57231a713744270bcd7116f339e13c78cd78f055a54b4d9b811a8597076c21d2 + md5: 51f505a537b2d216a1b36b823df80995 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - tk >=8.6.13,<8.7.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - python_abi 3.11.* *_cp311 + - openjpeg >=2.5.4,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - zlib-ng >=2.2.5,<2.3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - lcms2 >=2.17,<3.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: HPND + purls: + - pkg:pypi/pillow?source=compressed-mapping + size: 1044368 + timestamp: 1761655794832 +- pypi: https://files.pythonhosted.org/packages/b8/02/5bf3639f5b77e9b183011c08541c5039ba3d04f5316c70312b48a8e003a9/pims-0.7.tar.gz + name: pims + version: '0.7' + sha256: 55907a4c301256086d2aa4e34a5361b9109f24e375c2071e1117b9491e82946b + requires_dist: + - imageio + - numpy>=1.19 + - packaging + - slicerator>=0.9.8 + - tifffile + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/05/32/2f6a3e6b073f16f88a133bf50adb361cd714621e582191e03c0705307c8b/pint-0.25.1-py3-none-any.whl + name: pint + version: 0.25.1 + sha256: b13dc42d0effa2d98b621b06eb0f2990d262c655c8893f6d40a74c334f9aa6b4 + requires_dist: + - flexcache>=0.3 + - flexparser>=0.4 + - platformdirs>=2.1.0 + - typing-extensions>=4.0.0 + - babel<=2.8 ; extra == 'all' + - dask<2025.3.0 ; extra == 'all' + - matplotlib ; extra == 'all' + - mip>=1.13 ; python_full_version < '3.13' and extra == 'all' + - numpy>=1.23 ; extra == 'all' + - pint-pandas>=0.3 ; extra == 'all' + - uncertainties>=3.1.6 ; extra == 'all' + - xarray ; extra == 'all' + - babel<=2.8 ; extra == 'babel' + - pytest ; extra == 'codspeed' + - pytest-benchmark ; extra == 'codspeed' + - pytest-codspeed ; extra == 'codspeed' + - pytest-cov ; extra == 'codspeed' + - pytest-mpl ; extra == 'codspeed' + - pytest-subtests ; extra == 'codspeed' + - dask<2025.3.0 ; extra == 'dask' + - babel ; extra == 'docs' + - commonmark==0.8.1 ; extra == 'docs' + - currencyconverter ; extra == 'docs' + - docutils ; extra == 'docs' + - graphviz ; extra == 'docs' + - ipykernel ; extra == 'docs' + - ipython<=8.12 ; extra == 'docs' + - jupyter-client ; extra == 'docs' + - nbsphinx ; extra == 'docs' + - pooch ; extra == 'docs' + - pygments>=2.4 ; extra == 'docs' + - recommonmark==0.5.0 ; extra == 'docs' + - sciform ; extra == 'docs' + - scipy ; extra == 'docs' + - serialize ; extra == 'docs' + - sparse ; extra == 'docs' + - sphinx-book-theme>=1.1.0 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx-design ; extra == 'docs' + - sphinx>=6,<8.2 ; extra == 'docs' + - matplotlib ; extra == 'matplotlib' + - mip>=1.13 ; python_full_version < '3.13' and extra == 'mip' + - numpy>=1.23 ; extra == 'numpy' + - pint-pandas>=0.3 ; extra == 'pandas' + - pytest ; extra == 'test' + - pytest-benchmark ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-subtests ; extra == 'test' + - pytest ; extra == 'test-all' + - pytest-benchmark ; extra == 'test-all' + - pytest-cov ; extra == 'test-all' + - pytest-mpl ; extra == 'test-all' + - pytest-subtests ; extra == 'test-all' + - pytest-mpl ; extra == 'test-mpl' + - uncertainties>=3.1.6 ; extra == 'uncertainties' + - xarray ; extra == 'xarray' + requires_python: '>=3.11' +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a + md5: c01af13bdc553d1a8fbfff6e8db075f0 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 450960 + timestamp: 1754665235234 - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl name: platformdirs version: 4.5.0 @@ -1199,6 +4280,39 @@ packages: - pytest>=8.4.2 ; extra == 'test' - mypy>=1.18.2 ; extra == 'type' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl + name: prettytable + version: 3.16.0 + sha256: b5eccfabb82222f5aa46b798ff02a8452cf530a352c31bddfa29be41242863aa + requires_dist: + - wcwidth + - pytest ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - pytest-lazy-fixtures ; extra == 'tests' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/42/59/123aee44a039b212cfb8d90be1adf06496a99b313ee1683aadf90b3d9799/progress-1.6.1-py3-none-any.whl + name: progress + version: 1.6.1 + sha256: 5239f22f305c12fdc8ce6e0e47f70f21622a935e16eafc4535617112e7c7ea0b + requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.0-hb72c0af_0.conda + sha256: f1c5e1cc0de088fd3458009be68095f561fa74b5ca6293dcca266f1854d859df + md5: 438e75abf4d8c9c1d9e483b6c3f36282 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + purls: [] + size: 3259440 + timestamp: 1757929968903 - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl name: prompt-toolkit version: 3.0.52 @@ -1206,10 +4320,24 @@ packages: requires_dist: - wcwidth requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl +- conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py311h2dc5d0c_0.conda + sha256: 38ef315508a4c6c96985a990b172964a8ed737fe4e991d82ad9d2a77c45add1f + md5: c75eb8c91d69fe0385fce584f3ce193a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/propcache?source=hash-mapping + size: 54558 + timestamp: 1744525097548 +- pypi: https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl name: psutil - version: 7.1.1 - sha256: 92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2 + version: 7.1.3 + sha256: 3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3 requires_dist: - pytest ; extra == 'dev' - pytest-instafail ; extra == 'dev' @@ -1236,6 +4364,7 @@ packages: - virtualenv ; extra == 'dev' - vulture ; extra == 'dev' - wheel ; extra == 'dev' + - colorama ; os_name == 'nt' and extra == 'dev' - pyreadline ; os_name == 'nt' and extra == 'dev' - pywin32 ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' @@ -1249,10 +4378,33 @@ packages: - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' - wmi ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 8252 + timestamp: 1726802366959 - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl name: ptyprocess version: 0.7.0 sha256: 4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 + md5: b11a4c6bf6f6f44e5e143f759ffa2087 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 118488 + timestamp: 1736601364156 - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl name: pure-eval version: 0.2.3 @@ -1263,36 +4415,51 @@ packages: name: py-cpuinfo version: 9.0.0 sha256: 859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5 -- pypi: https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/f5/e5/53c0a1c428f0976bf22f513d79c73000926cb00b9c138d8e02daf2102e18/pyarrow-22.0.0-cp311-cp311-manylinux_2_28_x86_64.whl name: pyarrow - version: 21.0.0 - sha256: 40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569 - requires_dist: - - pytest ; extra == 'test' - - hypothesis ; extra == 'test' - - cffi ; extra == 'test' - - pytz ; extra == 'test' - - pandas ; extra == 'test' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/a1/6b/83661fa77dcefa195ad5f8cd9af3d1a7450fd57cc883ad04d65446ac2029/pydantic-2.12.3-py3-none-any.whl + version: 22.0.0 + sha256: 35ad0f0378c9359b3f297299c3309778bb03b8612f987399a0333a560b43862d + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + name: pyasn1 + version: 0.6.1 + sha256: 0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pycryptodome + version: 3.23.0 + sha256: c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' +- pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl name: pydantic - version: 2.12.3 - sha256: 6986454a854bc3bc6e5443e1369e06a3a456af9d339eda45510f517d9ea5c6bf + version: 2.12.4 + sha256: 92d3d202a745d46f9be6df459ac5a064fdaa3c1c4cd8adcfa332ccf3c05f871e requires_dist: - annotated-types>=0.6.0 - - pydantic-core==2.41.4 + - pydantic-core==2.41.5 - typing-extensions>=4.14.1 - typing-inspection>=0.4.2 - email-validator>=2.0.0 ; extra == 'email' - tzdata ; python_full_version >= '3.9' and sys_platform == 'win32' and extra == 'timezone' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: pydantic-core - version: 2.41.4 - sha256: 6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8 + version: 2.41.5 + sha256: f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b requires_dist: - typing-extensions>=4.14.1 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/90/cb/c13d8a74419dde9590ed6fab293b516f68316ac87d06569b79b5f446d519/pydantic_numpy-8.0.1-py3-none-any.whl + name: pydantic-numpy + version: 8.0.1 + sha256: bf4cd84f4f864074197e9cfeafddca76bfbd1c2ef48f88be7322cc75838de4ae + requires_dist: + - compress-pickle[lz4] + - numpy>=2,<3 + - pydantic>=2.0,<3.0 + - ruamel-yaml>=0.18.5,<0.19.0 + - semver>=3.0.1,<4.0.0 + requires_python: '>=3.10,<3.14' - pypi: https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl name: pydantic-settings version: 2.11.0 @@ -1309,30 +4476,117 @@ packages: - tomli>=2.0.1 ; extra == 'toml' - pyyaml>=6.0.1 ; extra == 'yaml' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - name: pygments - version: 2.19.2 - sha256: 86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b +- pypi: https://files.pythonhosted.org/packages/07/6e/10a8bbefd158d303b88d1075e24370b61c62c48d2d6ed38fa890fd1ec860/pyepics-3.5.8-py3-none-any.whl + name: pyepics + version: 3.5.8 + sha256: 02f322284f558feea16f8d4efee3d102e27c4f7c25cbfdafcc28eec944110a44 requires_dist: - - colorama>=0.4.6 ; extra == 'windows-terminal' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/b4/8c/4065950f9d013c4b2e588fe33cf04e564c2322842d84dbcbce5ba1dc28b0/PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl - name: pyqt5 - version: 5.15.11 - sha256: cd672a6738d1ae33ef7d9efa8e6cb0a1525ecf53ec86da80a9e1b6ec38c8d0f1 + - numpy>=1.23 + - pyparsing + - sphinx ; extra == 'doc' + - numpydoc ; extra == 'doc' + - coverage ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - psutil ; sys_platform == 'linux' and extra == 'test' + - pyepics[doc,test] ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/09/2d/cb95032c097283dfdeab5a4c3d0564d79bd3e45a66dd4a9179f4d8f7cd94/pyfai-2025.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pyfai + version: 2025.3.0 + sha256: f102157978f39af049132fd05b7f9f8264eea0468ed65855729f860461f31ae5 requires_dist: - - pyqt5-sip>=12.15,<13 - - pyqt5-qt5>=5.15.2,<5.16.0 + - numpy>=1.10 + - h5py + - fabio + - silx>=2 + - numexpr!=2.8.6 + - scipy + - matplotlib + - importlib-resources ; python_full_version < '3.9' + - pyqt5 ; extra == 'gui' + - pyopencl ; extra == 'opencl' + - pyqt5 ; extra == 'all' + - pyopencl ; extra == 'all' + - hdf5plugin ; extra == 'all' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/ac/e1/13d25a9ff2ac236a264b4603abaa39fa8bb9a7aa430519bb5f545c5b008d/PyQt5_Qt5-5.15.17-py3-none-manylinux2014_x86_64.whl - name: pyqt5-qt5 - version: 5.15.17 - sha256: b018f75d1cc61146396fa5af14da1db77c5d6318030e5e366f09ffdf7bd358d8 -- pypi: https://files.pythonhosted.org/packages/dc/b2/330f97434b21fbc99ab16f6ce71358ff5ea1bf1f09ed14dfe6b28b5ed8f5/pyqt5_sip-12.17.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl - name: pyqt5-sip - version: 12.17.1 - sha256: 155cf755266c8bf64428916e2ff720d5efa1aec003d4ccc40c003b147dbdac03 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyfftw-0.15.1-py311h0372a8f_0.conda + sha256: 5c029daf1e0d8de5b27205bc8a7f38dc22037b7566d8e68f1e2b4c7395ba4fbe + md5: 41d8ec6037a40d0c8b26033f04bc1713 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause AND GPL-2.0-or-later + license_family: GPL + purls: + - pkg:pypi/pyfftw?source=hash-mapping + size: 2072819 + timestamp: 1761206076963 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/pygments?source=hash-mapping + size: 889287 + timestamp: 1750615908735 +- pypi: https://files.pythonhosted.org/packages/34/0d/a5271073339ba6fc8a5f4e3a62baaa5dd8bf35246c37b512317e2a22848e/pymongo-4.15.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pymongo + version: 4.15.3 + sha256: 1246a82fa6dd73ac2c63aa7e463752d5d1ca91e0c7a23396b78f21273befd3a7 + requires_dist: + - dnspython>=1.16.0,<3.0.0 + - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' + - furo==2025.7.19 ; extra == 'docs' + - readthedocs-sphinx-search~=0.3 ; extra == 'docs' + - sphinx-autobuild>=2020.9.1 ; extra == 'docs' + - sphinx-rtd-theme>=2,<4 ; extra == 'docs' + - sphinx>=5.3,<9 ; extra == 'docs' + - sphinxcontrib-shellcheck>=1,<2 ; extra == 'docs' + - certifi ; (sys_platform == 'darwin' and extra == 'encryption') or (os_name == 'nt' and extra == 'encryption') + - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'encryption' + - pymongocrypt>=1.13.0,<2.0.0 ; extra == 'encryption' + - pykerberos ; os_name != 'nt' and extra == 'gssapi' + - winkerberos>=0.5.0 ; os_name == 'nt' and extra == 'gssapi' + - certifi ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') + - cryptography>=2.5 ; extra == 'ocsp' + - pyopenssl>=17.2.0 ; extra == 'ocsp' + - requests<3.0.0 ; extra == 'ocsp' + - service-identity>=18.1.0 ; extra == 'ocsp' + - python-snappy ; extra == 'snappy' + - pytest-asyncio>=0.24.0 ; extra == 'test' + - pytest>=8.2 ; extra == 'test' + - zstandard ; extra == 'zstd' requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl + name: pyolog + version: 4.5.1 + sha256: 531a37c3f4c064d8108ad4a2216874d600fe133a07951e0a825e1dfe950de88a +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + sha256: 6814b61b94e95ffc45ec539a6424d8447895fef75b0fec7e1be31f5beee883fb + md5: 6c8979be6d7a17692793114fa26916e8 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyparsing?source=hash-mapping + size: 104044 + timestamp: 1758436411254 +- pypi: https://files.pythonhosted.org/packages/c4/d4/b10d1219b94576c25c8f7a631c7cfb59fbfcc22ddeae36a668a356650f79/pystackreg-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pystackreg + version: 0.2.8 + sha256: 122cdf491fed5b5bf9620546d7c7b84f002aa6bd98322e07a6ca1761bbb10889 + requires_dist: + - numpy + - tqdm - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda build_number: 1 sha256: 464f998e406b645ba34771bb53a0a7c2734e855ee78dd021aa4dedfdb65659b7 @@ -1358,55 +4612,164 @@ packages: purls: [] size: 31476523 timestamp: 1673700777998 -- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - name: python-dateutil - version: 2.9.0.post0 - sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 - requires_dist: - - six>=1.5 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' -- pypi: https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + md5: 5b8d21249ff20967101ffa321cab24e8 + depends: + - python >=3.9 + - six >=1.5 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/python-dateutil?source=hash-mapping + size: 233310 + timestamp: 1751104122689 +- pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl name: python-dotenv - version: 1.1.1 - sha256: 31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc + version: 1.2.1 + sha256: b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61 requires_dist: - click>=5.0 ; extra == 'cli' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.11-8_cp311.conda + build_number: 8 + sha256: fddf123692aa4b1fc48f0471e346400d9852d96eeed77dbfdd746fa50a8ff894 + md5: 8fcb6b0e2161850556231336dae58358 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7003 + timestamp: 1752805919375 - pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl name: pytz version: '2025.2' sha256: 5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_1.conda + sha256: 6accd7bc4762d43dc5db9a593b504a5e8807d71ffc31ced324ffb583b6ee896f + md5: 31838811238427e85f86a89fea0421dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.23,<3 + - numpy >=1.25,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pywavelets?source=hash-mapping + size: 3728688 + timestamp: 1756513426775 +- pypi: https://files.pythonhosted.org/packages/49/b3/abf48b1bf636c11c9c172949ce30a24d319514cc7ef65bada70ed4d7146d/pyxrf-1.0.31-py3-none-any.whl + name: pyxrf + version: 1.0.31 + sha256: c9919e072326d45066d6bd097254530e474cac6491ad9f655da56ebc77bac315 + requires_dist: + - setuptools + - atom + - dask + - distributed + - event-model + - jsonschema + - h5py>=2.9.0 + - lmfit + - matplotlib!=3.3.* + - numba + - numpy>=1.15 + - pandas + - pillow + - progress + - pystackreg + - pyyaml + - qtpy + - requests + - scikit-image + - scipy + - tifffile + requires_python: '>=3.6' - pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: pyyaml version: 6.0.3 sha256: b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - name: pyzmq - version: 27.1.0 - sha256: 5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e - requires_dist: - - cffi ; implementation_name == 'pypy' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/97/d2/3cb0980a6a4a2581facc4d47b2e7d99912a1f7065407f007f27419e19979/qtconsole-5.7.0-py3-none-any.whl - name: qtconsole - version: 5.7.0 - sha256: 42ff0734269a77129097131ce96059f97dc864e6e061d7ed919609ccfe18dd22 - requires_dist: - - traitlets!=5.2.1,!=5.2.2 - - jupyter-core - - jupyter-client>=4.1 - - pygments - - ipykernel>=4.1 - - ipython-pygments-lexers - - qtpy>=2.4.0 - - packaging - - flaky ; extra == 'test' - - pytest ; extra == 'test' - - pytest-qt ; extra == 'test' - - pytest-asyncio ; extra == 'test' - - sphinx>=1.3 ; extra == 'doc' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc + md5: 353823361b1d27eb3960efb076dfcaf6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + purls: [] + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.3-h5c1c036_1.conda + sha256: 51537408ce1493d267b375b33ec02a060d77c4e00c7bef5e2e1c6724e08a23e3 + md5: 762af6d08fdfa7a45346b1466740bacd + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - dbus >=1.16.2,<2.0a0 + - double-conversion >=3.3.1,<3.4.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - harfbuzz >=12.1.0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp21.1 >=21.1.4,<21.2.0a0 + - libclang13 >=21.1.4 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.86.0,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libllvm21 >=21.1.4,<21.2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libpq >=18.0,<19.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libvulkan-loader >=1.4.328.1,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.12.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - wayland >=1.24.0,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-cursor >=0.1.5,<0.2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.9.3 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 54785664 + timestamp: 1761308850008 - pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl name: qtpy version: 2.4.3 @@ -1417,6 +4780,19 @@ packages: - pytest-cov>=3.0.0 ; extra == 'test' - pytest-qt ; extra == 'test' requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda + sha256: 6e5e704c1c21f820d760e56082b276deaf2b53cf9b751772761c3088a365f6f4 + md5: 2c42649888aac645608191ffdc80d13a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - __glibc >=2.17 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 5176669 + timestamp: 1746622023242 - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c md5: 283b96675859b20a825f8fa30f311446 @@ -1428,6 +4804,37 @@ packages: purls: [] size: 282480 timestamp: 1740379431762 +- pypi: https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl + name: redis + version: 7.0.1 + sha256: 4977af3c7d67f8f0eb8b6fec0dafc9605db9343142f634041fb0235f67c0588a + requires_dist: + - async-timeout>=4.0.3 ; python_full_version < '3.11.3' + - pybreaker>=1.4.0 ; extra == 'circuit-breaker' + - hiredis>=3.2.0 ; extra == 'hiredis' + - pyjwt>=2.9.0 ; extra == 'jwt' + - cryptography>=36.0.1 ; extra == 'ocsp' + - pyopenssl>=20.0.1 ; extra == 'ocsp' + - requests>=2.31.0 ; extra == 'ocsp' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/99/63/d30abf8b53c6ceaea2e7d8d766363a6a2e6a6b7f2238e3ae56e882a4dc21/redis_json_dict-0.2.1-py3-none-any.whl + name: redis-json-dict + version: 0.2.1 + sha256: 2f4329fc5e1f5e5335e13e2f8c082cbdb43c35a1490aa7f8370a8eacccd8ccb1 + requires_dist: + - orjson>=3.9 + - redis>=5.0 + - pre-commit ; extra == 'dev' + - pytest-cov>=3 ; extra == 'dev' + - pytest>=6 ; extra == 'dev' + - furo>=2023.8.17 ; extra == 'docs' + - myst-parser>=0.13 ; extra == 'docs' + - sphinx-autodoc-typehints ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx>=7.0 ; extra == 'docs' + - pytest-cov>=3 ; extra == 'test' + - pytest>=6 ; extra == 'test' + requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl name: referencing version: 0.37.0 @@ -1463,21 +4870,245 @@ packages: version: 0.28.0 sha256: ac9f83e7b326a3f9ec3ef84cda98fb0a74c7159f33e692032233046e7fd15da2 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl + name: ruamel-yaml + version: 0.18.16 + sha256: 048f26d64245bae57a4f9ef6feb5b552a386830ef7a826f235ffb804c59efbba + requires_dist: + - ruamel-yaml-clib>=0.2.7 ; python_full_version < '3.14' and platform_python_implementation == 'CPython' + - ruamel-yaml-jinja2>=0.2 ; extra == 'jinja2' + - ryd ; extra == 'docs' + - mercurial>5.7 ; extra == 'docs' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/45/5d/65a2bc08b709b08576b3f307bf63951ee68a8e047cbbda6f1c9864ecf9a7/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: ruamel-yaml-clib + version: 0.2.14 + sha256: dba72975485f2b87b786075e18a6e5d07dc2b4d8973beb2732b9b2816f1bad70 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/df/d2/40b114decad4a2a9be2fb8eff0c96c9531ce64250e405d8dd7f37f3805d4/scanspec-0.9.0-py3-none-any.whl + name: scanspec + version: 0.9.0 + sha256: 354716527c1f57ca3d80f60c8fd24cce91d07ad7742a3716d2cc8429d7da08a5 + requires_dist: + - numpy + - click>=8.1 + - pydantic>=2.0 + - scipy ; extra == 'plotting' + - matplotlib ; extra == 'plotting' + - fastapi>=0.100.0 ; extra == 'service' + - uvicorn ; extra == 'service' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/c6/20/120fb17186c7349527935a74222cf71af9959d5dded27d37f29bf191f30b/scikit_beam-0.0.27.tar.gz + name: scikit-beam + version: 0.0.27 + sha256: bd190ee689d7e2d53bde108c3e455b10498c15e3d793ce47434d3a05dbbd9dd6 + requires_dist: + - fabio + - lmfit + - numpy>=1.15 + - pyfai + - scikit-image + - scipy + - six +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.25.2-py311hed34c8f_2.conda + sha256: 423fd5c1b5a7469c8e08e45f3e006d84518788104fefade7e78ea3e651bc7322 + md5: 515ec832e4a98828374fded73405e3f3 + depends: + - __glibc >=2.17,<3.0.a0 + - imageio >=2.33,!=2.35.0 + - lazy-loader >=0.4 + - libgcc >=14 + - libstdcxx >=14 + - networkx >=3.0 + - numpy >=1.23,<3 + - numpy >=1.24 + - packaging >=21 + - pillow >=10.1 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - pywavelets >=1.6 + - scipy >=1.11.4 + - tifffile >=2022.8.12 + constrains: + - astropy-base >=6.0 + - scikit-learn >=1.2 + - pooch >=1.6.0 + - pywavelets >=1.6 + - matplotlib-base >=3.7 + - dask-core >=2023.2.0,!=2024.8.0 + - pyamg >=5.2 + - numpy >=1.24 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scikit-image?source=hash-mapping + size: 10920286 + timestamp: 1757197266877 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py311h1e13796_0.conda + sha256: 3027e8d71a7b7e6b0d14af8f9729ee3923421ff5ee6557f7c7a943786985e524 + md5: 64a45020cd5a51f02fea17ad4dc76535 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.6 + - numpy >=1.23,<3 + - numpy >=1.25.2 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=hash-mapping + size: 17213197 + timestamp: 1761691072055 +- pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl + name: semver + version: 3.0.4 + sha256: 9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl + name: setuptools + version: 80.9.0 + sha256: 062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 + requires_dist: + - pytest>=6,!=8.1.* ; extra == 'test' + - virtualenv>=13.0.0 ; extra == 'test' + - wheel>=0.44.0 ; extra == 'test' + - pip>=19.1 ; extra == 'test' + - packaging>=24.2 ; extra == 'test' + - jaraco-envs>=2.2 ; extra == 'test' + - pytest-xdist>=3 ; extra == 'test' + - jaraco-path>=3.7.2 ; extra == 'test' + - build[virtualenv]>=1.0.3 ; extra == 'test' + - filelock>=3.4.0 ; extra == 'test' + - ini2toml[lite]>=0.14 ; extra == 'test' + - tomli-w>=1.0.0 ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest-perf ; sys_platform != 'cygwin' and extra == 'test' + - jaraco-develop>=7.21 ; python_full_version >= '3.9' and sys_platform != 'cygwin' and extra == 'test' + - pytest-home>=0.5 ; extra == 'test' + - pytest-subprocess ; extra == 'test' + - pyproject-hooks!=1.1 ; extra == 'test' + - jaraco-test>=5.5 ; extra == 'test' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pygments-github-lexers==0.0.5 ; extra == 'doc' + - sphinx-favicon ; extra == 'doc' + - sphinx-inline-tabs ; extra == 'doc' + - sphinx-reredirects ; extra == 'doc' + - sphinxcontrib-towncrier ; extra == 'doc' + - sphinx-notfound-page>=1,<2 ; extra == 'doc' + - pyproject-hooks!=1.1 ; extra == 'doc' + - towncrier<24.7 ; extra == 'doc' + - packaging>=24.2 ; extra == 'core' + - more-itertools>=8.8 ; extra == 'core' + - jaraco-text>=3.7 ; extra == 'core' + - importlib-metadata>=6 ; python_full_version < '3.10' and extra == 'core' + - tomli>=2.0.1 ; python_full_version < '3.11' and extra == 'core' + - wheel>=0.43.0 ; extra == 'core' + - platformdirs>=4.2.2 ; extra == 'core' + - jaraco-functools>=4 ; extra == 'core' + - more-itertools ; extra == 'core' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - ruff>=0.8.0 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest-mypy ; extra == 'type' + - mypy==1.14.* ; extra == 'type' + - importlib-metadata>=7.0.2 ; python_full_version < '3.10' and extra == 'type' + - jaraco-develop>=7.21 ; sys_platform != 'cygwin' and extra == 'type' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl name: shellingham version: 1.5.4 sha256: 7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - name: six - version: 1.17.0 - sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' +- pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl + name: shortuuid + version: 1.0.13 + sha256: a482a497300b49b4953e15108a7913244e1bb0d41f9d332f5e9925dba33a3c5a + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/d3/fb/4c08c29a262f75e60911db0f039e7011f9a2daf1000659cbe5a950737434/silx-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: silx + version: 2.2.2 + sha256: 962efdfc3d22a7dbca7e5884cd6bfdbb24424e79891444a89cc1d0c5e0fdacb6 + requires_dist: + - numpy + - packaging + - h5py + - fabio>=0.9 + - pyopencl ; extra == 'full' + - mako ; extra == 'full' + - qtconsole ; extra == 'full' + - matplotlib>=3.1.0 ; extra == 'full' + - pyopengl ; extra == 'full' + - python-dateutil ; extra == 'full' + - pyqt5 ; extra == 'full' + - hdf5plugin ; extra == 'full' + - scipy ; extra == 'full' + - pillow ; extra == 'full' + - pandoc ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - pillow ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - sphinx<8.2 ; extra == 'doc' + - pytest>=6.0 ; extra == 'test' + - pytest-xvfb ; extra == 'test' + - pytest-mock ; extra == 'test' + - scipy>=1.10 ; extra == 'test' + - pooch ; extra == 'test' + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping + size: 18455 + timestamp: 1753199211006 +- pypi: https://files.pythonhosted.org/packages/e8/ae/fa6cd331b364ad2bbc31652d025f5747d89cbb75576733dfdf8efe3e4d62/slicerator-1.1.0-py3-none-any.whl + name: slicerator + version: 1.1.0 + sha256: 167668d48c6d3a5ba0bd3d54b2688e81ee267dc20aef299e547d711e6f3c441a +- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_0.conda + sha256: 8b8acbde6814d1643da509e11afeb6bb30eb1e3004cf04a7c9ae43e9b097f063 + md5: 3d8da0248bdae970b4ade636a104b7f5 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 45805 + timestamp: 1753083455352 - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl name: sniffio version: 1.3.1 sha256: 2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + name: sortedcontainers + version: 2.4.0 + sha256: a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 - pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl name: sparse version: 0.17.0 @@ -1513,6 +5144,21 @@ packages: - finch-tensor>=0.2.12 ; extra == 'finch' - finch-mlir>=0.0.2 ; extra == 'mlir' requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.0-heff268d_0.conda + sha256: 5cece58ca7353705ea47bbe44088baee70d2dfa8bdf2bbcd211698f60ab5e7cd + md5: 5422f0e1b59d2aa29329d5b3e36d57e5 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libsqlite 3.51.0 hee844dc_0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - readline >=8.2,<9.0a0 + license: blessing + purls: [] + size: 182985 + timestamp: 1762299697693 - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl name: stack-data version: 0.6.3 @@ -1555,6 +5201,66 @@ packages: - pytest ; extra == 'tests' - mypy>=1.4 ; extra == 'typing' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl + name: suitcase-mongo + version: 0.7.0 + sha256: 97ce69461f7557a091463256598622e9bb24b22e9eaa2c3898d2c386de92cd08 + requires_dist: + - event-model>=1.8.0rc2 + - pymongo +- pypi: https://files.pythonhosted.org/packages/79/3d/ce19993849668bdfabf5d473e84bc9b1a2e78d20ab4147a19402a169a7e5/suitcase_msgpack-0.3.0-py3-none-any.whl + name: suitcase-msgpack + version: 0.3.0 + sha256: c8d221a169cf05beb7df1de502053591d5733301a58b7625dcfd0d3cd40527a9 + requires_dist: + - event-model>=1.8.0 + - msgpack + - msgpack-numpy + - suitcase-utils + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/79/1f/d09392ccd12ba3b9110b6ba35ca037d538c50a533f083a0ad96aa57e328f/suitcase_utils-0.5.4-py3-none-any.whl + name: suitcase-utils + version: 0.5.4 + sha256: 477281733e360a8ad38d25cd288c1ed4fb64144c90327c4f3bf3db9e0223743a + requires_dist: + - bluesky ; extra == 'complete' + - caproto ; extra == 'complete' + - ophyd ; extra == 'complete' + - pytest>=3.9 ; extra == 'complete' + - bluesky ; extra == 'test-fixtures' + - caproto ; extra == 'test-fixtures' + - ophyd ; extra == 'test-fixtures' + - pytest>=3.9 ; extra == 'test-fixtures' +- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda + sha256: 34e2e9c505cd25dba0a9311eb332381b15147cf599d972322a7c197aedfc8ce2 + md5: 9859766c658e78fec9afa4a54891d920 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2741200 + timestamp: 1756086702093 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.13.0-hb60516a_3.conda + sha256: cf9101d1327de410a844f29463c486c47dfde506d0c0656d2716c03135666c3f + md5: aa15aae38fd752855ca03a68af7f40e2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libhwloc >=2.12.1,<2.12.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 177271 + timestamp: 1755775913224 +- pypi: https://files.pythonhosted.org/packages/31/cc/099fab5a73909a117e9689c7da4c39a248595187f0f30dd879ad1d2c34ce/tblib-3.2.1-py3-none-any.whl + name: tblib + version: 3.2.1 + sha256: aacdaffceac6c4ef6818887b15677513f16d75c68384b76b415a935d548dd172 + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl name: tenacity version: 9.1.2 @@ -1566,10 +5272,26 @@ packages: - tornado>=4.5 ; extra == 'test' - typeguard ; extra == 'test' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/81/a4/33a94f5755ec15c49de5f29e7dac3da91943b89e45c44ad6a2431904f987/tiled-0.1.6-py3-none-any.whl +- conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2025.1.10-pyhd8ed1ab_0.conda + sha256: 5bfc4a40c4ad767709812d3d669b5df2e61601b8c1f880b4cd708ef83e267e6a + md5: c14759d89e3ecd179e46faeca715f897 + depends: + - imagecodecs >=2024.12.30 + - numpy >=1.19.2 + - python >=3.10 + constrains: + - zarr <3 + - matplotlib-base >=3.3 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/tifffile?source=hash-mapping + size: 180746 + timestamp: 1736610679503 +- pypi: https://files.pythonhosted.org/packages/ba/1d/1cb39a116ab11a42657d81cd0d6ef8d084da02ed6f61d5844909b9e0292b/tiled-0.2.0-py3-none-any.whl name: tiled - version: 0.1.6 - sha256: d0421f3413ef6c75ee32c1bfc892b3b822e62ef597c5203870047b6240eaf53f + version: 0.2.0 + sha256: e228fcd96ca7551b664096948853f8461bfcc0e9289f3b6d25d6fabc91e2f2f7 requires_dist: - httpx>=0.20.0,!=0.23.1 - json-merge-patch @@ -1607,10 +5329,12 @@ packages: - jinja2 ; extra == 'all' - jmespath ; extra == 'all' - lz4 ; extra == 'all' + - minio ; extra == 'all' - ndindex ; extra == 'all' - numba>=0.59.0 ; extra == 'all' - numcodecs ; extra == 'all' - numpy ; extra == 'all' + - obstore ; extra == 'all' - openpyxl ; extra == 'all' - packaging ; extra == 'all' - pandas ; extra == 'all' @@ -1625,7 +5349,7 @@ packages: - sparse>=0.15.5 ; extra == 'all' - sqlalchemy[asyncio]>=2 ; extra == 'all' - stamina ; extra == 'all' - - starlette>=0.38.0 ; extra == 'all' + - starlette>=0.48.0 ; extra == 'all' - tifffile ; extra == 'all' - uvicorn[standard] ; extra == 'all' - watchfiles ; extra == 'all' @@ -1666,6 +5390,7 @@ packages: - ldap3 ; extra == 'dev' - locust ; extra == 'dev' - matplotlib ; extra == 'dev' + - minio ; extra == 'dev' - mistune ; extra == 'dev' - myst-parser ; extra == 'dev' - numpydoc ; extra == 'dev' @@ -1674,11 +5399,14 @@ packages: - pytest-asyncio ; extra == 'dev' - pytest-mock ; extra == 'dev' - pytest-rerunfailures ; extra == 'dev' + - python3-saml ; extra == 'dev' + - respx ; extra == 'dev' - sphinx!=4.1.0,!=4.1.1,!=4.1.2,!=4.2.0 ; extra == 'dev' - sphinx-click ; extra == 'dev' - sphinx-copybutton ; extra == 'dev' - sphinx-rtd-theme ; extra == 'dev' - sphinxcontrib-mermaid ; extra == 'dev' + - types-cachetools ; extra == 'dev' - h5netcdf ; extra == 'formats' - h5py ; extra == 'formats' - hdf5plugin ; extra == 'formats' @@ -1709,7 +5437,7 @@ packages: - python-multipart ; extra == 'minimal-server' - redis ; extra == 'minimal-server' - sqlalchemy[asyncio]>=2 ; extra == 'minimal-server' - - starlette>=0.38.0 ; extra == 'minimal-server' + - starlette>=0.48.0 ; extra == 'minimal-server' - uvicorn[standard] ; extra == 'minimal-server' - zarr ; extra == 'minimal-server' - adbc-driver-manager ; extra == 'server' @@ -1737,10 +5465,12 @@ packages: - jinja2 ; extra == 'server' - jmespath ; extra == 'server' - lz4 ; extra == 'server' + - minio ; extra == 'server' - ndindex ; extra == 'server' - numba>=0.59.0 ; extra == 'server' - numcodecs ; extra == 'server' - numpy ; extra == 'server' + - obstore ; extra == 'server' - openpyxl ; extra == 'server' - packaging ; extra == 'server' - pandas ; extra == 'server' @@ -1754,7 +5484,7 @@ packages: - sparse>=0.15.5 ; extra == 'server' - sqlalchemy[asyncio]>=2 ; extra == 'server' - stamina ; extra == 'server' - - starlette>=0.38.0 ; extra == 'server' + - starlette>=0.48.0 ; extra == 'server' - tifffile ; extra == 'server' - uvicorn[standard] ; extra == 'server' - websockets ; extra == 'server' @@ -1780,13 +5510,54 @@ packages: license: TCL license_family: BSD purls: [] - size: 3285204 - timestamp: 1748387766691 -- pypi: https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl - name: tomlkit - version: 0.13.3 - sha256: c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0 - requires_python: '>=3.8' + size: 3285204 + timestamp: 1748387766691 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomopy-1.15.3-pyhd8ed1ab_0.conda + sha256: e771142464d112ef264235a91f0a506699a2d665402d6a0ba32af6d6c1cf770e + md5: 4176a18f362adae2499c1216f3900008 + depends: + - importlib-metadata + - libtomo >=1.15.3,<2.0a0 + - numexpr >=2.0,<3 + - numpy >=2.0,<3 + - python >=3.10,<4 + - pywavelets >=1.0,<2 + - scikit-image >=0.22,<0.26 + - scipy >=1.12,<2 + - tifffile >=2019,<2025.2.18 + constrains: + - astra-toolbox >1.8,<3 + license: BSD-3-Clause AND MIT + license_family: BSD + purls: + - pkg:pypi/tomopy?source=hash-mapping + size: 3110647 + timestamp: 1759782333809 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tomviz-2.1.2-py311ha338fd8_0.conda + sha256: e874900d17e30af10c4d4709cfe8308a583551ccd0dbe44e969a3507351ba54f + md5: 6499014544f0ca50a8c81e108d962929 + depends: + - __glibc >=2.17,<3.0.a0 + - jsonpatch + - jsonpointer + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - marshmallow + - numpy + - paraview >=6.0.1,<6.1.0a0 + - pyfftw + - pygments + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - scipy + - vtk-base >=9.5.1,<9.5.2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 107711469 + timestamp: 1762292356879 - pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl name: toolz version: 1.1.0 @@ -1797,6 +5568,22 @@ packages: version: 6.5.2 sha256: e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl + name: tqdm + version: 4.67.1 + sha256: 26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2 + requires_dist: + - colorama ; sys_platform == 'win32' + - pytest>=6 ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-timeout ; extra == 'dev' + - pytest-asyncio>=0.24 ; extra == 'dev' + - nbval ; extra == 'dev' + - requests ; extra == 'discord' + - slack-sdk ; extra == 'slack' + - requests ; extra == 'telegram' + - ipywidgets>=6 ; extra == 'notebook' + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl name: traitlets version: 5.14.3 @@ -1822,11 +5609,6 @@ packages: - shellingham>=1.3.0 - rich>=10.11.0 requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl - name: typing-extensions - version: 4.15.0 - sha256: f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl name: typing-inspection version: 0.4.2 @@ -1834,6 +5616,18 @@ packages: requires_dist: - typing-extensions>=4.12.0 requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d + depends: + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=hash-mapping + size: 51692 + timestamp: 1756220668932 - pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl name: tzdata version: '2025.2' @@ -1858,6 +5652,35 @@ packages: - check-manifest ; extra == 'devenv' - zest-releaser ; extra == 'devenv' requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/8f/5e/f1e1dd319e35e962a4e00b33150a8868b6329cc1d19fd533436ba5488f09/uncertainties-3.2.3-py3-none-any.whl + name: uncertainties + version: 3.2.3 + sha256: 313353900d8f88b283c9bad81e7d2b2d3d4bcc330cbace35403faaed7e78890a + requires_dist: + - numpy ; extra == 'arrays' + - pytest ; extra == 'test' + - pytest-codspeed ; extra == 'test' + - pytest-cov ; extra == 'test' + - scipy ; extra == 'test' + - sphinx ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + - python-docs-theme ; extra == 'doc' + - uncertainties[arrays,doc,test] ; extra == 'all' + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py311h49ec1c0_0.conda + sha256: 56e88b1f28ac62dd2a4aac539baa84e4864155ed11847c9e4de9f2f8cd2d63a5 + md5: dd15da2c344aecf8c36bf7944f1ea8d2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=hash-mapping + size: 409498 + timestamp: 1762268947975 - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl name: urllib3 version: 2.5.0 @@ -1869,6 +5692,85 @@ packages: - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' - zstandard>=0.18.0 ; extra == 'zstd' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + sha256: bbfbfc43bc028ec8acc5c9c2bb9a52c7652140cef91fdb6219a52d91d773a474 + md5: a480ee3eb9c95364a229673a28384899 + license: BSL-1.0 + purls: [] + size: 14169 + timestamp: 1758003868824 +- pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl + name: velocity-profile + version: 1.0.0 + sha256: b9082aedb2863748e1e6e56e7a794cd5742addd571f6ba2e13f4f5b8a09422d9 + requires_dist: + - numpy + - copier ; extra == 'dev' + - mypy ; extra == 'dev' + - pipdeptree ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - ruff ; extra == 'dev' + - tox-direct ; extra == 'dev' + - types-mock ; extra == 'dev' + - scanspec ; extra == 'dev' + - pydantic<2.0 ; extra == 'dev' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.5.1-py311h0db28e7_7.conda + sha256: af9a41812f2fa5b537c4efe8b6fc2a73b5a738369711548e9d64fd11e0555be5 + md5: 9f2540c0bdef818229e0868288617a22 + depends: + - __glibc >=2.17,<3.0.a0 + - cli11 + - double-conversion >=3.3.1,<3.4.0a0 + - fmt >=11.2.0,<11.3.0a0 + - gl2ps >=1.4.2,<1.4.3.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jsoncpp >=1.9.6,<1.9.7.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglu >=9.0.3,<9.1.0a0 + - libglvnd >=1.7.0,<2.0a0 + - libglx >=1.7.0,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libopengl >=1.7.0,<2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtheora >=1.1.1,<1.2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - loguru + - lz4-c >=1.10.0,<1.11.0a0 + - matplotlib-base >=2.0.0 + - nlohmann_json + - numpy + - proj >=9.7.0,<9.8.0a0 + - pugixml >=1.15,<1.16.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - qt6-main >=6.9.3,<6.10.0a0 + - tbb >=2021.13.0 + - utfcpp + - wslink + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + constrains: + - libboost-headers >=1.88.0,<1.89.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/vtk?source=hash-mapping + size: 63042697 + timestamp: 1760147247516 - pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: watchfiles version: 1.1.1 @@ -1876,6 +5778,20 @@ packages: requires_dist: - anyio>=3.0.0 requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + sha256: 3aa04ae8e9521d9b56b562376d944c3e52b69f9d2a0667f77b8953464822e125 + md5: 035da2e4f5770f036ff704fa17aace24 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 329779 + timestamp: 1761174273487 - pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl name: wcwidth version: 0.2.14 @@ -1886,6 +5802,24 @@ packages: version: 15.0.1 sha256: 8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl + name: widgetsnbextension + version: 4.0.15 + sha256: 8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366 + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + sha256: e9ac3caa3b17bed9bc301a67d3950f84fa37fb34002d2878c46cafb87978401d + md5: 8fa415e696acd9af59ce0a4425fd1b38 + depends: + - aiohttp <4 + - msgpack-python >=1,<2 + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/wslink?source=hash-mapping + size: 35839 + timestamp: 1760984848678 - pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl name: xarray version: 2025.10.1 @@ -1933,14 +5867,306 @@ packages: - types-requests ; extra == 'types' - types-setuptools ; extra == 'types' requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/c0/20/69a0e6058bc5ea74892d089d64dfc3a62ba78917ec5e2cfa70f7c92ba3a5/xmltodict-1.0.2-py3-none-any.whl - name: xmltodict - version: 1.0.2 - sha256: 62d0fddb0dcbc9f642745d8bbf4d81fd17d6dfaec5a15b5c1876300aad92af0d +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d + md5: fdc27cb255a7a2cc73b7919a968b48f0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20772 + timestamp: 1750436796633 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda + sha256: c7b35db96f6e32a9e5346f97adc968ef2f33948e3d7084295baebc0e33abdd5b + md5: eb44b3b6deb1cab08d72cb61686fe64c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.13 + - libxcb >=1.16,<2.0.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20296 + timestamp: 1726125844850 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + purls: [] + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 51689 + timestamp: 1718844051451 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + sha256: aa03b49f402959751ccc6e21932d69db96a65a67343765672f7862332aa32834 + md5: 71ae752a748962161b4740eaff510258 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 396975 + timestamp: 1759543819846 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 27590 + timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + sha256: 51909270b1a6c5474ed3978628b341b4d4472cd22610e5f22b506855a5e20f67 + md5: db038ce880f100acc74dba10302b5630 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 835896 + timestamp: 1741901112627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda + sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 + md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 14780 + timestamp: 1734229004433 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + sha256: 753f73e990c33366a91fd42cc17a3d19bb9444b9ca5ff983605fa9e953baf57f + md5: d3c295b50f092ab525ffe3c2aa4b7413 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 13603 + timestamp: 1727884600744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 + md5: b5fcc7172d22516e1f965490e65e33a4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 13217 + timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda + sha256: 6b250f3e59db07c2514057944a3ea2044d6a8cdde8a47b6497c254520fade1ee + md5: 8035c64cb77ed555e3f150b7b3972480 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 19901 + timestamp: 1727794976192 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + sha256: da5dc921c017c05f38a38bd75245017463104457b63a1ce633ed41f214159c14 + md5: febbab7d15033c913d53c7a2c102309d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 50060 + timestamp: 1727752228921 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 + md5: ba231da7fccf9ea1e768caf5c7099b84 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20071 + timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a + md5: 17dcc85db3c7886650b8908b183d6876 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 47179 + timestamp: 1727799254088 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + sha256: ac0f037e0791a620a69980914a77cb6bb40308e26db11698029d6708f5aa8e0d + md5: 2de7f99d6581a4a7adbff607b5c278ca + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 29599 + timestamp: 1727794874300 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 + md5: 96d57aba173e878a2089d5638016dc5e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 32808 + timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + sha256: 8a4e2ee642f884e6b78c20c0892b85dd9b2a6e64a6044e903297e616be6ca35b + md5: 5efa5fa6243a622445fdfd72aee15efa + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 17819 + timestamp: 1734214575628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xraylib-4.2.0-py311hd78beb3_1.conda + sha256: 46d9fa61751b238679209dd3b984fe23c275c3af4273202cb8855e2a41487d6c + md5: 5389d0584538fb566336d1aba42facdb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - numpy >=1.23,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 5814118 + timestamp: 1756699215902 +- pypi: https://files.pythonhosted.org/packages/62/78/1b04d22a326fe8b7575a5f6cce0ce3bf2d5798f4c1e1d8061dadae113cad/xrf_tomo-0.1.2-py3-none-any.whl + name: xrf-tomo + version: 0.1.2 + sha256: 294f9b4e5110aabfc3bb13c157be6900d41a5d122772cf568351ede82d1f3c0e requires_dist: - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - requires_python: '>=3.9' + - h5py + - numpy + - pandas + - scipy + requires_python: '>=3.7' - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda sha256: 802725371682ea06053971db5b4fb7fbbcaee9cb1804ec688f55e51d74660617 md5: 68eae977d7d1196d32b636a026dc015d @@ -1981,45 +6207,127 @@ packages: purls: [] size: 96433 timestamp: 1749230076687 -- pypi: https://files.pythonhosted.org/packages/f2/ba/d1b21f3e57469030bd6536b91bb28fedd2511d4e68b5a575f2bdb3a3dbb6/yq-3.4.3-py3-none-any.whl - name: yq - version: 3.4.3 - sha256: 547e34bc3caacce83665fd3429bf7c85f8e8b6b9aaee3f953db1ad716ff3434d +- conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py311h3778330_0.conda + sha256: 6cddfbe838aab2d374a22f0c202f473a1d81c43e8fda25c5aa18fdcbc4f61679 + md5: c8213cef4057bc5a733d68d36e9b6366 + depends: + - __glibc >=2.17,<3.0.a0 + - idna >=2.0 + - libgcc >=14 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/yarl?source=hash-mapping + size: 152996 + timestamp: 1761337321513 +- pypi: https://files.pythonhosted.org/packages/1a/71/9de7229515a53d1cc5705ca9c411530f711a2242f962214d9dbfe2741aa4/zarr-3.1.3-py3-none-any.whl + name: zarr + version: 3.1.3 + sha256: 45f67f87f65f14fa453f99dd8110a5936b7ac69f3a21981d33e90407c80c302a requires_dist: - - pyyaml>=5.3.1 - - xmltodict>=0.11.0 - - tomlkit>=0.11.6 - - argcomplete>=1.8.1 - - coverage ; extra == 'tests' - - wheel ; extra == 'tests' - - build ; extra == 'tests' - - ruff ; extra == 'tests' - - mypy ; extra == 'tests' + - donfig>=0.8 + - numcodecs[crc32c]>=0.14 + - numpy>=1.26 + - packaging>=22.0 + - typing-extensions>=4.9 + - typer ; extra == 'cli' + - astroid<4 ; extra == 'docs' + - numcodecs[msgpack] ; extra == 'docs' + - numpydoc ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - pytest ; extra == 'docs' + - rich ; extra == 'docs' + - s3fs>=2023.10.0 ; extra == 'docs' + - sphinx-autoapi==3.4.0 ; extra == 'docs' + - sphinx-autobuild>=2021.3.14 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx-design ; extra == 'docs' + - sphinx-issues ; extra == 'docs' + - sphinx-reredirects ; extra == 'docs' + - sphinx==8.1.3 ; extra == 'docs' + - towncrier ; extra == 'docs' + - cupy-cuda12x ; extra == 'gpu' + - rich ; extra == 'optional' + - universal-pathlib ; extra == 'optional' + - fsspec>=2023.10.0 ; extra == 'remote' + - obstore>=0.5.1 ; extra == 'remote' + - botocore ; extra == 'remote-tests' + - fsspec>=2023.10.0 ; extra == 'remote-tests' + - moto[s3,server] ; extra == 'remote-tests' + - obstore>=0.5.1 ; extra == 'remote-tests' + - requests ; extra == 'remote-tests' + - s3fs>=2023.10.0 ; extra == 'remote-tests' + - coverage>=7.10 ; extra == 'test' + - hypothesis ; extra == 'test' + - mypy ; extra == 'test' + - numpydoc ; extra == 'test' + - packaging ; extra == 'test' + - pytest-accept ; extra == 'test' + - pytest-asyncio ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-xdist ; extra == 'test' + - pytest<8.4 ; extra == 'test' + - rich ; extra == 'test' + - tomlkit ; extra == 'test' + - uv ; extra == 'test' + requires_python: '>=3.11' +- conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_3.conda + sha256: d9051184638fe0c24985b31b29b434ad52c77923e4802c7580da3a60ad9f167b + md5: 03b04e4effefa41aee638f8ba30a6e78 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 277375 + timestamp: 1756513972645 +- pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + name: zict + version: 3.0.0 + sha256: 5796e36bd0e0cc8cf0fbc1ace6a68912611c1dbd74750a3f3026b9b9d6a327ae requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl - name: zipp - version: 3.23.0 - sha256: 071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e - requires_dist: - - pytest>=6,!=8.1.* ; extra == 'test' - - jaraco-itertools ; extra == 'test' - - jaraco-functools ; extra == 'test' - - more-itertools ; extra == 'test' - - big-o ; extra == 'test' - - pytest-ignore-flaky ; extra == 'test' - - jaraco-test ; extra == 'test' - - sphinx>=3.5 ; extra == 'doc' - - jaraco-packaging>=9.3 ; extra == 'doc' - - rst-linker>=1.9 ; extra == 'doc' - - furo ; extra == 'doc' - - sphinx-lint ; extra == 'doc' - - jaraco-tidelift>=1.4 ; extra == 'doc' - - pytest-checkdocs>=2.4 ; extra == 'check' - - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' - - pytest-cov ; extra == 'cover' - - pytest-enabler>=2.2 ; extra == 'enabler' - - pytest-mypy ; extra == 'type' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + sha256: 7560d21e1b021fd40b65bfb72f67945a3fcb83d78ad7ccf37b8b3165ec3b68ad + md5: df5e78d904988eb55042c0c97446079f + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=hash-mapping + size: 22963 + timestamp: 1749421737203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + sha256: 5d7c0e5f0005f74112a34a7425179f4eb6e73c92f5d109e6af4ddeca407c92ab + md5: c9f075ab2f33b3bbee9e62d4ad0a6cd8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib 1.3.1 hb9d3cd8_2 + license: Zlib + license_family: Other + purls: [] + size: 92286 + timestamp: 1727963153079 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.2.5-hde8ca8f_0.conda + sha256: 3a8e7798deafd0722b6b5da50c36b7f361a80b30165d600f7760d569a162ff95 + md5: 1920c3502e7f6688d650ab81cd3775fd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + purls: [] + size: 110843 + timestamp: 1754587144298 - pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: zstandard version: 0.25.0 @@ -2028,3 +6336,16 @@ packages: - cffi~=1.17 ; python_full_version < '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' - cffi>=2.0.0b0 ; python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 567578 + timestamp: 1742433379869 diff --git a/pixi.toml b/pixi.toml index 9131492da..f627c9446 100644 --- a/pixi.toml +++ b/pixi.toml @@ -3,28 +3,29 @@ name = "tomviz" authors = [ "Wei (Celia) Xu ", "Padraic Shafer ", - "https://github.com/silx-kit/pymca/blob/master/copyright", + "https://github.com/OpenChemistry/tomviz?tab=readme-ov-file#cite-tomviz", ] -channels = ["conda-forge"] description = "NSLS-II development branch for tomviz" -platforms = ["linux-64"] version = "0.1.0" - -[tasks] -tomviz = "bash ./tomviz.sh" +channels = ["conda-forge"] +platforms = ["linux-64"] [dependencies] python = "==3.11" +tomviz = ">=2.1.2" +h5py = "*" +xraylib = "*" +tomopy = "*" [pypi-dependencies] -bluesky-tiled-plugins = ">=2.0.0b64, <3" -numpy = "<2" -pydantic = ">=2.7" -pyqt5 = ">=5.15.11, <6" -qtconsole = ">=5.6.1, <6" -tiled = { version = ">=0.1.6", extras = ["client"] } -yq = "*" +bluesky-tiled-plugins = ">=2.0.0rc1" +pyxrf = "*" +hxntools = "*" +xrf-tomo = "*" +scikit-beam = "*" +tiled = { version = ">=0.2.0", extras = ["client"] } + +[tasks] +# Launch Tomviz from the pixi environment +tomviz = "tomviz" -# Intentionally excluded -# Require a package version of tomviz from conda-forge or pixi-build-cmake -# tomviz = { git = "https://github.com/nsls2/tomviz", branch = "master" } From 27cdbe3bc8de7f670cbd7ed8039a9250a4c2961a Mon Sep 17 00:00:00 2001 From: "Wei (Celia) Xu" Date: Thu, 6 Nov 2025 12:42:32 -0500 Subject: [PATCH 003/123] Update the description Co-authored-by: Padraic Shafer <76011594+padraic-shafer@users.noreply.github.com> --- pixi.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixi.toml b/pixi.toml index f627c9446..d7f0d6be2 100644 --- a/pixi.toml +++ b/pixi.toml @@ -5,7 +5,7 @@ authors = [ "Padraic Shafer ", "https://github.com/OpenChemistry/tomviz?tab=readme-ov-file#cite-tomviz", ] -description = "NSLS-II development branch for tomviz" +description = "Environment to run tomviz" version = "0.1.0" channels = ["conda-forge"] platforms = ["linux-64"] From 585ba7072cf94c38e3f8c0cce0d6ba1db2744409 Mon Sep 17 00:00:00 2001 From: celiafish Date: Thu, 6 Nov 2025 12:44:34 -0500 Subject: [PATCH 004/123] remove author info --- pixi.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pixi.toml b/pixi.toml index d7f0d6be2..f3ef26c17 100644 --- a/pixi.toml +++ b/pixi.toml @@ -1,10 +1,5 @@ [project] name = "tomviz" -authors = [ - "Wei (Celia) Xu ", - "Padraic Shafer ", - "https://github.com/OpenChemistry/tomviz?tab=readme-ov-file#cite-tomviz", -] description = "Environment to run tomviz" version = "0.1.0" channels = ["conda-forge"] From 54c71735d138f780a406ddf3d75ff8e8520739ed Mon Sep 17 00:00:00 2001 From: celiafish Date: Fri, 7 Nov 2025 01:58:29 -0500 Subject: [PATCH 005/123] Update pixi files - remove authors - update description - add a dev environment for testing, linting, and documentation --- pixi.lock | 1841 +++++++++++++++++++++++++++++++++++++++++------------ pixi.toml | 32 + 2 files changed, 1471 insertions(+), 402 deletions(-) diff --git a/pixi.lock b/pixi.lock index d1675dbde..eda5348e4 100644 --- a/pixi.lock +++ b/pixi.lock @@ -13,12 +13,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyh71513ae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/backports-datetime-fromisoformat-2.0.3-py311h49ec1c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h41a2e66_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hf2c8021_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311h7c6b74e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda @@ -27,15 +29,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py311h03d9500_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cgns-4.5.0-h61aa979_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.2-h59595ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311hdf67eae_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 @@ -50,21 +58,28 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.15.1-nompi_py311h0b2f468_100.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h6e4c0c1_103.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2025.8.2-py311h99464e2_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.0-pyhfb79c49_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.7.0-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py311h38be061_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda @@ -78,8 +93,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hd53d788_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h02bd7ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-37_hfef963f_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda @@ -142,8 +157,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-21.1.5-h4922eb0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py311h3778330_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/marshmallow-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py311h0f3be63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2024.2.2-ha770c72_17.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py311hdf67eae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py311h2dc5d0c_0.conda @@ -158,41 +175,57 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/paraview-6.0.1-py311h7e6dd26_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.0.0-py311h07c5bb8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.0-hb72c0af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py311haee01d2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyfftw-0.15.1-py311h0372a8f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.11-8_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.3-h5c1c036_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.25.2-py311hed34c8f_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py311h1e13796_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.0-heff268d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.13.0-hb60516a_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2025.1.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomopy-1.15.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tomviz-2.1.2-py311ha338fd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py311h49ec1c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py311h49ec1c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.5.1-py311h0db28e7_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda @@ -225,12 +258,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.2.5-hde8ca8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311haee01d2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/13/ac/19dbba27e891f39feb4170b884da449ee2699ef4ebb88eefeda364bbbbcf/asteval-1.0.6-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/da/875925db2ed80dc7b919b2817da555848b608620be9662c5f835670d5d8d/asteval-1.0.7-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/74/1c/c682df59efcd65ef03d8626055b523dac51729e5168d2eba14057aa80d0a/atom-0.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/89/d3/d8c1876f8397cbffe34242885e5cfc284b0a52d9a774f8ee18515638bfcc/awkward-2.8.10-py3-none-any.whl @@ -243,26 +276,21 @@ environments: - pypi: https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/96/c5/1e741d26306c42e2bf6ab740b2202872727e0f606033c9dd713f8b93f5a8/cachetools-6.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f3/4f/f94ac1b84d2169cf2ebf64353ce98fd743f85d30678059c514d9b3d6644c/compress_pickle-2.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/b9/5cd5e26e66d2ac0470dd10d21660b18e2e8e201a1a0cba823b7ceba985e7/confluent_kafka-2.12.1-cp311-cp311-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1d/54/a46920229d12c3a6e9f0081d1bdaeffad23c1826353ace95714faee926e5/dask-2025.11.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/19/f7/a9f95700cf6d59e77d0b8f3191556df0baee8b4a2a76e444e4137a0b801e/databroker-1.2.5-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e6/86/7c764bef28f5183bd67e548c60afb9fe3eb7a6d58eb321b72c4c4d2be021/distributed-2025.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/ec/da78855318971c2be94d0283a41de6941a6b9f16146fb00babc74903ae01/distributed-2025.11.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c0/af/22ad724ba167a6d254aa01f04b7f36c5fc648ff85f04d87d3f82fe6c96ef/doct-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/32/e31e3363bf48ad2ba80b644b01ad9676ce154f1b755950de81eb4ed5b6bd/event_model-1.23.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/17/fa/3859496b47674865d5669175a9e4457c8bc5801704da531101cb79570741/fabio-2025.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl @@ -276,11 +304,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/bf/b9/3fd96e015e69b542219059a7d7e96d21c1216672ff6fc595d9903767c06b/hxntools-0.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/59/527c84f1fbb4a65590ad781fe1359a76f450e03f9bc9a6c99c222a8cee84/intake-0.6.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/05/aa/62893d6a591d337aa59dcc4c6f6c842f1fe20cd72c8c5c1f980255243252/ipython-9.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl @@ -292,8 +316,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/25/3b/b55cb577aa148ed4e383e9700c36f70b651cd434e1c07568f0a86c9d5fbb/lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.py3-none-any.whl @@ -307,18 +329,439 @@ environments: - pypi: https://files.pythonhosted.org/packages/1e/ca/136e837b1bd150c61243c8a6bf4f24694537103b6eebdaee6cd7b70f72e5/ophyd_async-0.13.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b5/18/bf8581eaae0b941b44efe14fee7b7862c3382fbc9a0842132cfc7cf5ecf4/orjson-3.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b8/02/5bf3639f5b77e9b183011c08541c5039ba3d04f5316c70312b48a8e003a9/pims-0.7.tar.gz - - pypi: https://files.pythonhosted.org/packages/05/32/2f6a3e6b073f16f88a133bf50adb361cd714621e582191e03c0705307c8b/pint-0.25.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ab/88/550d41e81e6d43335603a960cd9c75c1d88f9cf01bc9d4ee8e86290aba7d/pint-0.25.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/42/59/123aee44a039b212cfb8d90be1adf06496a99b313ee1683aadf90b3d9799/progress-1.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f5/e5/53c0a1c428f0976bf22f513d79c73000926cb00b9c138d8e02daf2102e18/pyarrow-22.0.0-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/90/cb/c13d8a74419dde9590ed6fab293b516f68316ac87d06569b79b5f446d519/pydantic_numpy-8.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/07/6e/10a8bbefd158d303b88d1075e24370b61c62c48d2d6ed38fa890fd1ec860/pyepics-3.5.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/09/2d/cb95032c097283dfdeab5a4c3d0564d79bd3e45a66dd4a9179f4d8f7cd94/pyfai-2025.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/34/0d/a5271073339ba6fc8a5f4e3a62baaa5dd8bf35246c37b512317e2a22848e/pymongo-4.15.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c4/d4/b10d1219b94576c25c8f7a631c7cfb59fbfcc22ddeae36a668a356650f79/pystackreg-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/b3/abf48b1bf636c11c9c172949ce30a24d319514cc7ef65bada70ed4d7146d/pyxrf-1.0.31-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/99/63/d30abf8b53c6ceaea2e7d8d766363a6a2e6a6b7f2238e3ae56e882a4dc21/redis_json_dict-0.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/45/5d/65a2bc08b709b08576b3f307bf63951ee68a8e047cbbda6f1c9864ecf9a7/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/df/d2/40b114decad4a2a9be2fb8eff0c96c9531ce64250e405d8dd7f37f3805d4/scanspec-0.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c6/20/120fb17186c7349527935a74222cf71af9959d5dded27d37f29bf191f30b/scikit_beam-0.0.27.tar.gz + - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/fb/4c08c29a262f75e60911db0f039e7011f9a2daf1000659cbe5a950737434/silx-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e8/ae/fa6cd331b364ad2bbc31652d025f5747d89cbb75576733dfdf8efe3e4d62/slicerator-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/79/3d/ce19993849668bdfabf5d473e84bc9b1a2e78d20ab4147a19402a169a7e5/suitcase_msgpack-0.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/79/1f/d09392ccd12ba3b9110b6ba35ca037d538c50a533f083a0ad96aa57e328f/suitcase_utils-0.5.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/cc/099fab5a73909a117e9689c7da4c39a248595187f0f30dd879ad1d2c34ce/tblib-3.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ba/1d/1cb39a116ab11a42657d81cd0d6ef8d084da02ed6f61d5844909b9e0292b/tiled-0.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8f/5e/f1e1dd319e35e962a4e00b33150a8868b6329cc1d19fd533436ba5488f09/uncertainties-3.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/62/78/1b04d22a326fe8b7575a5f6cce0ce3bf2d5798f4c1e1d8061dadae113cad/xrf_tomo-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/71/9de7229515a53d1cc5705ca9c411530f711a2242f962214d9dbfe2741aa4/zarr-3.1.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + dev: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-5_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py311h0281608_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports-datetime-fromisoformat-2.0.3-py311h49ec1c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h41a2e66_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hf2c8021_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311h7c6b74e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.22.0-h4cfbee9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py311h03d9500_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cgns-4.5.0-h61aa979_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.2-h59595ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.13-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311hdf67eae_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.60.1-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py311h52bc045_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.15.1-nompi_py311h0b2f468_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h6e4c0c1_103.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2025.8.2-py311h99464e2_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.0-pyhfb79c49_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.7.0-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py311h38be061_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h6395336_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-37_h5875eb1_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h09219d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hd53d788_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h02bd7ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-37_hfef963f_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-hcd61629_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharu-2.4.5-h943b412_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h7f8ec31_1002.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.1-hf08fa70_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-37_h5e43f62_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.5-hf7376ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h11f7409_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h421ea60_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.0-h3675c94_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.0-hee844dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtomo-1.15.3-h1234567_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.0-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-21.1.5-h4922eb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/marshmallow-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.7-py311h38be061_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py311h0f3be63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2024.2.2-ha770c72_17.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py311hdf67eae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py311h49ec1c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.5-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-mkl_py311h3762c3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.4-py311h2e04523_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.9.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/paraview-6.0.1-py311h7e6dd26_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.0.0-py311h07c5bb8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.0-hb72c0af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py311haee01d2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyfftw-0.15.1-py311h0372a8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.3-py311he4c1a5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.11-8_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.3-h5c1c036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.25.2-py311hed34c8f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py311h1e13796_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-3.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.0-heff268d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.13.0-hb60516a_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2025.1.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomopy-1.15.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tomviz-2.1.2-py311ha338fd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py311h49ec1c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py311h49ec1c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.5.1-py311h0db28e7_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xraylib-4.2.0-py311hd78beb3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py311h3778330_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.2.5-hde8ca8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311haee01d2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/da/875925db2ed80dc7b919b2817da555848b608620be9662c5f835670d5d8d/asteval-1.0.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/74/1c/c682df59efcd65ef03d8626055b523dac51729e5168d2eba14057aa80d0a/atom-0.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/89/d3/d8c1876f8397cbffe34242885e5cfc284b0a52d9a774f8ee18515638bfcc/awkward-2.8.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/90/a604fcde83951174d9f45dca22798cc808625681fe50853cade06b75d458/awkward_cpp-50-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/be/d4/ed900b60558767c96ce9c5ed3352589f2316501b5f2e51b19c5efa8bd310/blosc2-3.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/94/23/e6572cf2aca82938c241e02e150e2102f5b04a3f2f82c4720f6838c42a63/bluesky-1.14.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b1/d3/a3e8393cdf6e40e94b3a91ab8afdb010769829b520b2fbfdc4697f31a1c3/bluesky_kafka-0.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/de/8b/65dccc36873290e89c0d1d3c1121f161ff28c37201e0d008cfa664d606b5/bluesky_live-0.0.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/f6/9b5520fba191a728e341ec8a11995915624c519540a2114ba2bcf20f91ac/bluesky_tiled_plugins-2.0.0rc1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/96/c5/1e741d26306c42e2bf6ab740b2202872727e0f606033c9dd713f8b93f5a8/cachetools-6.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/4f/f94ac1b84d2169cf2ebf64353ce98fd743f85d30678059c514d9b3d6644c/compress_pickle-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/b9/5cd5e26e66d2ac0470dd10d21660b18e2e8e201a1a0cba823b7ceba985e7/confluent_kafka-2.12.1-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/1d/54/a46920229d12c3a6e9f0081d1bdaeffad23c1826353ace95714faee926e5/dask-2025.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/19/f7/a9f95700cf6d59e77d0b8f3191556df0baee8b4a2a76e444e4137a0b801e/databroker-1.2.5-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/ec/da78855318971c2be94d0283a41de6941a6b9f16146fb00babc74903ae01/distributed-2025.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/af/22ad724ba167a6d254aa01f04b7f36c5fc648ff85f04d87d3f82fe6c96ef/doct-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/32/e31e3363bf48ad2ba80b644b01ad9676ce154f1b755950de81eb4ed5b6bd/event_model-1.23.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/17/fa/3859496b47674865d5669175a9e4457c8bc5801704da531101cb79570741/fabio-2025.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ed/2f/1046d464ad1db29a4f6c70ba4e19b39baa8a6542c719eaa4e765108f07f1/hdf5plugin-6.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c3/5b/9512c5fb6c8218332b530f13500c6ff5f3ce3342f35e0dd7be9ac3856fd3/humanize-4.14.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/b9/3fd96e015e69b542219059a7d7e96d21c1216672ff6fc595d9903767c06b/hxntools-0.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f9/59/527c84f1fbb4a65590ad781fe1359a76f450e03f9bc9a6c99c222a8cee84/intake-0.6.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/38/7e/7b91c89a4cf0f543a83be978657afb20c86af6d725253e319589dcc4ce52/lmfit-1.3.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/25/3b/b55cb577aa148ed4e383e9700c36f70b651cd434e1c07568f0a86c9d5fbb/lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/33/7ce3f09d91a0ca5db7cca67671d865b7c8310b8b59eff287a711919641f0/mongoquery-1.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/79/d8/a4638485d17e5a236a7f8687a63229b4cc4737d018d8f8bdf18983419d5b/ndindex-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ad/e6/8a63fe24caf89f1006504d913101a112eada32942ce0268e461ff0c84fd9/nslsii-0.11.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b6/0f/49d1f74a216149240c4b9403218111f11670bd11af0919fda357bb056bf2/numcodecs-0.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ae/a2/d86e01c28300bd41bab8f18afd613676e2bd63515417b77636fc1add426f/opentelemetry_api-1.38.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/59/e11136fe6db0b1f3aea14de7bc36122aaa0ca67b715e400d45974b8848be/ophyd-1.11.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1e/ca/136e837b1bd150c61243c8a6bf4f24694537103b6eebdaee6cd7b70f72e5/ophyd_async-0.13.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b5/18/bf8581eaae0b941b44efe14fee7b7862c3382fbc9a0842132cfc7cf5ecf4/orjson-3.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b8/02/5bf3639f5b77e9b183011c08541c5039ba3d04f5316c70312b48a8e003a9/pims-0.7.tar.gz + - pypi: https://files.pythonhosted.org/packages/ab/88/550d41e81e6d43335603a960cd9c75c1d88f9cf01bc9d4ee8e86290aba7d/pint-0.25.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/42/59/123aee44a039b212cfb8d90be1adf06496a99b313ee1683aadf90b3d9799/progress-1.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f5/e5/53c0a1c428f0976bf22f513d79c73000926cb00b9c138d8e02daf2102e18/pyarrow-22.0.0-cp311-cp311-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl @@ -333,14 +776,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c4/d4/b10d1219b94576c25c8f7a631c7cfb59fbfcc22ddeae36a668a356650f79/pystackreg-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/b3/abf48b1bf636c11c9c172949ce30a24d319514cc7ef65bada70ed4d7146d/pyxrf-1.0.31-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/69/76/37c0ccd5ab968a6a438f9c623aeecc84c202ab2fabc6a8fd927580c15b5a/QtPy-2.4.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/99/63/d30abf8b53c6ceaea2e7d8d766363a6a2e6a6b7f2238e3ae56e882a4dc21/redis_json_dict-0.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl @@ -356,7 +797,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/3d/ce19993849668bdfabf5d473e84bc9b1a2e78d20ab4147a19402a169a7e5/suitcase_msgpack-0.3.0-py3-none-any.whl @@ -365,25 +805,20 @@ environments: - pypi: https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ba/1d/1cb39a116ab11a42657d81cd0d6ef8d084da02ed6f61d5844909b9e0292b/tiled-0.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8f/5e/f1e1dd319e35e962a4e00b33150a8868b6329cc1d19fd533436ba5488f09/uncertainties-3.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/62/78/1b04d22a326fe8b7575a5f6cce0ce3bf2d5798f4c1e1d8061dadae113cad/xrf_tomo-0.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1a/71/9de7229515a53d1cc5705ca9c411530f711a2242f962214d9dbfe2741aa4/zarr-3.1.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-5_kmp_llvm.conda build_number: 5 @@ -441,6 +876,17 @@ packages: - pkg:pypi/aiosignal?source=hash-mapping size: 13688 timestamp: 1751626573984 +- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea + md5: 1fd9696649f65fd6611fcdb4ffec738a + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/alabaster?source=hash-mapping + size: 18684 + timestamp: 1733750512696 - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda sha256: b9214bc17e89bf2b691fad50d952b7f029f6148f4ac4fe7c60c08f093efdf745 md5: 76df83c2a9035c54df5d04ff81bcc02d @@ -485,10 +931,10 @@ packages: name: appdirs version: 1.4.4 sha256: a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 -- pypi: https://files.pythonhosted.org/packages/13/ac/19dbba27e891f39feb4170b884da449ee2699ef4ebb88eefeda364bbbbcf/asteval-1.0.6-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/b7/da/875925db2ed80dc7b919b2817da555848b608620be9662c5f835670d5d8d/asteval-1.0.7-py3-none-any.whl name: asteval - version: 1.0.6 - sha256: 5e119ed306e39199fd99c881cea0e306b3f3807f050c9be79829fe274c6378dc + version: 1.0.7 + sha256: d78df08681dfff59031ca624ba7030f9dc576a7a16e2f7a5137c6e7ef3ee60c4 requires_dist: - build ; extra == 'dev' - twine ; extra == 'dev' @@ -497,18 +943,20 @@ packages: - pytest-cov ; extra == 'test' - coverage ; extra == 'test' - asteval[dev,doc,test] ; extra == 'all' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl - name: asttokens - version: 3.0.0 - sha256: e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2 - requires_dist: - - astroid>=2,<4 ; extra == 'astroid' - - astroid>=2,<4 ; extra == 'test' - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-xdist ; extra == 'test' - requires_python: '>=3.8' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda + sha256: 93b14414b3b3ed91e286e1cbe4e7a60c4e1b1c730b0814d1e452a8ac4b9af593 + md5: 8f587de4bcf981e26228f268df374a9b + depends: + - python >=3.9 + constrains: + - astroid >=2,<4 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/asttokens?source=hash-mapping + size: 28206 + timestamp: 1733250564754 - pypi: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl name: async-timeout version: 5.0.1 @@ -562,6 +1010,18 @@ packages: requires_dist: - numpy>=1.18.0 requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + sha256: 1c656a35800b7f57f7371605bc6507c8d3ad60fbaaec65876fce7f73df1fc8ac + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + depends: + - python >=3.9 + - pytz >=2015.7 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/babel?source=hash-mapping + size: 6938256 + timestamp: 1738490268466 - conda: https://conda.anaconda.org/conda-forge/linux-64/backports-datetime-fromisoformat-2.0.3-py311h49ec1c0_1.conda sha256: f15b65f99aebb4d958488a13b591dd529f86338e64b336ed84d4d58a23d35f2a md5: 46eb7430b3227b9b6383be445575b02f @@ -576,6 +1036,22 @@ packages: - pkg:pypi/backports-datetime-fromisoformat?source=hash-mapping size: 32765 timestamp: 1755766035554 +- conda: https://conda.anaconda.org/conda-forge/noarch/black-25.1.0-pyh866005b_0.conda + sha256: c68f110cd491dc839a69e340930862e54c00fb02cede5f1831fcf8a253bd68d2 + md5: b9b0c42e7316aa6043bdfd49883955b8 + depends: + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9 + - platformdirs >=2 + - python >=3.11 + license: MIT + license_family: MIT + purls: + - pkg:pypi/black?source=hash-mapping + size: 172678 + timestamp: 1742502887437 - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d md5: 2c2fae981fd2afd00812c92ac47d023d @@ -783,6 +1259,23 @@ packages: purls: [] size: 20993 timestamp: 1761592224816 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311h7c6b74e_0.conda + sha256: 5e6858dae1935793a7fa7f46d8975b0596b546c28586cb463dd2fdeba3bcc193 + md5: 645bc783bc723d67a294a51bc860762d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - libbrotlicommon 1.2.0 h09219d5_0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping + size: 368532 + timestamp: 1761592301216 - conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda sha256: b4831ac06bb65561342cedf3d219cf9b096f20b8d62cda74f0177dffed79d4d5 md5: 5948f4fead433c6e5c46444dbfb01162 @@ -930,11 +1423,32 @@ packages: - trio>=0.18.0 ; extra == 'test' - trio>=0.12.1 ; extra == 'test' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl - name: certifi - version: 2025.10.5 - sha256: 0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.10.5-pyhd8ed1ab_0.conda + sha256: 955bac31be82592093f6bc006e09822cd13daf52b28643c9a6abd38cd5f4a306 + md5: 257ae203f1d204107ba389607d375ded + depends: + - python >=3.10 + license: ISC + purls: + - pkg:pypi/certifi?source=hash-mapping + size: 160248 + timestamp: 1759648987029 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py311h03d9500_1.conda + sha256: 3ad13377356c86d3a945ae30e9b8c8734300925ef81a3cb0a9db0d755afbe7bb + md5: 3912e4373de46adafd8f1e97e4bd166b + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - pycparser + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cffi?source=hash-mapping + size: 303338 + timestamp: 1761202960110 - conda: https://conda.anaconda.org/conda-forge/linux-64/cgns-4.5.0-h61aa979_2.conda sha256: 38a7ed0604517587c0c46a46dd2a8dda9fb68d0987b0de0ffee9dfb12709fd78 md5: 806fa24e6a034c464b0e492151ee0d86 @@ -960,11 +1474,17 @@ packages: purls: [] size: 150272 timestamp: 1684262827894 -- pypi: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: charset-normalizer - version: 3.4.4 - sha256: 840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + md5: a22d1fd9bf98827e280a02875d9a007a + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=hash-mapping + size: 50965 + timestamp: 1760437331772 - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda sha256: 324097cd9dde3a4623b0275655ea34641481daa5c1274f9ab994e8a2e6aa26e6 md5: ddf9fed4661bace13f33f08fe38a5f45 @@ -978,18 +1498,47 @@ packages: purls: [] size: 98102 timestamp: 1760975548381 -- pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl - name: click - version: 8.3.0 - sha256: 9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc - requires_dist: - - colorama ; sys_platform == 'win32' - requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.0-pyh707e725_0.conda + sha256: c6567ebc27c4c071a353acaf93eb82bb6d9a6961e40692a359045a89a61d02c0 + md5: e76c4ba9e1837847679421b8d549b784 + depends: + - __unix + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=compressed-mapping + size: 91622 + timestamp: 1758270534287 - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl name: cloudpickle version: 3.1.2 sha256: 9acb47f6afd73f60dc1df93bb801b472f05ff42fa6c84167d25cb206be1fbf4a requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.13-pyhd8ed1ab_1.conda + sha256: 51ead85d30f4eeff41c558b24ab0992a6d9d08af3e887d3ac7d2c169670b807f + md5: d924fe46139596ebc3d4d424ec39ed51 + depends: + - coverage + - python >=3.9 + - requests >=2.7.9 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/codecov?source=hash-mapping + size: 21694 + timestamp: 1734975404103 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping + size: 27011 + timestamp: 1733218222191 - pypi: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl name: colorlog version: 6.10.1 @@ -1339,6 +1888,21 @@ packages: - pkg:pypi/contourpy?source=hash-mapping size: 296784 timestamp: 1756544804579 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.11.0-py311h3778330_0.conda + sha256: a7496e21adca788eff7ebc21b18ccaef963be672d0c30133df33762d792023fa + md5: deeadabf222aa80df52056aac13f971c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - tomli + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/coverage?source=hash-mapping + size: 389458 + timestamp: 1760545228957 - pypi: https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl name: crc32c version: '2.8' @@ -1371,10 +1935,10 @@ packages: purls: [] size: 209774 timestamp: 1750239039316 -- pypi: https://files.pythonhosted.org/packages/a4/2b/36b8753d881ff8fcf9c57eadd2b9379815cbe08fde7ded4e52c4cbb4b227/dask-2025.10.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/1d/54/a46920229d12c3a6e9f0081d1bdaeffad23c1826353ace95714faee926e5/dask-2025.11.0-py3-none-any.whl name: dask - version: 2025.10.0 - sha256: 86c0a4aecbed3eae938f13a52bcc3fdc35852cce34d7d701590c15850b92506e + version: 2025.11.0 + sha256: 08c35a8146c05c93b34f83cf651009129c42ee71762da7ca452fb7308641c2b8 requires_dist: - click>=8.1 - cloudpickle>=3.0.0 @@ -1388,7 +1952,7 @@ packages: - dask[array] ; extra == 'dataframe' - pandas>=2.0 ; extra == 'dataframe' - pyarrow>=14.0.1 ; extra == 'dataframe' - - distributed==2025.10.0 ; extra == 'distributed' + - distributed==2025.11.0 ; extra == 'distributed' - bokeh>=3.1.0 ; extra == 'diagnostics' - jinja2>=2.10.3 ; extra == 'diagnostics' - dask[array,dataframe,diagnostics,distributed] ; extra == 'complete' @@ -1473,11 +2037,17 @@ packages: purls: [] size: 437860 timestamp: 1747855126005 -- pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl - name: decorator - version: 5.2.1 - sha256: d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a - requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 + md5: 9ce473d1d1be1cc3810856a48b3fab32 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/decorator?source=hash-mapping + size: 14129 + timestamp: 1740385067843 - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl name: dill version: 0.4.0 @@ -1486,14 +2056,14 @@ packages: - objgraph>=1.7.2 ; extra == 'graph' - gprof2dot>=2022.7.29 ; extra == 'profile' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e6/86/7c764bef28f5183bd67e548c60afb9fe3eb7a6d58eb321b72c4c4d2be021/distributed-2025.10.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/46/ec/da78855318971c2be94d0283a41de6941a6b9f16146fb00babc74903ae01/distributed-2025.11.0-py3-none-any.whl name: distributed - version: 2025.10.0 - sha256: 613281c2796e4b3f349c9a1c0ef95b84a6b58f7a17d93206758a6902bd96913d + version: 2025.11.0 + sha256: 1794ff25b19ba347ccce563fb1dd5898c3bb30f500b15f8c20ad373f6281b30f requires_dist: - click>=8.0 - cloudpickle>=3.0.0 - - dask==2025.10.0 + - dask==2025.11.0 - jinja2>=2.10.3 - locket>=1.0.0 - msgpack>=1.0.2 @@ -1542,6 +2112,16 @@ packages: - humanize - prettytable requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 + md5: 24c1ca34138ee57de72a943237cde4cc + depends: + - python >=3.9 + license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + purls: + - pkg:pypi/docutils?source=hash-mapping + size: 402700 + timestamp: 1733217860944 - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl name: donfig version: 0.8.1.post1 @@ -1601,19 +2181,28 @@ packages: - pydantic<2.11 ; extra == 'dev' - datamodel-code-generator ; extra == 'dev' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl - name: executing - version: 2.2.1 - sha256: 760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 - requires_dist: - - asttokens>=2.1.0 ; extra == 'tests' - - ipython ; extra == 'tests' - - pytest ; extra == 'tests' - - coverage ; extra == 'tests' - - coverage-enable-subprocess ; extra == 'tests' - - littleutils ; extra == 'tests' - - rich ; python_full_version >= '3.11' and extra == 'tests' - requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda + sha256: ce61f4f99401a4bd455b89909153b40b9c823276aefcbb06f2044618696009ca + md5: 72e42d28960d875c7654614f8b50939a + depends: + - python >=3.9 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping + size: 21284 + timestamp: 1746947398083 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/executing?source=hash-mapping + size: 30753 + timestamp: 1756729456476 - pypi: https://files.pythonhosted.org/packages/17/fa/3859496b47674865d5669175a9e4457c8bc5801704da531101cb79570741/fabio-2025.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: fabio version: 2025.10.0 @@ -1631,6 +2220,20 @@ packages: - matplotlib ; extra == 'all' - packaging ; extra == 'all' requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.3.0-pyhd8ed1ab_0.conda + sha256: a32e511ea71a9667666935fd9f497f00bcc6ed0099ef04b9416ac24606854d58 + md5: 04a55140685296b25b79ad942264c0ef + depends: + - mccabe >=0.7.0,<0.8.0 + - pycodestyle >=2.14.0,<2.15.0 + - pyflakes >=3.4.0,<3.5.0 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/flake8?source=hash-mapping + size: 111916 + timestamp: 1750968083921 - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl name: flexcache version: '0.3' @@ -1731,6 +2334,7 @@ packages: - font-ttf-dejavu-sans-mono - font-ttf-source-code-pro license: BSD-3-Clause + license_family: BSD purls: [] size: 4059 timestamp: 1762351264405 @@ -1922,6 +2526,20 @@ packages: version: 0.16.0 sha256: 63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + depends: + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/h2?source=compressed-mapping + size: 95967 + timestamp: 1756364871835 - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.15.1-nompi_py311h0b2f468_100.conda sha256: ff91ec7c4d9250cee9b41a533a8352ed1501d15136aa7cb0443b663c8317ed6e md5: 98374cf8d17901bcd934daa7cc8a28e6 @@ -1939,9 +2557,9 @@ packages: - pkg:pypi/h5py?source=hash-mapping size: 1360249 timestamp: 1760616652686 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda - sha256: df2a964f5b7dd652b59da018f1d2d9ae402b815c4e5d849384344df358d2a565 - md5: 7704b1edaa8316b8792424f254c1f586 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda + sha256: 6bd8b22beb7d40562b2889dc68232c589ff0d11a5ad3addd41a8570d11f039d9 + md5: b8690f53007e9b5ee2c2178dd4ac778c depends: - __glibc >=2.17,<3.0.a0 - cairo >=1.18.4,<2.0a0 @@ -1951,14 +2569,14 @@ packages: - libfreetype >=2.14.1 - libfreetype6 >=2.14.1 - libgcc >=14 - - libglib >=2.86.0,<3.0a0 + - libglib >=2.86.1,<3.0a0 - libstdcxx >=14 - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT purls: [] - size: 2058414 - timestamp: 1759365674184 + size: 2411408 + timestamp: 1762372726141 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda sha256: 0d09b6dc1ce5c4005ae1c6a19dc10767932ef9a5e9c755cfdbb5189ac8fb0684 md5: bd77f8da987968ec3927990495dc22e4 @@ -2014,6 +2632,17 @@ packages: name: historydict version: 1.2.6 sha256: b4b00a170f05502aa682caba62435da5fe1f73037e884707581fe84f8d7b43f5 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba + md5: 0a802cb9888dd14eeefc611f05c40b6e + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hpack?source=hash-mapping + size: 30731 + timestamp: 1737618390337 - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl name: httpcore version: 1.0.9 @@ -2071,6 +2700,17 @@ packages: - pyepics - scipy requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hyperframe?source=hash-mapping + size: 17397 + timestamp: 1737618427549 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e md5: 8b189310083baabfb622af68fd9d3ae3 @@ -2152,6 +2792,17 @@ packages: - pkg:pypi/imageio?source=hash-mapping size: 293226 timestamp: 1738273949742 +- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460 + md5: 7de5386c8fea29e76b303f37dde4c352 + depends: + - python >=3.4 + license: MIT + license_family: MIT + purls: + - pkg:pypi/imagesize?source=hash-mapping + size: 10164 + timestamp: 1656939625410 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 md5: 63ccfdc3a3ce25b027b8767eb722fca8 @@ -2186,6 +2837,17 @@ packages: - pytest-enabler>=2.2 ; extra == 'enabler' - pytest-mypy ; extra == 'type' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/iniconfig?source=compressed-mapping + size: 13387 + timestamp: 1760831448842 - pypi: https://files.pythonhosted.org/packages/f9/59/527c84f1fbb4a65590ad781fe1359a76f450e03f9bc9a6c99c222a8cee84/intake-0.6.4-py3-none-any.whl name: intake version: 0.6.4 @@ -2218,58 +2880,41 @@ packages: - python-snappy ; extra == 'server' - msgpack-python ; extra == 'server' requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/05/aa/62893d6a591d337aa59dcc4c6f6c842f1fe20cd72c8c5c1f980255243252/ipython-9.7.0-py3-none-any.whl - name: ipython - version: 9.7.0 - sha256: bce8ac85eb9521adc94e1845b4c03d88365fd6ac2f4908ec4ed1eb1b0a065f9f - requires_dist: - - colorama>=0.4.4 ; sys_platform == 'win32' - - decorator>=4.3.2 - - ipython-pygments-lexers>=1.0.0 - - jedi>=0.18.1 - - matplotlib-inline>=0.1.5 - - pexpect>4.3 ; sys_platform != 'emscripten' and sys_platform != 'win32' - - prompt-toolkit>=3.0.41,<3.1.0 - - pygments>=2.11.0 - - stack-data>=0.6.0 - - traitlets>=5.13.0 - - typing-extensions>=4.6 ; python_full_version < '3.12' - - black ; extra == 'black' - - docrepr ; extra == 'doc' - - exceptiongroup ; extra == 'doc' - - intersphinx-registry ; extra == 'doc' - - ipykernel ; extra == 'doc' - - ipython[matplotlib,test] ; extra == 'doc' - - setuptools>=70.0 ; extra == 'doc' - - sphinx-toml==0.0.4 ; extra == 'doc' - - sphinx-rtd-theme>=0.1.8 ; extra == 'doc' - - sphinx>=8.0 ; extra == 'doc' - - typing-extensions ; extra == 'doc' - - pytest>=7.0.0 ; extra == 'test' - - pytest-asyncio>=1.0.0 ; extra == 'test' - - testpath>=0.2 ; extra == 'test' - - packaging>=20.1.0 ; extra == 'test' - - setuptools>=61.2 ; extra == 'test' - - ipython[test] ; extra == 'test-extra' - - curio ; extra == 'test-extra' - - jupyter-ai ; extra == 'test-extra' - - ipython[matplotlib] ; extra == 'test-extra' - - nbformat ; extra == 'test-extra' - - nbclient ; extra == 'test-extra' - - ipykernel>6.30 ; extra == 'test-extra' - - numpy>=1.27 ; extra == 'test-extra' - - pandas>2.1 ; extra == 'test-extra' - - trio>=0.1.0 ; extra == 'test-extra' - - matplotlib>3.9 ; extra == 'matplotlib' - - ipython[doc,matplotlib,test,test-extra] ; extra == 'all' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl - name: ipython-pygments-lexers - version: 1.1.1 - sha256: a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c - requires_dist: +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.7.0-pyh53cf698_0.conda + sha256: b27fb08b14d82e896f35fe5ce889665aabb075bd540f9761c838d1d09a3d9704 + md5: 2d6b86a2e11b8cb2f20a432158ef10b9 + depends: + - __unix + - pexpect >4.3 + - decorator >=4.3.2 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.1 + - matplotlib-inline >=0.1.5 + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.11.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython?source=hash-mapping + size: 643036 + timestamp: 1762350942197 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 + depends: - pygments - requires_python: '>=3.8' + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython-pygments-lexers?source=hash-mapping + size: 13993 + timestamp: 1737123723464 - pypi: https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl name: ipywidgets version: 8.1.8 @@ -2286,54 +2931,29 @@ packages: - pytest-cov ; extra == 'test' - pytz ; extra == 'test' requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl - name: jedi - version: 0.19.2 - sha256: a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9 - requires_dist: - - parso>=0.8.4,<0.9.0 - - jinja2==2.11.3 ; extra == 'docs' - - markupsafe==1.1.1 ; extra == 'docs' - - pygments==2.8.1 ; extra == 'docs' - - alabaster==0.7.12 ; extra == 'docs' - - babel==2.9.1 ; extra == 'docs' - - chardet==4.0.0 ; extra == 'docs' - - commonmark==0.8.1 ; extra == 'docs' - - docutils==0.17.1 ; extra == 'docs' - - future==0.18.2 ; extra == 'docs' - - idna==2.10 ; extra == 'docs' - - imagesize==1.2.0 ; extra == 'docs' - - mock==1.0.1 ; extra == 'docs' - - packaging==20.9 ; extra == 'docs' - - pyparsing==2.4.7 ; extra == 'docs' - - pytz==2021.1 ; extra == 'docs' - - readthedocs-sphinx-ext==2.1.4 ; extra == 'docs' - - recommonmark==0.5.0 ; extra == 'docs' - - requests==2.25.1 ; extra == 'docs' - - six==1.15.0 ; extra == 'docs' - - snowballstemmer==2.1.0 ; extra == 'docs' - - sphinx-rtd-theme==0.4.3 ; extra == 'docs' - - sphinx==1.8.5 ; extra == 'docs' - - sphinxcontrib-serializinghtml==1.1.4 ; extra == 'docs' - - sphinxcontrib-websupport==1.2.4 ; extra == 'docs' - - urllib3==1.26.4 ; extra == 'docs' - - flake8==5.0.4 ; extra == 'qa' - - mypy==0.971 ; extra == 'qa' - - types-setuptools==67.2.0.1 ; extra == 'qa' - - django ; extra == 'testing' - - attrs ; extra == 'testing' - - colorama ; extra == 'testing' - - docopt ; extra == 'testing' - - pytest<9.0.0 ; extra == 'testing' - requires_python: '>=3.6' -- pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - name: jinja2 - version: 3.1.6 - sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 - requires_dist: - - markupsafe>=2.0 - - babel>=2.7 ; extra == 'i18n' - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 + md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + depends: + - parso >=0.8.3,<0.9.0 + - python >=3.9 + license: Apache-2.0 AND MIT + purls: + - pkg:pypi/jedi?source=hash-mapping + size: 843646 + timestamp: 1733300981994 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + sha256: f1ac18b11637ddadc05642e8185a851c7fab5998c6f5470d716812fae943b2af + md5: 446bd6c8cb26050d528881df495ce646 + depends: + - markupsafe >=2.0 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jinja2?source=hash-mapping + size: 112714 + timestamp: 1741263433881 - pypi: https://files.pythonhosted.org/packages/cb/c1/fb2c66d92b5d0167c57042b784456ee3f8531a997726c88cf6f012a22da6/json_merge_patch-0.3.0-py3-none-any.whl name: json-merge-patch version: 0.3.0 @@ -2433,9 +3053,9 @@ packages: purls: [] size: 134088 timestamp: 1754905959823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_1.conda - sha256: 029a00a337e307256beab9cbaefc2c23cd28f040fff6f087703a63bc7487fc14 - md5: 92720706b174926bc7238cc24f3b5956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py311h724c32c_2.conda + sha256: 81181e88c0d49cc86bc687e2583da0cb0b651525bf17d4f4f3aecb1596441769 + md5: 4089f739463c798e10d8644bc34e24de depends: - python - libstdcxx >=14 @@ -2443,11 +3063,10 @@ packages: - __glibc >=2.17,<3.0.a0 - python_abi 3.11.* *_cp311 license: BSD-3-Clause - license_family: BSD purls: - pkg:pypi/kiwisolver?source=hash-mapping - size: 78167 - timestamp: 1756467524636 + size: 78452 + timestamp: 1762488745068 - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 md5: 3f43953b7d3fb3aaa1d0d0723d91e368 @@ -2633,9 +3252,9 @@ packages: purls: [] size: 17495 timestamp: 1760212763579 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_0.conda - sha256: 5172496d7e9321b4eea967812d5f1caeb82d24646aad0a28963d73e56778133f - md5: c3fd56e85856fbd40402e0dec3b76f3b +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.5-default_h99862b1_1.conda + sha256: 23c005625fcffb36c36d13e45ccf35355b3306eff53c4f83649566f2caf05608 + md5: 0351db6d39dd57e63309dabf6d5629c0 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -2644,11 +3263,11 @@ packages: license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 21058475 - timestamp: 1762331470368 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_0.conda - sha256: 0adf6c0765476a7e216177d143312b7928da59dc06f616fa560b9a8dabd4b454 - md5: d0eb35a4433463966b2fc189c79c493b + size: 21065809 + timestamp: 1762471342921 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.5-default_h746c552_1.conda + sha256: 070871a19d7a1bc750284721a1f722c527ef466b1461e0de84abbdbb755f4221 + md5: dd39147d65f5edf3b3ebb06f5a0ef43e depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -2657,8 +3276,8 @@ packages: license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 12343475 - timestamp: 1762331829809 + size: 12340532 + timestamp: 1762471521823 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda sha256: cb83980c57e311783ee831832eb2c20ecb41e7dee6e86e8b70b8cef0e43eab55 md5: d4a250da4737ee127fb1fa6452a9002e @@ -3395,6 +4014,19 @@ packages: purls: [] size: 556302 timestamp: 1761015637262 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + sha256: 0694760a3e62bdc659d90a14ae9c6e132b525a7900e59785b18a08bb52a5d7e5 + md5: 87e6096ec6d542d1c1f8b33245fe8300 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 + license: MIT + license_family: MIT + purls: [] + size: 245434 + timestamp: 1757963724977 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda sha256: 991e7348b0f650d495fb6d8aa9f8c727bdf52dabf5853c0cc671439b160dce48 md5: a7b27c075c9b7f459f1c022090697cba @@ -3570,11 +4202,22 @@ packages: - pytest-regressions ; extra == 'testing' - requests ; extra == 'testing' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: markupsafe - version: 3.0.3 - sha256: 0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py311h3778330_0.conda + sha256: 66c072c37aefa046f3fd4ca69978429421ef9e8a8572e19de534272a6482e997 + md5: 0954f1a6a26df4a510b54f73b2a0345c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 26016 + timestamp: 1759055312513 - conda: https://conda.anaconda.org/conda-forge/noarch/marshmallow-4.1.0-pyhd8ed1ab_0.conda sha256: 8265bde932323c6daf2f26dbd0b2b7ab093d6a383ed2ca643c3e38f0241d96d4 md5: d4fbc913beb8fa12b082909cb1e6963e @@ -3587,6 +4230,20 @@ packages: - pkg:pypi/marshmallow?source=hash-mapping size: 90851 timestamp: 1762028064063 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.7-py311h38be061_0.conda + sha256: b18a74b00b1a59b0645877360d338cdffc9f629e687e1c4d011c0e9bf76eb8e1 + md5: 979c4fd79b6edb07fa602a02edcb2c43 + depends: + - matplotlib-base >=3.10.7,<3.10.8.0a0 + - pyside6 >=6.7.2 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 17393 + timestamp: 1760560574686 - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py311h0f3be63_0.conda sha256: 9e4b8469fe2a864b58f5d9a23e630ab34a4781af337178578f83625ee50da3ab md5: b4ec935aa9298e5498613ea66b3c3a98 @@ -3617,18 +4274,29 @@ packages: - pkg:pypi/matplotlib?source=hash-mapping size: 8528411 timestamp: 1760560556540 -- pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl - name: matplotlib-inline - version: 0.2.1 - sha256: d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76 - requires_dist: +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + sha256: 9d690334de0cd1d22c51bc28420663f4277cfa60d34fa5cad1ce284a13f1d603 + md5: 00e120ce3e40bad7bfc78861ce3c4a25 + depends: + - python >=3.10 - traitlets - - flake8 ; extra == 'test' - - nbdime ; extra == 'test' - - nbval ; extra == 'test' - - notebook ; extra == 'test' - - pytest ; extra == 'test' - requires_python: '>=3.9' + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/matplotlib-inline?source=compressed-mapping + size: 15175 + timestamp: 1761214578417 +- conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 + md5: 827064ddfe0de2917fb29f1da4f8f533 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mccabe?source=hash-mapping + size: 12934 + timestamp: 1733216573915 - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl name: mdurl version: 0.1.2 @@ -3700,6 +4368,35 @@ packages: - pkg:pypi/munkres?source=hash-mapping size: 15851 timestamp: 1749895533014 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.18.2-py311h49ec1c0_0.conda + sha256: 095b3d78518392a6f9edf52819b0cfac63de99831f11678c545ab6a33dd18c55 + md5: f6b961ea9c80c2a46a2fc53e097f4a8f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - mypy_extensions >=1.0.0 + - pathspec >=0.9.0 + - psutil >=4.0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - typing_extensions >=4.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy?source=hash-mapping + size: 19423040 + timestamp: 1758278753048 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 + md5: e9c622e0d00fa24a6292279af3ab6d06 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy-extensions?source=hash-mapping + size: 11766 + timestamp: 1745776666688 - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 md5: 47e340acb35de30501a76c7c799c41d7 @@ -3841,9 +4538,23 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/numpy?source=hash-mapping - size: 9418119 - timestamp: 1761162089374 + - pkg:pypi/numpy?source=hash-mapping + size: 9418119 + timestamp: 1761162089374 +- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.9.0-pyhe01879c_1.conda + sha256: 9e1f3dda737ac9aeec3c245c5d856d0268c4f64a5293c094298d74bb55e2b165 + md5: 66f9ba52d846feffa1c5d62522324b4f + depends: + - python >=3.9 + - sphinx >=6 + - tomli >=1.1.0 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpydoc?source=hash-mapping + size: 60220 + timestamp: 1750861325361 - pypi: https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: opencv-python version: 4.11.0.86 @@ -4113,17 +4824,18 @@ packages: purls: [] size: 35340762 timestamp: 1760223452146 -- pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl - name: parso - version: 0.8.5 - sha256: 646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887 - requires_dist: - - pytest ; extra == 'testing' - - docopt ; extra == 'testing' - - flake8==5.0.4 ; extra == 'qa' - - mypy==0.971 ; extra == 'qa' - - types-setuptools==67.2.0.1 ; extra == 'qa' - requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + sha256: 30de7b4d15fbe53ffe052feccde31223a236dae0495bab54ab2479de30b2990f + md5: a110716cdb11cf51482ff4000dc253d7 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/parso?source=hash-mapping + size: 81562 + timestamp: 1755974222274 - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl name: partd version: 1.4.2 @@ -4136,6 +4848,17 @@ packages: - pyzmq ; extra == 'complete' - blosc ; extra == 'complete' requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + md5: 617f15191456cc6a13db418a275435e5 + depends: + - python >=3.9 + license: MPL-2.0 + license_family: MOZILLA + purls: + - pkg:pypi/pathspec?source=hash-mapping + size: 41075 + timestamp: 1733233471940 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda sha256: 5c7380c8fd3ad5fc0f8039069a45586aa452cf165264bc5a437ad80397b32934 md5: 7fa07cb0fb1b625a089ccc01218ee5b1 @@ -4149,12 +4872,17 @@ packages: purls: [] size: 1209177 timestamp: 1756742976157 -- pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl - name: pexpect - version: 4.9.0 - sha256: 7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 - requires_dist: - - ptyprocess>=0.5 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea + depends: + - ptyprocess >=0.5 + - python >=3.9 + license: ISC + purls: + - pkg:pypi/pexpect?source=hash-mapping + size: 53561 + timestamp: 1733302019362 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.0.0-py311h07c5bb8_0.conda sha256: 57231a713744270bcd7116f339e13c78cd78f055a54b4d9b811a8597076c21d2 md5: 51f505a537b2d216a1b36b823df80995 @@ -4189,10 +4917,10 @@ packages: - slicerator>=0.9.8 - tifffile requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/05/32/2f6a3e6b073f16f88a133bf50adb361cd714621e582191e03c0705307c8b/pint-0.25.1-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/ab/88/550d41e81e6d43335603a960cd9c75c1d88f9cf01bc9d4ee8e86290aba7d/pint-0.25.2-py3-none-any.whl name: pint - version: 0.25.1 - sha256: b13dc42d0effa2d98b621b06eb0f2990d262c655c8893f6d40a74c334f9aa6b4 + version: 0.25.2 + sha256: ca35ab1d8eeeb6f7d9942b3cb5f34ca42b61cdd5fb3eae79531553dcca04dda7 requires_dist: - flexcache>=0.3 - flexparser>=0.4 @@ -4264,22 +4992,29 @@ packages: purls: [] size: 450960 timestamp: 1754665235234 -- pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl - name: platformdirs - version: 4.5.0 - sha256: e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3 - requires_dist: - - furo>=2025.9.25 ; extra == 'docs' - - proselint>=0.14 ; extra == 'docs' - - sphinx-autodoc-typehints>=3.2 ; extra == 'docs' - - sphinx>=8.2.3 ; extra == 'docs' - - appdirs==1.4.4 ; extra == 'test' - - covdefaults>=2.3 ; extra == 'test' - - pytest-cov>=7 ; extra == 'test' - - pytest-mock>=3.15.1 ; extra == 'test' - - pytest>=8.4.2 ; extra == 'test' - - mypy>=1.18.2 ; extra == 'type' - requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.0-pyhcf101f3_0.conda + sha256: 7efd51b48d908de2d75cbb3c4a2e80dd9454e1c5bb8191b261af3136f7fa5888 + md5: 5c7a868f8241e64e1cf5fdf4962f23e2 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/platformdirs?source=hash-mapping + size: 23625 + timestamp: 1759953252315 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + sha256: a8eb555eef5063bbb7ba06a379fa7ea714f57d9741fe0efdb9442dbbc2cccbcc + md5: 7da7ccd349dbf6487a7778579d2bb971 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pluggy?source=hash-mapping + size: 24246 + timestamp: 1747339794916 - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl name: prettytable version: 3.16.0 @@ -4313,13 +5048,20 @@ packages: purls: [] size: 3259440 timestamp: 1757929968903 -- pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl - name: prompt-toolkit - version: 3.0.52 - sha256: 9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 - requires_dist: +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 + depends: + - python >=3.10 - wcwidth - requires_python: '>=3.8' + constrains: + - prompt_toolkit 3.0.52 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/prompt-toolkit?source=hash-mapping + size: 273927 + timestamp: 1756321848365 - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py311h2dc5d0c_0.conda sha256: 38ef315508a4c6c96985a990b172964a8ed737fe4e991d82ad9d2a77c45add1f md5: c75eb8c91d69fe0385fce584f3ce193a @@ -4334,50 +5076,20 @@ packages: - pkg:pypi/propcache?source=hash-mapping size: 54558 timestamp: 1744525097548 -- pypi: https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl - name: psutil - version: 7.1.3 - sha256: 3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3 - requires_dist: - - pytest ; extra == 'dev' - - pytest-instafail ; extra == 'dev' - - pytest-subtests ; extra == 'dev' - - pytest-xdist ; extra == 'dev' - - setuptools ; extra == 'dev' - - abi3audit ; extra == 'dev' - - black ; extra == 'dev' - - check-manifest ; extra == 'dev' - - coverage ; extra == 'dev' - - packaging ; extra == 'dev' - - pylint ; extra == 'dev' - - pyperf ; extra == 'dev' - - pypinfo ; extra == 'dev' - - pytest-cov ; extra == 'dev' - - requests ; extra == 'dev' - - rstcheck ; extra == 'dev' - - ruff ; extra == 'dev' - - sphinx ; extra == 'dev' - - sphinx-rtd-theme ; extra == 'dev' - - toml-sort ; extra == 'dev' - - twine ; extra == 'dev' - - validate-pyproject[all] ; extra == 'dev' - - virtualenv ; extra == 'dev' - - vulture ; extra == 'dev' - - wheel ; extra == 'dev' - - colorama ; os_name == 'nt' and extra == 'dev' - - pyreadline ; os_name == 'nt' and extra == 'dev' - - pywin32 ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' - - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' - - wmi ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'dev' - - pytest ; extra == 'test' - - pytest-instafail ; extra == 'test' - - pytest-subtests ; extra == 'test' - - pytest-xdist ; extra == 'test' - - setuptools ; extra == 'test' - - pywin32 ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' - - wheel ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' - - wmi ; os_name == 'nt' and platform_python_implementation != 'PyPy' and extra == 'test' - requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py311haee01d2_0.conda + sha256: 6a0b791e00368b6b635c65d5fb31d385129da790d21923387c6b546230ffdf14 + md5: 2092b7977bc8e05eb17a1048724593a4 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 513789 + timestamp: 1762092898190 - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 md5: b3c17d95b5a10c6e64a21fa17573e70e @@ -4389,10 +5101,16 @@ packages: purls: [] size: 8252 timestamp: 1726802366959 -- pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - name: ptyprocess - version: 0.7.0 - sha256: 4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + depends: + - python >=3.9 + license: ISC + purls: + - pkg:pypi/ptyprocess?source=hash-mapping + size: 19457 + timestamp: 1733302371990 - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 md5: b11a4c6bf6f6f44e5e143f759ffa2087 @@ -4405,12 +5123,17 @@ packages: purls: [] size: 118488 timestamp: 1736601364156 -- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - name: pure-eval - version: 0.2.3 - sha256: 1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 - requires_dist: - - pytest ; extra == 'tests' +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pure-eval?source=hash-mapping + size: 16668 + timestamp: 1733569518868 - pypi: https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl name: py-cpuinfo version: 9.0.0 @@ -4425,6 +5148,29 @@ packages: version: 0.6.1 sha256: 0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.14.0-pyhd8ed1ab_0.conda + sha256: 1950f71ff44e64163e176b1ca34812afc1a104075c3190de50597e1623eb7d53 + md5: 85815c6a22905c080111ec8d56741454 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pycodestyle?source=hash-mapping + size: 35182 + timestamp: 1750616054854 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 + md5: 12c566707c80111f9799308d9e265aef + depends: + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pycparser?source=hash-mapping + size: 110100 + timestamp: 1733195786147 - pypi: https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: pycryptodome version: 3.23.0 @@ -4525,6 +5271,17 @@ packages: - pkg:pypi/pyfftw?source=hash-mapping size: 2072819 timestamp: 1761206076963 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.4.0-pyhd8ed1ab_0.conda + sha256: 4b6fb3f7697b4e591c06149671699777c71ca215e9ec16d5bd0767425e630d65 + md5: dba204e749e06890aeb3756ef2b1bf35 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyflakes?source=hash-mapping + size: 59592 + timestamp: 1750492011671 - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a md5: 6b6ece66ebcae2d5f326c77ef2c5a066 @@ -4580,6 +5337,44 @@ packages: - pkg:pypi/pyparsing?source=hash-mapping size: 104044 timestamp: 1758436411254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.3-py311he4c1a5a_1.conda + sha256: 6c010613e5e83970a1d2a204e38b5f3af66be252997af9686f285c9d3f77cfe3 + md5: 8c769099c0729ff85aac64f566bcd0d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libclang13 >=21.1.2 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=14 + - libvulkan-loader >=1.4.313.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - qt6-main 6.9.3.* + - qt6-main >=6.9.3,<6.10.0a0 + license: LGPL-3.0-only + license_family: LGPL + purls: + - pkg:pypi/pyside6?source=hash-mapping + - pkg:pypi/shiboken6?source=hash-mapping + size: 10130577 + timestamp: 1759402915772 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21085 + timestamp: 1733217331982 - pypi: https://files.pythonhosted.org/packages/c4/d4/b10d1219b94576c25c8f7a631c7cfb59fbfcc22ddeae36a668a356650f79/pystackreg-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: pystackreg version: 0.2.8 @@ -4587,6 +5382,42 @@ packages: requires_dist: - numpy - tqdm +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.4.2-pyhcf101f3_1.conda + sha256: 39f41a52eb6f927caf5cd42a2ff98a09bb850ce9758b432869374b6253826962 + md5: da0c42269086f5170e2b296878ec13a6 + depends: + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1 + - packaging >=20 + - pluggy >=1.5,<2 + - tomli >=1 + - colorama >=0.4 + - exceptiongroup >=1 + - python + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest?source=compressed-mapping + size: 294852 + timestamp: 1762354779909 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + sha256: d0f45586aad48ef604590188c33c83d76e4fc6370ac569ba0900906b24fd6a26 + md5: 6891acad5e136cb62a8c2ed2679d6528 + depends: + - coverage >=7.10.6 + - pluggy >=1.2 + - pytest >=7 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest-cov?source=hash-mapping + size: 29016 + timestamp: 1757612051022 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-he550d4f_1_cpython.conda build_number: 1 sha256: 464f998e406b645ba34771bb53a0a7c2734e855ee78dd021aa4dedfdb65659b7 @@ -4643,10 +5474,17 @@ packages: purls: [] size: 7003 timestamp: 1752805919375 -- pypi: https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl - name: pytz - version: '2025.2' - sha256: 5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 + md5: bc8e3267d44011051f2eb14d22fb0960 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytz?source=hash-mapping + size: 189015 + timestamp: 1742920947249 - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_1.conda sha256: 6accd7bc4762d43dc5db9a593b504a5e8807d71ffc31ced324ffb583b6ee896f md5: 31838811238427e85f86a89fea0421dc @@ -4844,18 +5682,23 @@ packages: - rpds-py>=0.7.0 - typing-extensions>=4.4.0 ; python_full_version < '3.13' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl - name: requests - version: 2.32.5 - sha256: 2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 - requires_dist: - - charset-normalizer>=2,<4 - - idna>=2.5,<4 - - urllib3>=1.21.1,<3 - - certifi>=2017.4.17 - - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks' - - chardet>=3.0.2,<6 ; extra == 'use-chardet-on-py3' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + sha256: 8dc54e94721e9ab545d7234aa5192b74102263d3e704e6d0c8aa7008f2da2a7b + md5: db0c6b99149880c8ba515cf4abe93ee4 + depends: + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - python >=3.9 + - urllib3 >=1.21.1,<3 + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/requests?source=hash-mapping + size: 59263 + timestamp: 1755614348400 - pypi: https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl name: rich version: 14.2.0 @@ -4865,6 +5708,16 @@ packages: - markdown-it-py>=2.2.0 - pygments>=2.13.0,<3.0.0 requires_python: '>=3.8.0' +- conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda + sha256: 0116a9ca9bf3487e18979b58b2f280116dba55cb53475af7a6d835f7aa133db8 + md5: 5f0f24f8032c2c1bb33f59b75974f5fc + depends: + - python >=3.9 + license: 0BSD OR CC0-1.0 + purls: + - pkg:pypi/roman-numerals-py?source=hash-mapping + size: 13348 + timestamp: 1740240332327 - pypi: https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: rpds-py version: 0.28.0 @@ -5105,6 +5958,17 @@ packages: version: 1.3.1 sha256: 2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda + sha256: 17007a4cfbc564dc3e7310dcbe4932c6ecb21593d4fec3c68610720f19e73fb2 + md5: 755cf22df8693aa0d1aec1c123fa5863 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/snowballstemmer?source=hash-mapping + size: 73009 + timestamp: 1747749529809 - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl name: sortedcontainers version: 2.4.0 @@ -5144,6 +6008,142 @@ packages: - finch-tensor>=0.2.12 ; extra == 'finch' - finch-mlir>=0.0.2 ; extra == 'mlir' requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda + sha256: 995f58c662db0197d681fa345522fd9e7ac5f05330d3dff095ab2f102e260ab0 + md5: f7af826063ed569bb13f7207d6f949b0 + depends: + - alabaster >=0.7.14 + - babel >=2.13 + - colorama >=0.4.6 + - docutils >=0.20,<0.22 + - imagesize >=1.3 + - jinja2 >=3.1 + - packaging >=23.0 + - pygments >=2.17 + - python >=3.11 + - requests >=2.30.0 + - roman-numerals-py >=1.0.0 + - snowballstemmer >=2.2 + - sphinxcontrib-applehelp >=1.0.7 + - sphinxcontrib-devhelp >=1.0.6 + - sphinxcontrib-htmlhelp >=2.0.6 + - sphinxcontrib-jsmath >=1.0.1 + - sphinxcontrib-qthelp >=1.0.6 + - sphinxcontrib-serializinghtml >=1.1.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinx?source=hash-mapping + size: 1424416 + timestamp: 1740956642838 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda + sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 + md5: bf22cb9c439572760316ce0748af3713 + depends: + - python >=3.9 + - sphinx >=1.8 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-copybutton?source=hash-mapping + size: 17893 + timestamp: 1734573117732 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-3.0.2-pyha770c72_0.conda + sha256: c5d1ef5801f56c3bba4088de6c02c10e7f5b195805997fc1af569cf3f33f92e4 + md5: cec0cc87b40171bc323a9d80b619c9c5 + depends: + - docutils >0.18,<0.22 + - python >=3.8 + - sphinx >=6,<9 + - sphinxcontrib-jquery >=4,<5 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-rtd-theme?source=hash-mapping + size: 4629955 + timestamp: 1757836585728 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba + md5: 16e3f039c0aa6446513e94ab18a8784b + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping + size: 29752 + timestamp: 1733754216334 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d + md5: 910f28a05c178feba832f842155cbfff + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping + size: 24536 + timestamp: 1733754232002 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 + md5: e9fb3fe8a5b758b4aff187d434f94f03 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping + size: 32895 + timestamp: 1733754385092 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_1.conda + sha256: 69c08d18663b57ebc8e4187c64c8d29b10996bb465a515cd288d87b6f2f52a5e + md5: 403185829255321ea427333f7773dd1f + depends: + - python >=3.9 + - sphinx >=1.8 + license: 0BSD AND MIT + purls: + - pkg:pypi/sphinxcontrib-jquery?source=hash-mapping + size: 112964 + timestamp: 1734344603903 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 + md5: fa839b5ff59e192f411ccc7dae6588bb + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping + size: 10462 + timestamp: 1733753857224 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca + md5: 00534ebcc0375929b45c3039b5ba7636 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping + size: 26959 + timestamp: 1733753505008 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 + md5: 3bc61f7161d28137797e038263c04c54 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-serializinghtml?source=hash-mapping + size: 28669 + timestamp: 1733750596111 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.0-heff268d_0.conda sha256: 5cece58ca7353705ea47bbe44088baee70d2dfa8bdf2bbcd211698f60ab5e7cd md5: 5422f0e1b59d2aa29329d5b3e36d57e5 @@ -5159,19 +6159,20 @@ packages: purls: [] size: 182985 timestamp: 1762299697693 -- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - name: stack-data - version: 0.6.3 - sha256: d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 - requires_dist: - - executing>=1.2.0 - - asttokens>=2.1.0 - - pure-eval - - pytest ; extra == 'tests' - - typeguard ; extra == 'tests' - - pygments ; extra == 'tests' - - littleutils ; extra == 'tests' - - cython ; extra == 'tests' +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc + depends: + - asttokens + - executing + - pure_eval + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/stack-data?source=hash-mapping + size: 26988 + timestamp: 1733569565672 - pypi: https://files.pythonhosted.org/packages/14/ba/d03f7ee711391af1d5f4dd7c44f8abdd06bce247028af2441ba8f6ff329b/stamina-25.1.0-py3-none-any.whl name: stamina version: 25.1.0 @@ -5512,6 +6513,18 @@ packages: purls: [] size: 3285204 timestamp: 1748387766691 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + sha256: cb77c660b646c00a48ef942a9e1721ee46e90230c7c570cdeb5a893b5cce9bff + md5: d2732eb636c264dc9aa4cbee404b1a53 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/tomli?source=compressed-mapping + size: 20973 + timestamp: 1760014679845 - conda: https://conda.anaconda.org/conda-forge/noarch/tomopy-1.15.3-pyhd8ed1ab_0.conda sha256: e771142464d112ef264235a91f0a506699a2d665402d6a0ba32af6d6c1cf770e md5: 4176a18f362adae2499c1216f3900008 @@ -5563,11 +6576,20 @@ packages: version: 1.1.0 sha256: 15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: tornado - version: 6.5.2 - sha256: e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108 - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py311h49ec1c0_1.conda + sha256: b1d686806d6b913e42aadb052b12d9cc91aae295640df3acfef645142fc33b3d + md5: 18a98f4444036100d78b230c94453ff4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=hash-mapping + size: 868049 + timestamp: 1756855060036 - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl name: tqdm version: 4.67.1 @@ -5584,21 +6606,17 @@ packages: - requests ; extra == 'telegram' - ipywidgets>=6 ; extra == 'notebook' requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - name: traitlets - version: 5.14.3 - sha256: b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f - requires_dist: - - myst-parser ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - sphinx ; extra == 'docs' - - argcomplete>=3.0.3 ; extra == 'test' - - mypy>=1.7.0 ; extra == 'test' - - pre-commit ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-mypy-testing ; extra == 'test' - - pytest>=7.0,<8.2 ; extra == 'test' - requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 + md5: 019a7385be9af33791c989871317e1ed + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/traitlets?source=hash-mapping + size: 110051 + timestamp: 1733367480074 - pypi: https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl name: typer version: 0.20.0 @@ -5681,17 +6699,21 @@ packages: - pkg:pypi/unicodedata2?source=hash-mapping size: 409498 timestamp: 1762268947975 -- pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl - name: urllib3 - version: 2.5.0 - sha256: e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc - requires_dist: - - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' - - h2>=4,<5 ; extra == 'h2' - - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' - - zstandard>=0.18.0 ; extra == 'zstd' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + sha256: 4fb9789154bd666ca74e428d973df81087a697dbb987775bc3198d2215f240f8 + md5: 436c165519e140cb08d246a4472a9d6a + depends: + - brotli-python >=1.0.9 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.9 + - zstandard >=0.18.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/urllib3?source=hash-mapping + size: 101735 + timestamp: 1750271478254 - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda sha256: bbfbfc43bc028ec8acc5c9c2bb9a52c7652140cef91fdb6219a52d91d773a474 md5: a480ee3eb9c95364a229673a28384899 @@ -5792,11 +6814,17 @@ packages: purls: [] size: 329779 timestamp: 1761174273487 -- pypi: https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl - name: wcwidth - version: 0.2.14 - sha256: a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1 - requires_python: '>=3.6' +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda + sha256: e311b64e46c6739e2a35ab8582c20fa30eb608da130625ed379f4467219d4813 + md5: 7e1e5ff31239f9cd5855714df8a3783d + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wcwidth?source=hash-mapping + size: 33670 + timestamp: 1758622418893 - pypi: https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: websockets version: 15.0.1 @@ -6328,14 +7356,23 @@ packages: purls: [] size: 110843 timestamp: 1754587144298 -- pypi: https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: zstandard - version: 0.25.0 - sha256: 9300d02ea7c6506f00e627e287e0492a5eb0371ec1670ae852fefffa6164b072 - requires_dist: - - cffi~=1.17 ; python_full_version < '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' - - cffi>=2.0.0b0 ; python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and extra == 'cffi' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311haee01d2_0.conda + sha256: ed149760ea78e038e6424d8a327ea95da351727536c0e9abedccf5a61fc19932 + md5: 0fd242142b0691eb9311dc32c1d4ab76 + depends: + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.11.* *_cp311 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/zstandard?source=hash-mapping + size: 466651 + timestamp: 1757930101225 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 diff --git a/pixi.toml b/pixi.toml index f3ef26c17..07b7a0362 100644 --- a/pixi.toml +++ b/pixi.toml @@ -24,3 +24,35 @@ tiled = { version = ">=0.2.0", extras = ["client"] } # Launch Tomviz from the pixi environment tomviz = "tomviz" +# ------------------------- +# Environments +# ------------------------- +[environments] +default = { solve-group = "default" } +dev = { features = ["dev"], solve-group = "default" } + +# ------------------------- +# Features +# ------------------------- +# Dev-only tools and tasks (enabled when -e dev is used) +[feature.dev.dependencies] +pytest = "*" +pytest-cov = "*" +flake8 = "*" +black = "*" +mypy = "*" +coverage = "*" +codecov = "*" +sphinx = "*" +numpydoc = "*" +ipython = "*" +matplotlib = "*" +sphinx-copybutton = "*" +sphinx_rtd_theme = "*" + +[feature.dev.tasks] +# Run tests + coverage + flake8 in one go (xviewlite-style) +lint = "coverage run -m pytest && coverage report -m && codecov && flake8" +# Build docs after linting (inline table syntax is required here) +docs = { cmd = "make -C docs html", depends-on = ["lint"] } + From 481ad8a4888f6263fd5778836f824c3892a38260 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Mon, 6 Oct 2025 16:40:25 -0500 Subject: [PATCH 006/123] Fix pdb to allow spaces This makes it easier to use pdb within operators. Otherwise, it will always complain when you use any spaces. This happens because VTK has its own stdin/stdout that it uses with Python. Signed-off-by: Patrick Avery --- tomviz/python/tomviz/_internal.py | 4 ++++ tomviz/python/tomviz/fix_pdb.py | 37 +++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tomviz/python/tomviz/fix_pdb.py diff --git a/tomviz/python/tomviz/_internal.py b/tomviz/python/tomviz/_internal.py index c29816280..1801502cf 100644 --- a/tomviz/python/tomviz/_internal.py +++ b/tomviz/python/tomviz/_internal.py @@ -16,6 +16,10 @@ import tomviz import tomviz.operators +from .fix_pdb import fix_pdb + +fix_pdb() + def in_application(): return os.environ.get('TOMVIZ_APPLICATION', False) diff --git a/tomviz/python/tomviz/fix_pdb.py b/tomviz/python/tomviz/fix_pdb.py new file mode 100644 index 000000000..947075d02 --- /dev/null +++ b/tomviz/python/tomviz/fix_pdb.py @@ -0,0 +1,37 @@ +import pdb +import sys + + +class FixedPdb(pdb.Pdb): + """ + Since we re-direct stdin, stdout, and stderr in other parts of + the application, pdb can't interpret things like arrow keys + and auto-complete correctly. + This class fixes the issue by getting pdb to always use + the default stdout and stderr. + """ + def set_trace(self, *args, **kwargs): + self._use_default_pipes() + return super().set_trace(*args, **kwargs) + + def do_continue(self, *args, **kwargs): + self._restore_pipes() + return super().do_continue(*args, **kwargs) + + def _use_default_pipes(self): + self._prev_stdout = sys.stdout + self._prev_stderr = sys.stderr + self._prev_stdin = sys.stdin + sys.stdout = sys.__stdout__ + sys.stderr = sys.__stderr__ + sys.stdin = sys.__stdin__ + + def _restore_pipes(self): + sys.stdout = self._prev_stdout + sys.stderr = self._prev_stderr + sys.stdin = self._prev_stdin + + +def fix_pdb(): + if not isinstance(pdb.Pdb, FixedPdb): + pdb.Pdb = FixedPdb From 70761795d2c3f57a6cc10cc5b69b7ce58526fe5a Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 7 Oct 2025 11:04:38 -0500 Subject: [PATCH 007/123] Load all extracted XRF elements as arrays We can load all of these in as separate arrays. Signed-off-by: Patrick Avery --- tomviz/PyXRFRunner.cxx | 65 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 6 deletions(-) diff --git a/tomviz/PyXRFRunner.cxx b/tomviz/PyXRFRunner.cxx index 42b8af5db..71e1535c8 100644 --- a/tomviz/PyXRFRunner.cxx +++ b/tomviz/PyXRFRunner.cxx @@ -3,6 +3,8 @@ #include "PyXRFRunner.h" +#include "DataExchangeFormat.h" +#include "DataSource.h" #include "LoadDataReaction.h" #include "ProgressDialog.h" #include "PyXRFMakeHDF5Dialog.h" @@ -13,11 +15,17 @@ #include #include +#include #include #include #include #include +#include +#include +#include +#include + namespace tomviz { class PyXRFRunner::Internal : public QObject @@ -460,16 +468,61 @@ class PyXRFRunner::Internal : public QObject ret.append(item.toString().c_str()); } + if (ret.size() == 0) { + qCritical("No elements were extracted"); + return; + } + QString title = "Element extraction complete"; auto text = - QString("Elements were extracted to \"%1\".\n\nLoad the first one " - "(\"%2\") into Tomviz?") - .arg(outputPath) - .arg(ret[0]); + QString("Elements were extracted to \"%1\".\n\nLoad them into Tomviz?") + .arg(outputPath); if (QMessageBox::question(parentWidget, title, text) == QMessageBox::Yes) { - // Load the first one - LoadDataReaction::loadData(ret[0]); + loadElementsIntoArray(ret); + } + } + + void loadElementsIntoArray(const QStringList& fileList) { + // Load the first file into a DataSource + auto* dataSource = LoadDataReaction::loadData(fileList[0]); + if (!dataSource || !dataSource->imageData()) { + qCritical() << "Failed to load file:" << fileList[0]; + return; } + + auto* rootImageData = dataSource->imageData(); + auto* rootPointData = rootImageData->GetPointData(); + auto newRootName = QFileInfo(fileList[0]).baseName(); + rootPointData->GetScalars()->SetName(newRootName.toStdString().c_str()); + + // The other files should have identical metadata. We'll just load + // the image data for those, and add them to the point data. + DataExchangeFormat format; + for (int i = 1; i < fileList.size(); ++i) { + vtkNew imageData; + format.read(fileList[i].toStdString(), imageData); + if (!imageData) { + qCritical() << "Failed to read image data for file:" << fileList[i]; + continue; + } + + auto* scalars = imageData->GetPointData()->GetScalars(); + auto newName = QFileInfo(fileList[i]).baseName(); + scalars->SetName(newName.toStdString().c_str()); + + // Add the array to the root image data + rootPointData->AddArray(scalars); + } + + // Sort the list, and make the first one alphabetically be selected + auto sortedList = fileList; + sortedList.sort(); + auto firstName = QFileInfo(sortedList[0]).baseName(); + + dataSource->setActiveScalars(firstName.toStdString().c_str()); + dataSource->setFileNames(fileList); + dataSource->setLabel("Extracted Elements"); + dataSource->dataModified(); } }; From b7871ad774911ccdeaf72a954e63cda565ebc784 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Wed, 8 Oct 2025 13:17:59 -0500 Subject: [PATCH 008/123] Change C++ standard to C++20 This gives some nice template stuff. Signed-off-by: Patrick Avery --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe010df77..4b412fe1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,7 @@ file(RELATIVE_PATH set(CMAKE_MODULE_PATH "${tomviz_SOURCE_DIR}/cmake") # Request C++11 standard, using new CMake variables. -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_EXTENSIONS False) From 27481fcd1e61c8c6a7a680bdfd86d9f2fd1ed4f7 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 7 Oct 2025 17:11:17 -0500 Subject: [PATCH 009/123] Added enable_if and visible_if to InterfaceBuilder This allows one to put a conditional enable/visibility connection on widgets defined in JSON files. Signed-off-by: Patrick Avery --- CMakeLists.txt | 13 +- tomviz/InterfaceBuilder.cxx | 299 +++++++++++++++++++++++++++++++++++- tomviz/InterfaceBuilder.h | 7 + 3 files changed, 316 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b412fe1f..f67862a92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,7 +146,18 @@ endif() find_package(ITK 4.9) -set(PYBIND11_CPP_STANDARD "-std=c++11" CACHE STRING "") +# Many things changed in the find Python logic and ParaView's willingness to +# share what version of Python it built against. In the end it wasn't worth +# trying to support doing this automatically - try to feed everything the same +# version of Python, using a superbuild will make this easier for you. +find_package(Python3 COMPONENTS Interpreter Development) + +# Just add these to the cache so we can check them more easily... +set(PYTHON_INCLUDE_DIR ${Python3_INCLUDE_DIR} CACHE PATH "Tomviz") +set(PYTHON_LIBRARY ${Python3_LIBRARY} CACHE PATH "Tomviz") +set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE} CACHE PATH "Tomviz") + +set(PYBIND11_CPP_STANDARD "-std=c++20" CACHE STRING "") add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/pybind11) option(tomviz_ENABLE_LOOKING_GLASS "Enable the looking glass plugin" OFF) diff --git a/tomviz/InterfaceBuilder.cxx b/tomviz/InterfaceBuilder.cxx index 787446fda..5b20a5f59 100644 --- a/tomviz/InterfaceBuilder.cxx +++ b/tomviz/InterfaceBuilder.cxx @@ -137,6 +137,51 @@ QWidget* getNumericWidget(double defaultValue, double rangeMin, double rangeMax, return spinBox; } +template +bool isWidgetType(const QWidget* widget) { + return qobject_cast(widget) != nullptr; +} + +bool isWidgetNumeric(const QWidget* widget) { + return isWidgetType(widget) || isWidgetType(widget); +} + +template +auto changedSignal() +{ + // Get a generic symbol a widget has changed + if constexpr (std::is_same_v) { + return QOverload::of(&QComboBox::currentIndexChanged); + } else if constexpr (std::is_same_v) { + return &QCheckBox::toggled; + } else if constexpr (std::is_same_v) { + return QOverload::of(&QDoubleSpinBox::valueChanged); + } else if constexpr (std::is_same_v) { + return QOverload::of(&QSpinBox::valueChanged); + } else if constexpr (std::is_same_v) { + return &QLineEdit::textChanged; + } +} + +template +auto widgetValue(const T* w) +{ + // Get the widget value. + // This will be an int for QSpinBox, double for QDoubleSpinBox, + // string for QComboBox, etc. + if constexpr (std::is_same_v) { + return w->currentData().toString(); + } else if constexpr (std::is_same_v) { + return w->isChecked(); + } else if constexpr (std::is_same_v) { + return w->value(); + } else if constexpr (std::is_same_v) { + return w->value(); + } else if constexpr (std::is_same_v) { + return w->text(); + } +} + void addBoolWidget(QGridLayout* layout, int row, QJsonObject& parameterNode) { QJsonValueRef nameValue = parameterNode["name"]; @@ -165,6 +210,7 @@ void addBoolWidget(QGridLayout* layout, int row, QJsonObject& parameterNode) QCheckBox* checkBox = new QCheckBox(); checkBox->setObjectName(nameValue.toString()); checkBox->setCheckState(defaultValue ? Qt::Checked : Qt::Unchecked); + label->setBuddy(checkBox); layout->addWidget(checkBox, row, 1, 1, 1); } @@ -260,6 +306,7 @@ void addNumericWidget(QGridLayout* layout, int row, QJsonObject& parameterNode, horizontalLayout->setContentsMargins(0, 0, 0, 0); QWidget* horizontalWidget = new QWidget; horizontalWidget->setLayout(horizontalLayout); + label->setBuddy(horizontalWidget); layout->addWidget(horizontalWidget, row, 1, 1, 1); for (size_t i = 0; i < defaultValues.size(); ++i) { @@ -306,6 +353,7 @@ void addEnumerationWidget(QGridLayout* layout, int row, QComboBox* comboBox = new QComboBox(); comboBox->setObjectName(nameValue.toString()); + label->setBuddy(comboBox); QJsonValueRef optionsNode = parameterNode["options"]; if (!optionsNode.isUndefined()) { QJsonArray optionsArray = optionsNode.toArray(); @@ -376,6 +424,7 @@ void addPathWidget(QGridLayout* layout, int row, QJsonObject& pathNode) QJsonValueRef labelValue = pathNode["label"]; QLabel* label = new QLabel(nameValue.toString()); + label->setBuddy(horizontalWidget); if (!labelValue.isUndefined()) { label->setText(labelValue.toString()); } @@ -388,10 +437,11 @@ void addPathWidget(QGridLayout* layout, int row, QJsonObject& pathNode) pathField->setObjectName(nameValue.toString()); pathField->setMinimumWidth(500); horizontalLayout->addWidget(pathField); + auto filter = pathNode["filter"].toString(); QPushButton* browseButton = new QPushButton("Browse"); horizontalLayout->addWidget(browseButton); - QObject::connect(browseButton, &QPushButton::clicked, [type, pathField]() { + QObject::connect(browseButton, &QPushButton::clicked, [type, pathField, filter]() { // Determine the directory we should open the file browser at. QString browseDir; if (!pathField->text().isEmpty()) { @@ -406,7 +456,7 @@ void addPathWidget(QGridLayout* layout, int row, QJsonObject& pathNode) QString path; if (type == "file") { path = QFileDialog::getOpenFileName(tomviz::mainWidget(), "Select File", - browseDir); + browseDir, filter); } else { path = QFileDialog::getExistingDirectory(tomviz::mainWidget(), "Select Directory", browseDir); @@ -458,6 +508,7 @@ void addStringWidget(QGridLayout* layout, int row, QJsonObject& pathNode) stringField->setProperty("type", type); stringField->setObjectName(nameValue.toString()); stringField->setMinimumWidth(500); + label->setBuddy(stringField); horizontalLayout->addWidget(stringField); QJsonValueRef defaultNode = pathNode["default"]; @@ -488,6 +539,7 @@ void addDatasetWidget(QGridLayout* layout, int row, QJsonObject& parameterNode) QComboBox* comboBox = new QComboBox(); comboBox->setObjectName(nameValue.toString()); + labelWidget->setBuddy(comboBox); QStringList addedLabels; auto dataSources = tomviz::ModuleManager::instance().allDataSourcesDepthFirst(); @@ -518,6 +570,11 @@ void addDatasetWidget(QGridLayout* layout, int row, QJsonObject& parameterNode) namespace tomviz { +bool setupEnableTriggerAbstract(QWidget* refWidget, QWidget* widget, + const QString& comparator, + const QVariant& compareValue, + bool visibility); + InterfaceBuilder::InterfaceBuilder(QObject* parentObject, DataSource* ds) : QObject(parentObject), m_dataSource(ds) {} @@ -598,12 +655,91 @@ QLayout* InterfaceBuilder::buildParameterInterface(QGridLayout* layout, } } + setupEnableAndVisibleStates(layout->parentWidget(), parameters); + return layout; } +void InterfaceBuilder::setupEnableAndVisibleStates( + const QObject* parent, + QJsonArray& parameters) const +{ + setupEnableStates(parent, parameters, true); + setupEnableStates(parent, parameters, false); +} + +void InterfaceBuilder::setupEnableStates(const QObject* parent, + QJsonArray& parameters, + bool visible) const +{ + static const QStringList validComparators = { + "==", "!=", ">", ">=", "<", "<=" + }; + + QJsonObject::size_type numParameters = parameters.size(); + for (QJsonObject::size_type i = 0; i < numParameters; ++i) { + QJsonValueRef parameterNode = parameters[i]; + QJsonObject parameterObject = parameterNode.toObject(); + + QString text = visible ? "visible_if" : "enable_if"; + QString enableIfValue = parameterObject[text].toString(""); + if (enableIfValue.isEmpty()) { + continue; + } + + QString widgetName = parameterObject["name"].toString(""); + if (widgetName.isEmpty()) { + qCritical() << text << "parameters must have a name. Ignoring..."; + continue; + } + auto* widget = findWidgetByName(parent, widgetName); + if (!widget) { + qCritical() << "Failed to find widget with name:" << widgetName; + continue; + } + + auto split = enableIfValue.simplified().split(" "); + if (split.size() != 3) { + qCritical() << "Invalid" << text << "string:" << enableIfValue; + continue; + } + + auto refWidgetName = split[0]; + auto comparator = split[1]; + auto compareValue = split[2]; + auto* refWidget = findWidgetByName(parent, refWidgetName); + + if (!refWidget) { + qCritical() << "Invalid widget name in" << text << "string:" << enableIfValue; + continue; + } + + if (!validComparators.contains(comparator)) { + qCritical() << "Invalid comparator in" << text << "string:" << enableIfValue; + continue; + } + + if (!setupEnableTriggerAbstract(refWidget, widget, comparator, + compareValue, visible)) { + qCritical() << "Failed to set up" << text << "trigger for" << widgetName; + } + } +} + +QWidget* InterfaceBuilder::findWidgetByName(const QObject* parent, const QString& name) const +{ + for (auto* child : parent->findChildren()) { + if (child->objectName() == name) { + return child; + } + } + return nullptr; +} + QLayout* InterfaceBuilder::buildInterface() const { QWidget* widget = new QWidget; + widget->setProperty("isRootInterfaceWidget", true); QVBoxLayout* verticalLayout = new QVBoxLayout; verticalLayout->addWidget(widget); @@ -791,4 +927,163 @@ QVariantMap InterfaceBuilder::parameterValues(const QObject* parent) return map; } +QWidget* findRootInterfaceWidget(const QWidget* widget) +{ + auto* parent = widget->parent(); + while (parent and not parent->property("isRootInterfaceWidget").toBool()) { + parent = parent->parent(); + } + + if (parent and parent->property("isRootInterfaceWidget").toBool()) { + return qobject_cast(parent); + } + + return nullptr; +} + +QLabel* findLabelForWidget(const QWidget* widget) +{ + // We use the buddy system to keep track of which label is for + // which widget. + auto* parent = findRootInterfaceWidget(widget); + if (!parent) { + return nullptr; + } + + for (auto* child : parent->findChildren()) { + if (child->buddy() == widget) { + return child; + } + } + + return nullptr; +} + +void setWidgetProperty(QWidget* widget, const char* property, QVariant value) +{ + if (isWidgetNumeric(widget) || isWidgetType(widget)) { + // These types actually want the parent widget instead, because there + // is some parent widget holding everything (spinboxes, path button, etc.). + widget = widget->parentWidget(); + if (!widget) { + // This hopefully should't happen. + return; + } + } + + // First, set the property on the widget + widget->setProperty(property, value); + + // Next, see if we can find the label corresponding to this widget, and + // set the property there as well. + auto* label = findLabelForWidget(widget); + if (label) { + label->setProperty(property, value); + } +} + +template +bool compareGeneric(T value, T ref, const QString& comparator) +{ + // The generic one, for bools and strings, can only do `==` and `!=`. + if (comparator == "==") { + return value == ref; + } else if (comparator == "!=") { + return value != ref; + } + + return false; +} + +template +bool compareNumbers(T value, T ref, const QString& comparator) +{ + // This is for ints and floats. We can do inequality comparisons. + if (comparator == "==") { + return value == ref; + } else if (comparator == "!=") { + return value != ref; + } else if (comparator == ">") { + return value > ref; + } else if (comparator == "<") { + return value < ref; + } else if (comparator == ">=") { + return value >= ref; + } else if (comparator == "<=") { + return value <= ref; + } + + return false; +} + +template +bool compare(const T* widget, const QVariant& compareValue, + const QString& comparator) +{ + auto value = widgetValue(widget); + if constexpr (std::is_same_v || std::is_same_v) { + QString ref = compareValue.toString(); + if (ref.startsWith("'") || ref.startsWith("\"")) { + // Remove the first and last characters + ref = ref.mid(1, ref.length() - 2); + } + return compareGeneric(value, ref, comparator); + } else if constexpr (std::is_same_v) { + return compareGeneric(value, compareValue.toBool(), comparator); + } else if constexpr (std::is_same_v) { + return compareNumbers(value, compareValue.toInt(), comparator); + } else if constexpr (std::is_same_v) { + return compareNumbers(value, compareValue.toDouble(), comparator); + } + + return false; +} + +template +bool setupEnableTrigger(T* refWidget, QWidget* widget, + const QString& comparator, const QVariant& compareValue, + const char* property) +{ + // Set up the callback function + auto func = [=](){ + auto result = compare(refWidget, compareValue, comparator); + setWidgetProperty(widget, property, result); + }; + // Make the connection + widget->connect(refWidget, changedSignal(), widget, func); + + // Trigger the update one time, since defaults are already set. + func(); + + return true; +} + +bool setupEnableTriggerAbstract(QWidget* refWidget, QWidget* widget, + const QString& comparator, + const QVariant& compareValue, + bool visibility) +{ + const char* property = visibility ? "visible" : "enabled"; + if (isWidgetType(refWidget)) { + return setupEnableTrigger(qobject_cast(refWidget), widget, + comparator, compareValue, property); + } else if (isWidgetType(refWidget)) { + return setupEnableTrigger(qobject_cast(refWidget), widget, + comparator, compareValue, property); + } else if (isWidgetType(refWidget)) { + return setupEnableTrigger(qobject_cast(refWidget), widget, + comparator, compareValue, property); + } else if (isWidgetType(refWidget)) { + return setupEnableTrigger(qobject_cast(refWidget), widget, + comparator, compareValue, property); + } else if (isWidgetType(refWidget)) { + return setupEnableTrigger(qobject_cast(refWidget), widget, + comparator, compareValue, property); + } + + qCritical() << "Unhandled widget type for object: " + << refWidget->objectName(); + return false; +} + } // namespace tomviz diff --git a/tomviz/InterfaceBuilder.h b/tomviz/InterfaceBuilder.h index c8bfa32f4..0d3c026b8 100644 --- a/tomviz/InterfaceBuilder.h +++ b/tomviz/InterfaceBuilder.h @@ -40,6 +40,13 @@ class InterfaceBuilder : public QObject void updateWidgetValues(const QObject* parent); + void setupEnableAndVisibleStates(const QObject* parent, + QJsonArray& parameters) const; + void setupEnableStates(const QObject* parent, QJsonArray& parameters, + bool visible) const; + + QWidget* findWidgetByName(const QObject* parent, const QString& name) const; + private: Q_DISABLE_COPY(InterfaceBuilder) From e2d31f9cf1f380639953fe568f2b422f6b722ae3 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Wed, 8 Oct 2025 15:02:43 -0500 Subject: [PATCH 010/123] Add "save file" option to interface builder Signed-off-by: Patrick Avery --- tomviz/InterfaceBuilder.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tomviz/InterfaceBuilder.cxx b/tomviz/InterfaceBuilder.cxx index 5b20a5f59..d5fda4131 100644 --- a/tomviz/InterfaceBuilder.cxx +++ b/tomviz/InterfaceBuilder.cxx @@ -457,6 +457,9 @@ void addPathWidget(QGridLayout* layout, int row, QJsonObject& pathNode) if (type == "file") { path = QFileDialog::getOpenFileName(tomviz::mainWidget(), "Select File", browseDir, filter); + } else if (type == "save_file") { + path = QFileDialog::getSaveFileName(tomviz::mainWidget(), "Save File Path", + browseDir, filter); } else { path = QFileDialog::getExistingDirectory(tomviz::mainWidget(), "Select Directory", browseDir); @@ -566,6 +569,8 @@ void addDatasetWidget(QGridLayout* layout, int row, QJsonObject& parameterNode) layout->addWidget(comboBox, row, 1, 1, 1); } +static const QStringList PATH_TYPES = { "file", "save_file", "directory" }; + } // end anonymous namespace namespace tomviz { @@ -646,7 +651,7 @@ QLayout* InterfaceBuilder::buildParameterInterface(QGridLayout* layout, addEnumerationWidget(layout, i + 1, parameterObject); } else if (typeString == "xyz_header") { addXYZHeaderWidget(layout, i + 1, parameterObject); - } else if (typeString == "file" || typeString == "directory") { + } else if (PATH_TYPES.contains(typeString)) { addPathWidget(layout, i + 1, parameterObject); } else if (typeString == "string") { addStringWidget(layout, i + 1, parameterObject); @@ -910,14 +915,13 @@ QVariantMap InterfaceBuilder::parameterValues(const QObject* parent) } } - // QLineEdit's ( currently 'file' and 'directory' types ). - QStringList pathTypes = { "file", "directory" }; + // QLineEdit's ( currently 'file', 'save_file', and 'directory' types ). QList lineEdits = parent->findChildren(); for (int i = 0; i < lineEdits.size(); ++i) { auto lineEdit = lineEdits[i]; QVariant type = lineEdit->property("type"); bool canConvertTypeToString = QMetaType::canConvert(type.metaType(), QMetaType(QMetaType::QString)); - if (canConvertTypeToString && pathTypes.contains(type.toString())) { + if (canConvertTypeToString && PATH_TYPES.contains(type.toString())) { map[lineEdit->objectName()] = lineEdit->text(); } else if (canConvertTypeToString && type.toString() == "string") { map[lineEdit->objectName()] = lineEdit->text(); From 39f58b7a64a4cca918a1dc2d6e8d5adedaaef2c4 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Wed, 8 Oct 2025 15:03:06 -0500 Subject: [PATCH 011/123] Remove conversion to Fortran warning This is probably harmless most of the time, unless the data is massive. But it's annoying when it appears for every single array in a dataset. Signed-off-by: Patrick Avery --- tomviz/python/tomviz/utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tomviz/python/tomviz/utils.py b/tomviz/python/tomviz/utils.py index 60ef1434d..fb9d3c9fb 100644 --- a/tomviz/python/tomviz/utils.py +++ b/tomviz/python/tomviz/utils.py @@ -109,12 +109,11 @@ def set_array(dataobject, newarray, minextent=None, isFortran=True): arr = newarray.reshape(-1, order='F') vtkshape = newarray.shape else: - print('Warning, array does not have Fortran order, making deep copy ' - 'and fixing...') + # This used to print a warning, but we shouldn't worry about + # it... vtkshape = newarray.shape tmp = np.asfortranarray(newarray) arr = tmp.reshape(-1, order='F') - print('...done.') if not is_numpy_vtk_type(arr): arr = arr.astype(np.float32) From 625011345ad62db188215036fe76a9b203a65eb2 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 14 Oct 2025 16:29:20 -0500 Subject: [PATCH 012/123] Fix DFT reconstruction methods pyfftw requires these arrays to be contiguous. This fixes the issue. Signed-off-by: Patrick Avery --- tomviz/python/Recon_DFT.py | 2 +- tomviz/python/Recon_DFT_constraint.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tomviz/python/Recon_DFT.py b/tomviz/python/Recon_DFT.py index f1f94fa84..20771735e 100644 --- a/tomviz/python/Recon_DFT.py +++ b/tomviz/python/Recon_DFT.py @@ -56,7 +56,7 @@ def transform(self, dataset): projection = tiltSeries[:, :, a] #2D projection image p = np.lib.pad(projection, ((0, 0), (pad_pre, pad_post)), 'constant', constant_values=(0, 0)) #pad zeros - p = np.float32(np.fft.ifftshift(p)) + p = np.ascontiguousarray(np.float32(np.fft.ifftshift(p))) p_fftw_object.update_arrays(p, pF) p_fftw_object() p = None #Garbage collector (gc) diff --git a/tomviz/python/Recon_DFT_constraint.py b/tomviz/python/Recon_DFT_constraint.py index 5b4d18691..ae0c09820 100644 --- a/tomviz/python/Recon_DFT_constraint.py +++ b/tomviz/python/Recon_DFT_constraint.py @@ -175,7 +175,7 @@ def dfm3(input, angles, Npad): projection = input[:, :, a].astype(np.float32) #2D projection image p = np.lib.pad(projection, ((0, 0), (pad_pre, pad_post)), 'constant', constant_values=(0, 0)) #pad zeros - p = np.fft.ifftshift(p) + p = np.ascontiguousarray(np.fft.ifftshift(p)) p_fftw_object.update_arrays(p, pF) p_fftw_object() From 901199406a578e9e58b81ec26e2abeb9aed6b5b8 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Wed, 15 Oct 2025 16:10:31 -0500 Subject: [PATCH 013/123] Prevent possible segmentation fault I had a segmentation fault one time where `unitsModified()` was called. The only possible cause I can see is if the `newChildDataSource` was deleted before it was called. One way to fix it is to add `newChildDataSource` as a context object, so that the offending signal will be disconnected if `newChildDataSource` is destroyed. That is what is done here. Signed-off-by: Patrick Avery --- tomviz/Pipeline.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tomviz/Pipeline.cxx b/tomviz/Pipeline.cxx index 4864cf414..dc28b8ea5 100644 --- a/tomviz/Pipeline.cxx +++ b/tomviz/Pipeline.cxx @@ -372,7 +372,8 @@ void Pipeline::branchFinished() lastOp->setChildDataSource(newChildDataSource); auto rootDataSource = dataSource(); // connect signal to flow units and spacing to child data source. - connect(dataSource(), &DataSource::dataPropertiesChanged, + connect(rootDataSource, &DataSource::dataPropertiesChanged, + newChildDataSource, [rootDataSource, newChildDataSource]() { // Only flow the properties if no user modifications have been // made. From d34fda7773c795da1fb450aa380868445c859447 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Thu, 16 Oct 2025 16:35:41 -0500 Subject: [PATCH 014/123] Add decorator to apply transform to all arrays This allows us to specify in the operator definition if we want to apply the transformation to each arrays, one at a time. It currently only works with internal datasets. Signed-off-by: Patrick Avery --- tomviz/python/BinTiltSeriesByTwo.py | 5 +- tomviz/python/Rotate3D.py | 6 +-- tomviz/python/tomviz/external_dataset.py | 4 ++ tomviz/python/tomviz/internal_dataset.py | 8 ++++ tomviz/python/tomviz/utils.py | 58 ++++++++++++++++++++++++ 5 files changed, 76 insertions(+), 5 deletions(-) diff --git a/tomviz/python/BinTiltSeriesByTwo.py b/tomviz/python/BinTiltSeriesByTwo.py index febbc434a..e8139da93 100644 --- a/tomviz/python/BinTiltSeriesByTwo.py +++ b/tomviz/python/BinTiltSeriesByTwo.py @@ -1,7 +1,10 @@ +from tomviz import utils + + +@utils.apply_to_each_array def transform(dataset): """Downsample tilt images by a factor of 2""" - from tomviz import utils import scipy.ndimage import numpy as np import warnings diff --git a/tomviz/python/Rotate3D.py b/tomviz/python/Rotate3D.py index 97e66b0af..9317c93da 100644 --- a/tomviz/python/Rotate3D.py +++ b/tomviz/python/Rotate3D.py @@ -1,11 +1,9 @@ -# Rotate a 3D dataset using SciPy Interpolation libraries. -# -# Developed as part of the tomviz project (www.tomviz.com). +from tomviz import utils +@utils.apply_to_each_array def transform(dataset, rotation_angle=90.0, rotation_axis=0): - from tomviz import utils import numpy as np from scipy import ndimage diff --git a/tomviz/python/tomviz/external_dataset.py b/tomviz/python/tomviz/external_dataset.py index ab6a6a1ac..ed89e1508 100644 --- a/tomviz/python/tomviz/external_dataset.py +++ b/tomviz/python/tomviz/external_dataset.py @@ -37,6 +37,10 @@ def active_scalars(self): def active_scalars(self, array): self.arrays[self.active_name] = array + @property + def num_scalars(self): + return len(self.arrays) + @property def scalars_names(self): return list(self.arrays.keys()) diff --git a/tomviz/python/tomviz/internal_dataset.py b/tomviz/python/tomviz/internal_dataset.py index 7150346de..6a1360c95 100644 --- a/tomviz/python/tomviz/internal_dataset.py +++ b/tomviz/python/tomviz/internal_dataset.py @@ -16,6 +16,14 @@ def active_scalars(self): def active_scalars(self, v): utils.set_array(self._data_object, v) + @property + def active_name(self): + return utils.get_active_scalars_name(self._data_object) + + @property + def num_scalars(self): + return len(self.scalars_names) + @property def scalars_names(self): return utils.array_names(self._data_object) diff --git a/tomviz/python/tomviz/utils.py b/tomviz/python/tomviz/utils.py index fb9d3c9fb..ad794f0ba 100644 --- a/tomviz/python/tomviz/utils.py +++ b/tomviz/python/tomviz/utils.py @@ -4,6 +4,7 @@ # This source file is part of the Tomviz project, https://tomviz.org/. # It is released under the 3-Clause BSD License, see "LICENSE". ############################################################################### +import functools import math import numpy as np from tomviz._internal import in_application @@ -593,3 +594,60 @@ def get_center(dataobject): "Center array requires 3 components" return np.array(center_array.GetTuple(0)) + + +def apply_to_each_array(func): + + @functools.wraps(func) + def wrapper(dataset, *args, **kwargs): + if dataset.num_scalars == 1: + # Just run the function like we normally would... + return func(dataset, *args, **kwargs) + + num_arrays = dataset.num_scalars + array_names = dataset.scalars_names + active_name = dataset.active_name + + # Run the function multiple times. Each time with a single, different + # array on the shallow-copied data object + from vtk import vtkImageData + orig_do = dataset._data_object + pd = orig_do.GetPointData() + all_arrays = [pd.GetAbstractArray(i) for i in range(num_arrays)] + + # Remove all arrays + while pd.GetNumberOfArrays() > 0: + pd.RemoveArray(0) + + output_arrays = [] + results = [] + for i, name in enumerate(array_names): + if i == num_arrays - 1: + # Use the original data object + image_data = orig_do + else: + image_data = vtkImageData() + image_data.ShallowCopy(orig_do) + + this_pd = image_data.GetPointData() + this_pd.AddArray(all_arrays[i]) + this_pd.SetActiveScalars(name) + dataset._data_object = image_data + + print('Transforming array:', name) + result = func(dataset, *args, **kwargs) + results.append(result) + output_arrays.append(this_pd.GetAbstractArray(0)) + + # Now add back in the arrays in the same order + this_pd.RemoveArray(0) + for array in output_arrays: + this_pd.AddArray(array) + + # Set the active one + this_pd.SetActiveScalars(active_name) + + # Return the final result + return result + + return wrapper From 6bb2a67ca51efe4486bb9db8c19c64bfd4e93000 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Fri, 17 Oct 2025 10:58:13 -0500 Subject: [PATCH 015/123] Add context to delete another signal This just helps us ensure we don't seg fault... Signed-off-by: Patrick Avery --- tomviz/operators/OperatorPropertiesPanel.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tomviz/operators/OperatorPropertiesPanel.cxx b/tomviz/operators/OperatorPropertiesPanel.cxx index 59a80b85a..af10dc559 100644 --- a/tomviz/operators/OperatorPropertiesPanel.cxx +++ b/tomviz/operators/OperatorPropertiesPanel.cxx @@ -49,7 +49,7 @@ void OperatorPropertiesPanel::setOperator(Operator* op) } else { auto description = new QLabel(op->label()); layout()->addWidget(description); - connect(op, &Operator::labelModified, [this, description]() { + connect(op, &Operator::labelModified, m_activeOperator, [this, description]() { description->setText(m_activeOperator->label()); }); } From 1868eb10088f2594c36ab08e7f2e2b7db9a6fdc0 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Fri, 17 Oct 2025 11:17:07 -0500 Subject: [PATCH 016/123] Remember old values for combo boxes and paths This fixes an issue where old values for combo boxes and paths were not remembered. The default system is currently being used for setting these, so we just needed to make sure the default system worked properly. Signed-off-by: Patrick Avery --- tomviz/InterfaceBuilder.cxx | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/tomviz/InterfaceBuilder.cxx b/tomviz/InterfaceBuilder.cxx index d5fda4131..60086749f 100644 --- a/tomviz/InterfaceBuilder.cxx +++ b/tomviz/InterfaceBuilder.cxx @@ -345,12 +345,6 @@ void addEnumerationWidget(QGridLayout* layout, int row, } layout->addWidget(label, row, 0, 1, 1); - int defaultOption = 0; - QJsonValueRef defaultNode = parameterNode["default"]; - if (!defaultNode.isUndefined() && isType(defaultNode)) { - defaultOption = getAs(defaultNode); - } - QComboBox* comboBox = new QComboBox(); comboBox->setObjectName(nameValue.toString()); label->setBuddy(comboBox); @@ -373,7 +367,19 @@ void addEnumerationWidget(QGridLayout* layout, int row, } } - comboBox->setCurrentIndex(defaultOption); + // Set the default if present + QJsonValueRef defaultNode = parameterNode["default"]; + if (!defaultNode.isUndefined()) { + if (isType(defaultNode)) { + comboBox->setCurrentIndex(getAs(defaultNode)); + } else if (defaultNode.isString()) { + // Find the data that matches, and set it + int defaultIndex = comboBox->findData(getAs(defaultNode)); + if (defaultIndex >= 0) { + comboBox->setCurrentIndex(defaultIndex); + } + } + } layout->addWidget(comboBox, row, 1, 1, 1); } @@ -436,6 +442,14 @@ void addPathWidget(QGridLayout* layout, int row, QJsonObject& pathNode) pathField->setProperty("type", type); pathField->setObjectName(nameValue.toString()); pathField->setMinimumWidth(500); + + // Set default if present + QJsonValueRef defaultNode = pathNode["default"]; + if (!defaultNode.isUndefined() && defaultNode.isString()) { + auto defaultValue = getAs(defaultNode); + pathField->setText(defaultValue); + } + horizontalLayout->addWidget(pathField); auto filter = pathNode["filter"].toString(); From c8390d9d2b0b1590bd2eca1df14eb3e48cef6c3a Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Mon, 6 Oct 2025 16:42:43 -0500 Subject: [PATCH 017/123] Add PyStackReg image alignment operator This adds a multi-array aware image alignment operator that uses PyStackReg. By default, the operator uses a reference of the currently selected slice index, if a slice module is present. This has the capability to save/load transformation matrices. Translation transformation matrices can also be applied to images of different resolution. Signed-off-by: Patrick Avery --- tomviz/AddPythonTransformReaction.cxx | 21 ++ tomviz/CMakeLists.txt | 2 + tomviz/MainWindow.cxx | 7 + tomviz/modules/ModuleSlice.h | 1 + tomviz/python/PyStackRegImageAlignment.json | 90 ++++++++ tomviz/python/PyStackRegImageAlignment.py | 216 ++++++++++++++++++++ tomviz/python/tomviz/external_dataset.py | 7 +- tomviz/python/tomviz/internal_dataset.py | 3 + tomviz/python/tomviz/utils.py | 25 ++- 9 files changed, 363 insertions(+), 9 deletions(-) create mode 100644 tomviz/python/PyStackRegImageAlignment.json create mode 100644 tomviz/python/PyStackRegImageAlignment.py diff --git a/tomviz/AddPythonTransformReaction.cxx b/tomviz/AddPythonTransformReaction.cxx index 91ab9c7bf..8669829d6 100644 --- a/tomviz/AddPythonTransformReaction.cxx +++ b/tomviz/AddPythonTransformReaction.cxx @@ -6,6 +6,8 @@ #include "ActiveObjects.h" #include "DataSource.h" #include "EditOperatorDialog.h" +#include "ModuleManager.h" +#include "ModuleSlice.h" #include "OperatorDialog.h" #include "OperatorFactory.h" #include "OperatorPython.h" @@ -211,11 +213,30 @@ OperatorPython* AddPythonTransformReaction::addExpression(DataSource* source) } bool hasJson = this->jsonSource.size() > 0; + if (hasJson) { OperatorPython* opPython = new OperatorPython(source); opPython->setJSONDescription(jsonSource); opPython->setLabel(scriptLabel); opPython->setScript(scriptSource); + if (scriptLabel == "Auto Tilt Image Align (PyStackReg)") { + // If there are any slice modules on this data source, use the + // slice index as the default value for the slice index. + int defaultSliceIdx = 0; + // Use the output data source of the pipeline if it is available. If + // one is not available, this just defaults to the root data source. + auto tSource = source->pipeline()->transformedDataSource(); + auto sliceModules = ModuleManager::instance().findModules( + tSource, nullptr); + if (sliceModules.size() > 0 && sliceModules[0]) { + defaultSliceIdx = std::max(sliceModules[0]->slice(), 0); + } + + QMap arguments{{"ref_slice_index", defaultSliceIdx}}; + QMap typeInfo{{"ref_slice_index", "int"}}; + opPython->setArguments(arguments); + opPython->setTypeInfo(typeInfo); + } // Use JSON to build the interface via the EditOperatorDialog // If the operator doesn't have parameters, don't show the dialog on first diff --git a/tomviz/CMakeLists.txt b/tomviz/CMakeLists.txt index 24fadfcbb..4f36ca72d 100644 --- a/tomviz/CMakeLists.txt +++ b/tomviz/CMakeLists.txt @@ -446,6 +446,7 @@ set(python_files AutoTiltAxisShiftAlignment.py AutoCenterOfMassTiltImageAlignment.py AutoCrossCorrelationTiltImageAlignment.py + PyStackRegImageAlignment.py ctf_correct.py Recon_DFT.py Recon_DFT_constraint.py @@ -506,6 +507,7 @@ set(json_files AddPoissonNoise.json AutoCenterOfMassTiltImageAlignment.json AutoCrossCorrelationTiltImageAlignment.json + PyStackRegImageAlignment.json BinaryThreshold.json CircleMask.json ConnectedComponents.json diff --git a/tomviz/MainWindow.cxx b/tomviz/MainWindow.cxx index 8f51dd588..e065317e1 100644 --- a/tomviz/MainWindow.cxx +++ b/tomviz/MainWindow.cxx @@ -318,6 +318,8 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags) "Image Alignment (Auto: Cross Correlation)"); QAction* autoAlignCOMAction = m_ui->menuTomography->addAction("Image Alignment (Auto: Center of Mass)"); + QAction* autoAlignPyStackRegAction = + m_ui->menuTomography->addAction("Image Alignment (Auto: PyStackReg)"); QAction* alignAction = m_ui->menuTomography->addAction("Image Alignment (Manual)"); QAction* autoRotateAlignAction = @@ -421,6 +423,11 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags) autoAlignCOMAction, "Auto Tilt Image Align (CoM)", readInPythonScript("AutoCenterOfMassTiltImageAlignment"), false, false, false, readInJSONDescription("AutoCenterOfMassTiltImageAlignment")); + new AddPythonTransformReaction( + autoAlignPyStackRegAction, "Auto Tilt Image Align (PyStackReg)", + readInPythonScript("PyStackRegImageAlignment"), false, false, + false, readInJSONDescription("PyStackRegImageAlignment")); + new AddPythonTransformReaction(reconDFMAction, "Reconstruct (Direct Fourier)", readInPythonScript("Recon_DFT"), true, false, false, readInJSONDescription("Recon_DFT")); diff --git a/tomviz/modules/ModuleSlice.h b/tomviz/modules/ModuleSlice.h index b21e94ca1..9f6594722 100644 --- a/tomviz/modules/ModuleSlice.h +++ b/tomviz/modules/ModuleSlice.h @@ -76,6 +76,7 @@ class ModuleSlice : public Module bool updateClippingPlane(vtkPlane* plane, bool newFilter) override; bool isOrtho() const; + int slice() const { return m_slice; } int maxSlice() const; void onDirectionChanged(Direction direction); diff --git a/tomviz/python/PyStackRegImageAlignment.json b/tomviz/python/PyStackRegImageAlignment.json new file mode 100644 index 000000000..1211961fd --- /dev/null +++ b/tomviz/python/PyStackRegImageAlignment.json @@ -0,0 +1,90 @@ +{ + "name" : "PyStackReg", + "label" : "Auto Tilt Image Align (PyStackReg)", + "description" : "Perform image alignment using PyStackReg.", + "parameters" : [ + { + "name" : "transform_source", + "label" : "Transformation Source", + "description" : "The source of the transformation matrices (i. e., generate them, load them from a file, etc.)", + "type" : "enumeration", + "default" : 0, + "options" : [ + {"Generate" : "generate"}, + {"Load From File": "from_file"} + ] + }, + { + "name" : "transform_type", + "label" : "Transformation Type", + "description" : "Transformation type for the registration", + "type" : "enumeration", + "default" : 0, + "options" : [ + {"Translation" : "translation"}, + {"Rigid Body" : "rigid body"}, + {"Scaled Rotation" : "scaled rotation"}, + {"Affine" : "affine"}, + {"Bilinear": "bilinear"} + ], + "visible_if" : "transform_source == 'generate'" + }, + { + "name" : "transform_file", + "label" : "Transformations File", + "description": "Transformation file (npz format) to apply", + "type" : "file", + "filter": "NPZ files (*npz)", + "visible_if" : "transform_source == 'from_file'" + }, + { + "name" : "padding", + "label" : "Padding", + "description" : "Array padding along non-tilt axes before registration", + "type" : "int", + "default" : 0, + "minimum" : 0, + "maximum" : 1000000 + }, + { + "name" : "reference", + "label" : "Reference", + "description" : "The reference slice to use when determining the registration transformation for each slice.", + "type" : "enumeration", + "default" : 3, + "options" : [ + {"Previous" : "previous"}, + {"First" : "first"}, + {"Mean" : "mean"}, + {"SliceIndex" : "slice_index"} + ], + "visible_if" : "transform_source == 'generate'" + }, + { + "name" : "ref_slice_index", + "label" : "Slice Index", + "description": "Slice index to use for the reference", + "type" : "int", + "default" : 0, + "minimum" : 0, + "maximum" : 1000000, + "visible_if" : "transform_source == 'generate'", + "enable_if" : "reference == 'slice_index'" + }, + { + "name" : "apply_to_all_arrays", + "label": "Apply to All Arrays", + "description": "Apply the registration transformation to all arrays within this data source (not just the currently selected one). The registration transformation is computed only using the currently selected array.", + "type" : "bool", + "default": true + }, + { + "name" : "transforms_save_file", + "label" : "Save Transformations File", + "description": "Save transformations file to apply to other datasets later. Leave this blank to not save it.", + "type" : "save_file", + "filter": "NPZ files (*npz)", + "visible_if" : "transform_source == 'generate'" + } + ] +} diff --git a/tomviz/python/PyStackRegImageAlignment.py b/tomviz/python/PyStackRegImageAlignment.py new file mode 100644 index 000000000..5d7cef3af --- /dev/null +++ b/tomviz/python/PyStackRegImageAlignment.py @@ -0,0 +1,216 @@ +import numpy as np + + +def transform( + dataset, + transform_source='generate', + padding=0, + apply_to_all_arrays=True, + # Only used if `transform_source` is `generate` + transform_type='translation', + reference='previous', + transforms_save_file='', + # Only used if `transform_type` is `slice_index` + ref_slice_index=0, + # Only used if `transform_source` is `from_file`. + transform_file=None, +): + kwargs = { + 'dataset': dataset, + 'padding': padding, + 'apply_to_all_arrays': apply_to_all_arrays, + 'axis': 2, # axis hard-coded to two for now + } + if transform_source == 'generate': + # Call the 'generate' version of this + return transform_generate( + transform_type=transform_type, + reference=reference, + ref_slice_index=ref_slice_index, + transforms_save_file=transforms_save_file, + **kwargs, + ) + elif transform_source == 'from_file': + # Call the 'from_file' version of this + return transform_from_file( + transform_file=transform_file, + **kwargs, + ) + + raise Exception(f'Unknown transform source: {transform_source}') + + +def transform_generate(dataset, transform_type='translation', padding=0, + reference='previous', ref_slice_index=0, + apply_to_all_arrays=True, axis=0, + transforms_save_file=''): + from pystackreg import StackReg + + array = dataset.active_scalars + sr = StackReg(transform_type_map()[transform_type]) + + # Apply padding if specified + array = pad_array(array, padding, axis) + + # First, determine the transform matrices + if reference != 'slice_index': + tmats = sr.register_stack( + array, + axis=axis, + reference=reference, + ) + else: + # We have to do our own special magic to handle this + tmats = register_stack_from_slice( + sr, + array, + ref_idx=ref_slice_index, + axis=axis, + ) + + if transforms_save_file: + np.savez_compressed( + transforms_save_file, + transform_type=transform_type, + transform_matrices=tmats, + spacing=[x for i, x in enumerate(dataset.spacing) if i != axis], + shape=[x for i, x in enumerate(array.shape) if i != axis], + ) + + # Now apply the transform to all specified scalars + apply_tmats(sr, dataset, tmats, padding, axis, apply_to_all_arrays) + + +def apply_tmats(sr, dataset, tmats, padding, axis, apply_to_all_arrays): + if apply_to_all_arrays: + names = dataset.scalars_names + else: + names = [dataset.active_name] + + for name in names: + array = dataset.scalars(name) + array = pad_array(array, padding, axis) + output = sr.transform_stack(array, axis=axis, tmats=tmats) + + # Now remove the padding, if there was any + output = depad_array(output, padding, axis) + + # Convert to Fortran to help VTK + dataset.set_scalars(name, output) + + +def transform_from_file(dataset, transform_file, padding=0, + apply_to_all_arrays=True, axis=0): + array = dataset.active_scalars + + # See if we need to rescale the transform matrices + frame_shape = [x for i, x in enumerate(array.shape) if i != axis] + spacing = [x for i, x in enumerate(dataset.spacing) if i != axis] + + with np.load(transform_file) as f: + tmats = f['transform_matrices'] + transform_type = f['transform_type'].item() + tmat_spacing = f['spacing'] + tmat_shape = f['shape'] + + # Rescale the tmats so they can be applied to an image with different + # physical extents (i. e., tmats generated from XRF can be applied to + # ptychography, which has a higher resolution in voxel space). + tmats = rescale_tmats(tmats, transform_type, tmat_shape, tmat_spacing, + frame_shape, spacing) + + from pystackreg import StackReg + sr = StackReg(transform_type_map()[transform_type]) + apply_tmats(sr, dataset, tmats, padding, axis, apply_to_all_arrays) + + +def pad_array(array, padding, tilt_axis): + if padding <= 0: + return array + + pad_list = [] + for i in range(3): + pad_list.append([0, 0] if i == tilt_axis else [padding, padding]) + + return np.pad(array, pad_list) + + +def depad_array(array, padding, tilt_axis): + if padding <= 0: + return array + + slice_list = [] + for i in range(3): + start = padding if i != tilt_axis else 0 + end = padding * -1 if i != tilt_axis else array.shape[i] + slice_list.append(slice(start, end)) + return array[tuple(slice_list)] + + +def transform_type_map(): + from pystackreg import StackReg + + return { + 'translation': StackReg.TRANSLATION, + 'rigid body': StackReg.RIGID_BODY, + 'scaled rotation': StackReg.SCALED_ROTATION, + 'affine': StackReg.AFFINE, + 'bilinear': StackReg.BILINEAR, + } + + +def register_stack_from_slice(sr, image_stack, ref_idx, axis): + # PyStackReg doesn't allow us to pick an arbitrary slice to use + # as the reference, but it does allow us to use the first slice. + # To get around this, we'll swap whatever slice we want to use + # as the reference with the first slice, then perform the registration, + # then swap it back before we exit. + # Swap the first row with the ref_idx. We'll unswap when we exit. + if ref_idx == 0: + # We don't have to do anything special actually... + return sr.register_stack(image_stack, axis=axis, reference='first') + + slices = [slice(None)] * 3 + slices[axis] = [0, ref_idx] + reversed_slices = slices.copy() + reversed_slices[axis] = list(reversed(slices[axis])) + image_stack[tuple(slices)] = image_stack[tuple(reversed_slices)] + try: + tmats = sr.register_stack( + image_stack, + axis=axis, + reference='first', + ) + # The first and reference idx are out of place. Swap them. + tmats[[0, ref_idx]] = tmats[[ref_idx, 0]] + return tmats + finally: + # Undo the row swap + image_stack[tuple(slices)] = image_stack[tuple(reversed_slices)] + + +def rescale_tmats(tmats, transform_type, shape1, spacing1, shape2, + spacing2): + if np.array_equal(shape1, shape2) and np.allclose(spacing1, spacing2): + # No rescaling needed + return tmats + + if transform_type != 'translation': + msg = ( + 'Shapes or spacings do not match. Currently, transformation ' + 'matrices can only be rescaled if the transformation type is ' + '`translation`' + ) + raise Exception(msg) + + # FIXME: do we need to use the shape at all? + w1 = spacing1[0] + h1 = spacing1[1] + w2 = spacing2[0] + h2 = spacing2[1] + + s = np.eye(3) + s[0][0] = w2 / w1 + s[1][1] = h2 / h1 + + return tmats @ s diff --git a/tomviz/python/tomviz/external_dataset.py b/tomviz/python/tomviz/external_dataset.py index ed89e1508..589a8abaa 100644 --- a/tomviz/python/tomviz/external_dataset.py +++ b/tomviz/python/tomviz/external_dataset.py @@ -31,11 +31,11 @@ def __init__(self, arrays, active=None): @property def active_scalars(self): - return self.arrays[self.active_name] + return self.scalars(self.active_name) @active_scalars.setter def active_scalars(self, array): - self.arrays[self.active_name] = array + self.set_scalars(self.active_name, array) @property def num_scalars(self): @@ -50,6 +50,9 @@ def scalars(self, name=None): name = self.active_name return self.arrays[name] + def set_scalars(self, name, array): + self.arrays[name] = array + @property def spacing(self): return self._spacing diff --git a/tomviz/python/tomviz/internal_dataset.py b/tomviz/python/tomviz/internal_dataset.py index 6a1360c95..715ca29a7 100644 --- a/tomviz/python/tomviz/internal_dataset.py +++ b/tomviz/python/tomviz/internal_dataset.py @@ -31,6 +31,9 @@ def scalars_names(self): def scalars(self, name=None): return utils.get_array(self._data_object, name) + def set_scalars(self, name, array): + utils.set_array(self._data_object, array, name=name) + @property def spacing(self): return utils.get_spacing(self._data_object) diff --git a/tomviz/python/tomviz/utils.py b/tomviz/python/tomviz/utils.py index ad794f0ba..a4760a8a9 100644 --- a/tomviz/python/tomviz/utils.py +++ b/tomviz/python/tomviz/utils.py @@ -29,6 +29,11 @@ def get_scalars(dataobject, name=None): return vtkarray +@with_vtk_dataobject +def get_active_scalars_name(dataobject): + return dataobject.GetPointData().GetScalars().GetName() + + def is_numpy_vtk_type(newscalars): # Indicate whether the type is known/supported by VTK to NumPy routines. require_internal_mode() @@ -92,7 +97,7 @@ def arrays(dataobject): @with_vtk_dataobject -def set_array(dataobject, newarray, minextent=None, isFortran=True): +def set_array(dataobject, newarray, minextent=None, isFortran=True, name=None): # Set the extent if needed, i.e. if the minextent is not the same as # the data object starting index, or if the newarray shape is not the same # as the size of the dataobject. @@ -134,13 +139,19 @@ def set_array(dataobject, newarray, minextent=None, isFortran=True): vtkarray = np_s.numpy_to_vtk(arr) vtkarray.Association = dsa.ArrayAssociation.POINT do = dsa.WrapDataObject(dataobject) - oldscalars = do.PointData.GetScalars() - arrayname = "Scalars" - if oldscalars is not None: - arrayname = oldscalars.GetName() - del oldscalars + + if name is None: + oldscalars = do.PointData.GetScalars() + arrayname = "Scalars" + if oldscalars is not None: + arrayname = oldscalars.GetName() + else: + arrayname = name + do.PointData.append(arr, arrayname) - do.PointData.SetActiveScalars(arrayname) + + if do.PointData.GetNumberOfArrays() == 1: + do.PointData.SetActiveScalars(arrayname) @with_vtk_dataobject From c3d06b4705c06a272d6abcccee26a7e720a3f2f3 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 21 Oct 2025 06:17:50 -0500 Subject: [PATCH 018/123] Add new "Workflows" menu containing PyXRF workflow Signed-off-by: Patrick Avery --- tomviz/MainWindow.cxx | 9 +++++---- tomviz/MainWindow.ui | 20 +++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/tomviz/MainWindow.cxx b/tomviz/MainWindow.cxx index e065317e1..544c12603 100644 --- a/tomviz/MainWindow.cxx +++ b/tomviz/MainWindow.cxx @@ -258,6 +258,11 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags) auto dataBrokerSaveReaction = new DataBrokerSaveReaction(m_ui->actionExportToDataBroker, this); + // Workflows menu + auto pyXRFRunner = new PyXRFRunner(this); + connect(m_ui->actionPyXRFWorkflow, &QAction::triggered, pyXRFRunner, + &PyXRFRunner::start); + // Build Data Transforms menu new DataTransformMenu(this, m_ui->menuData, m_ui->menuSegmentation); @@ -563,10 +568,6 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags) connect(m_ui->actionPipelineSettings, &QAction::triggered, pipelineSettingsDialog, &QWidget::show); - auto pyXRFRunner = new PyXRFRunner(this); - connect(m_ui->actionPyXRFWorkflow, &QAction::triggered, pyXRFRunner, - &PyXRFRunner::start); - // Prepopulate the previously seen python readers/writers // This operation is fast since it fetches the readers description // from the settings, without really invoking python diff --git a/tomviz/MainWindow.ui b/tomviz/MainWindow.ui index 41e8ba308..bf26d757d 100644 --- a/tomviz/MainWindow.ui +++ b/tomviz/MainWindow.ui @@ -82,7 +82,6 @@ - @@ -111,7 +110,14 @@ Segmentation + + + Workflows + + + + @@ -408,7 +414,7 @@ &Passive Acquisition - + Passive Acquisition @@ -481,7 +487,7 @@ Pipeline Settings - + Pipeline Settings @@ -489,7 +495,7 @@ Acquisition - + Acquisition @@ -526,10 +532,10 @@ - - false - + PyXRF + + PyXRF Workflow From dbd3104f468adbdb68114d707eb3d8c94bd64c03 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 21 Oct 2025 06:19:15 -0500 Subject: [PATCH 019/123] Only transpose data exchange keys if present The `data` should definitely be present, but the others might not be. This fixes an error if the others are missing. Signed-off-by: Patrick Avery --- tomviz/python/tomviz/executor.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tomviz/python/tomviz/executor.py b/tomviz/python/tomviz/executor.py index 01a3b00c3..4f42aef39 100644 --- a/tomviz/python/tomviz/executor.py +++ b/tomviz/python/tomviz/executor.py @@ -1,18 +1,19 @@ +import abc import collections import copy -import h5py +import errno import importlib -import os -import numpy as np +import json import logging -import tempfile +import os +from pathlib import Path import socket -import abc import stat -import json -import six -import errno +import tempfile +import h5py +import numpy as np +import six from tqdm import tqdm from tomviz._internal import find_transform_function @@ -592,7 +593,8 @@ def _read_data_exchange(path, options=None): # Swap x and z axes swap_keys = ['data', 'data_dark', 'data_white'] for key in swap_keys: - datasets[key] = np.transpose(datasets[key], [2, 1, 0]) + if key in datasets: + datasets[key] = np.transpose(datasets[key], [2, 1, 0]) tilt_axis = None if 'theta' in datasets: @@ -721,6 +723,7 @@ def _write_child_data(result, operator_index, output_file_path, dims): def load_dataset(data_file_path, read_options=None): + data_file_path = Path(data_file_path) if _is_data_exchange(data_file_path): output = _read_data_exchange(data_file_path, read_options) else: From a5d132050ea4aaab28c389cd13c6c5403a2202f6 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 21 Oct 2025 12:44:25 -0500 Subject: [PATCH 020/123] Ensure output directory exists Signed-off-by: Patrick Avery --- tomviz/python/tomviz/pyxrf/process_projections.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tomviz/python/tomviz/pyxrf/process_projections.py b/tomviz/python/tomviz/pyxrf/process_projections.py index c3203f1f3..aa5677cd3 100644 --- a/tomviz/python/tomviz/pyxrf/process_projections.py +++ b/tomviz/python/tomviz/pyxrf/process_projections.py @@ -55,6 +55,8 @@ def process_projections(working_directory, parameters_file_name, log_file_name, } process_proj(**kwargs) + # Ensure the output directory exists + Path(output_directory).mkdir(parents=True, exist_ok=True) kwargs = { 'fn': 'tomo.h5', 'fn_log': log_file_name, From 50db86629e0194f08c2c5fc0b5c722c9a1900e61 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 21 Oct 2025 12:46:19 -0500 Subject: [PATCH 021/123] Simplify functions for finding child widgets Signed-off-by: Patrick Avery --- tomviz/InterfaceBuilder.cxx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/tomviz/InterfaceBuilder.cxx b/tomviz/InterfaceBuilder.cxx index 60086749f..166b06b01 100644 --- a/tomviz/InterfaceBuilder.cxx +++ b/tomviz/InterfaceBuilder.cxx @@ -711,7 +711,7 @@ void InterfaceBuilder::setupEnableStates(const QObject* parent, qCritical() << text << "parameters must have a name. Ignoring..."; continue; } - auto* widget = findWidgetByName(parent, widgetName); + auto* widget = parent->findChild(widgetName); if (!widget) { qCritical() << "Failed to find widget with name:" << widgetName; continue; @@ -726,7 +726,7 @@ void InterfaceBuilder::setupEnableStates(const QObject* parent, auto refWidgetName = split[0]; auto comparator = split[1]; auto compareValue = split[2]; - auto* refWidget = findWidgetByName(parent, refWidgetName); + auto* refWidget = parent->findChild(refWidgetName); if (!refWidget) { qCritical() << "Invalid widget name in" << text << "string:" << enableIfValue; @@ -745,16 +745,6 @@ void InterfaceBuilder::setupEnableStates(const QObject* parent, } } -QWidget* InterfaceBuilder::findWidgetByName(const QObject* parent, const QString& name) const -{ - for (auto* child : parent->findChildren()) { - if (child->objectName() == name) { - return child; - } - } - return nullptr; -} - QLayout* InterfaceBuilder::buildInterface() const { QWidget* widget = new QWidget; From a576976ab885f7854c0fb4bf173c6ceb04975d3b Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Thu, 23 Oct 2025 11:42:39 -0500 Subject: [PATCH 022/123] Revert back to C++17 C++20 was causing issues with pybind11 (in its use of tbb). We don't need the C++20 stuff so just switch back to C++17. Signed-off-by: Patrick Avery --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f67862a92..6e74a51e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,7 @@ file(RELATIVE_PATH set(CMAKE_MODULE_PATH "${tomviz_SOURCE_DIR}/cmake") # Request C++11 standard, using new CMake variables. -set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_EXTENSIONS False) @@ -157,7 +157,7 @@ set(PYTHON_INCLUDE_DIR ${Python3_INCLUDE_DIR} CACHE PATH "Tomviz") set(PYTHON_LIBRARY ${Python3_LIBRARY} CACHE PATH "Tomviz") set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE} CACHE PATH "Tomviz") -set(PYBIND11_CPP_STANDARD "-std=c++20" CACHE STRING "") +set(PYBIND11_CPP_STANDARD "-std=c++17" CACHE STRING "") add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/pybind11) option(tomviz_ENABLE_LOOKING_GLASS "Enable the looking glass plugin" OFF) From 7a2bf345ce0c7b2de4b622d476345c59682de2d1 Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Thu, 23 Oct 2025 11:44:03 -0500 Subject: [PATCH 023/123] Add "fix_pdb" to installed Python modules Signed-off-by: Patrick Avery --- tomviz/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tomviz/CMakeLists.txt b/tomviz/CMakeLists.txt index 4f36ca72d..59dbdd660 100644 --- a/tomviz/CMakeLists.txt +++ b/tomviz/CMakeLists.txt @@ -615,6 +615,7 @@ endforeach() set(tomviz_python_modules __init__.py _internal.py + fix_pdb.py operators.py internal_dataset.py itkutils.py From 39ad4c05b32f58f6fc6696ae7c34de8d7fbd3dda Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 28 Oct 2025 02:09:16 -0500 Subject: [PATCH 024/123] Implement necessary fixes for importing pyxrf data Signed-off-by: Patrick Avery --- tomviz/python/tomviz/pyxrf/make_hdf5.py | 30 ++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tomviz/python/tomviz/pyxrf/make_hdf5.py b/tomviz/python/tomviz/pyxrf/make_hdf5.py index aa43ba298..26ffdb244 100644 --- a/tomviz/python/tomviz/pyxrf/make_hdf5.py +++ b/tomviz/python/tomviz/pyxrf/make_hdf5.py @@ -1,8 +1,20 @@ -from pyxrf.api_dev import make_hdf +from pathlib import Path +import shutil +import h5py +from pyxrf.api_dev import make_hdf +import pyxrf.model.load_data_from_db from xrf_tomo import create_log_file +if pyxrf.model.load_data_from_db.db is None: + # Manually force the database to be HXN if it was not identified correctly + pyxrf.model.load_data_from_db.catalog_info.set_name('HXN') + + from hxntools.CompositeBroker import db + pyxrf.model.load_data_from_db.db = db + + def make_hdf5(start_scan, stop_scan, working_directory, successful_scans_only, log_file_name): @@ -14,8 +26,24 @@ def make_hdf5(start_scan, stop_scan, working_directory, successful_scans_only, } make_hdf(**kwargs) + # Move the invalid files into an "invalid" subdirectory, or else + # the log file will fail to be created. + invalid_dir = Path(working_directory) / 'invalid' + for filepath in Path(working_directory).glob('scan2D_*.h5'): + if not _hdf5_is_valid(filepath): + invalid_dir.mkdir(parents=True, exist_ok=True) + shutil.move(filepath, invalid_dir) + kwargs = { 'fn_log': log_file_name, 'wd': working_directory, } create_log_file(**kwargs) + + +def _hdf5_is_valid(path: Path) -> bool: + try: + with h5py.File(path) as f: + return 'param_input' in f['xrfmap/scan_metadata'].attrs + except Exception: + return False From 5281f96f9ef35ff4968eea6d322ca4451a24517a Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Tue, 28 Oct 2025 02:45:45 -0500 Subject: [PATCH 025/123] Forward stdout/stderr from PyXRF GUI Signed-off-by: Patrick Avery --- tomviz/PyXRFProcessDialog.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tomviz/PyXRFProcessDialog.cxx b/tomviz/PyXRFProcessDialog.cxx index 55c0b66a2..ab523b78d 100644 --- a/tomviz/PyXRFProcessDialog.cxx +++ b/tomviz/PyXRFProcessDialog.cxx @@ -439,6 +439,10 @@ class PyXRFProcessDialog::Internal : public QObject QStringList args; auto* process = new QProcess(this); + + // Forward stdout/stderr to this process + process->setProcessChannelMode(QProcess::ForwardedChannels); + process->start(program, args); pyxrfIsRunning = true; From b470309adc0bdf418efbb568b39ead4707eb56dc Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Fri, 31 Oct 2025 14:30:15 -0500 Subject: [PATCH 026/123] Convert `np.lib.pad` to `np.pad` `np.lib.pad` no longer exists and we need to use `np.pad` instead. Signed-off-by: Patrick Avery --- tomviz/python/AutoTiltAxisShiftAlignment.py | 4 ++-- tomviz/python/GenerateTiltSeries.py | 2 +- tomviz/python/Pad_Data.py | 4 ++-- tomviz/python/Recon_DFT.py | 4 ++-- tomviz/python/Recon_DFT_constraint.py | 4 ++-- tomviz/python/Recon_TV_minimization.py | 4 ++-- tomviz/python/Recon_WBP.py | 4 ++-- tomviz/python/RemoveBadPixelsTiltSeries.py | 2 +- tomviz/python/tomviz/_realtime/wbp.py | 4 ++-- tomviz/templates/Back_Projection_Reconstruction.tvsm | 4 ++-- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tomviz/python/AutoTiltAxisShiftAlignment.py b/tomviz/python/AutoTiltAxisShiftAlignment.py index 7198c35d6..e7fd5faf1 100644 --- a/tomviz/python/AutoTiltAxisShiftAlignment.py +++ b/tomviz/python/AutoTiltAxisShiftAlignment.py @@ -76,8 +76,8 @@ def wbp2(sinogram, angles, N=None, filter="ramp", interp="linear"): # Create Fourier filter F = makeFilter(Nray, filter) # Pad sinogram for filtering - s = np.lib.pad(sinogram, ((0, F.size - Nray), (0, 0)), - 'constant', constant_values=(0, 0)) + s = np.pad(sinogram, ((0, F.size - Nray), (0, 0)), + 'constant', constant_values=(0, 0)) # Apply Fourier filter s = np.fft.fft(s, axis=0) * F s = np.real(np.fft.ifft(s, axis=0)) diff --git a/tomviz/python/GenerateTiltSeries.py b/tomviz/python/GenerateTiltSeries.py index b7b015f83..2faccafaf 100644 --- a/tomviz/python/GenerateTiltSeries.py +++ b/tomviz/python/GenerateTiltSeries.py @@ -27,7 +27,7 @@ def transform(self, dataset, start_angle=-90.0, angle_increment=3.0, pad_y_post = int(np.floor((N - Ny) / 2.0)) pad_z_pre = int(np.ceil((N - Nz) / 2.0)) pad_z_post = int(np.floor((N - Nz) / 2.0)) - volume_pad = np.lib.pad( + volume_pad = np.pad( volume, ((0, 0), (pad_y_pre, pad_y_post), (pad_z_pre, pad_z_post)), 'constant') diff --git a/tomviz/python/Pad_Data.py b/tomviz/python/Pad_Data.py index a7a011e9a..4a1914caa 100644 --- a/tomviz/python/Pad_Data.py +++ b/tomviz/python/Pad_Data.py @@ -24,7 +24,7 @@ def transform(dataset, pad_size_before=[0, 0, 0], pad_size_after=[0, 0, 0], result = np.empty(result_shape, array.dtype, order='F') # pad the data. - result[:] = np.lib.pad(array, pad_width, padMode) + result[:] = np.pad(array, pad_width, padMode) dataset.active_scalars = result @@ -32,7 +32,7 @@ def transform(dataset, pad_size_before=[0, 0, 0], pad_size_after=[0, 0, 0], if padWidthZ[0] + padWidthZ[1] > 0: try: tilt_angles = dataset.tilt_angles - tilt_angles = np.lib.pad(tilt_angles, padWidthZ, padMode) + tilt_angles = np.pad(tilt_angles, padWidthZ, padMode) dataset.tilt_angles = tilt_angles except: # noqa # TODO What exception are we ignoring? diff --git a/tomviz/python/Recon_DFT.py b/tomviz/python/Recon_DFT.py index 20771735e..29b398f28 100644 --- a/tomviz/python/Recon_DFT.py +++ b/tomviz/python/Recon_DFT.py @@ -54,8 +54,8 @@ def transform(self, dataset): ang = tiltAngles[a] * np.pi / 180 projection = tiltSeries[:, :, a] #2D projection image - p = np.lib.pad(projection, ((0, 0), (pad_pre, pad_post)), - 'constant', constant_values=(0, 0)) #pad zeros + p = np.pad(projection, ((0, 0), (pad_pre, pad_post)), + 'constant', constant_values=(0, 0)) #pad zeros p = np.ascontiguousarray(np.float32(np.fft.ifftshift(p))) p_fftw_object.update_arrays(p, pF) p_fftw_object() diff --git a/tomviz/python/Recon_DFT_constraint.py b/tomviz/python/Recon_DFT_constraint.py index ae0c09820..3f52dc6f9 100644 --- a/tomviz/python/Recon_DFT_constraint.py +++ b/tomviz/python/Recon_DFT_constraint.py @@ -173,8 +173,8 @@ def dfm3(input, angles, Npad): for a in range(0, Nproj): ang = angles[a] * np.pi / 180 projection = input[:, :, a].astype(np.float32) #2D projection image - p = np.lib.pad(projection, ((0, 0), (pad_pre, pad_post)), - 'constant', constant_values=(0, 0)) #pad zeros + p = np.pad(projection, ((0, 0), (pad_pre, pad_post)), + 'constant', constant_values=(0, 0)) #pad zeros p = np.ascontiguousarray(np.fft.ifftshift(p)) p_fftw_object.update_arrays(p, pF) p_fftw_object() diff --git a/tomviz/python/Recon_TV_minimization.py b/tomviz/python/Recon_TV_minimization.py index afcb52f4a..a987b3d10 100644 --- a/tomviz/python/Recon_TV_minimization.py +++ b/tomviz/python/Recon_TV_minimization.py @@ -139,7 +139,7 @@ def transform(self, dataset, Niter=10, Nupdates=0): # noqa: C901 def tv_derivative(recon): - r = np.lib.pad(recon, ((1, 1), (1, 1), (1, 1)), 'edge') + r = np.pad(recon, ((1, 1), (1, 1), (1, 1)), 'edge') v1n = 3 * r - np.roll(r, 1, axis=0) - \ np.roll(r, 1, axis=1) - np.roll(r, 1, axis=2) # noqa TODO reformat this v1d = np.sqrt(1e-8 + (r - np.roll(r, 1, axis=0))**2 + (r - @@ -169,7 +169,7 @@ def tv_derivative(recon): def tv(recon): - r = np.lib.pad(recon, ((1, 1), (1, 1), (1, 1)), 'edge') + r = np.pad(recon, ((1, 1), (1, 1), (1, 1)), 'edge') tv = np.sqrt(1e-8 + (r - np.roll(r, -1, axis=0))**2 + (r - np.roll(r, -1, axis=1))**2 + (r - np.roll(r, -1, axis=2))**2) diff --git a/tomviz/python/Recon_WBP.py b/tomviz/python/Recon_WBP.py index 95006f6bf..f9b259a8f 100644 --- a/tomviz/python/Recon_WBP.py +++ b/tomviz/python/Recon_WBP.py @@ -85,8 +85,8 @@ def wbp2(sinogram, angles, N=None, filter="ramp", interp="linear"): # Create Fourier filter F = makeFilter(Nray, filter) # Pad sinogram for filtering - s = np.lib.pad(sinogram, ((0, F.size - Nray), (0, 0)), - 'constant', constant_values=(0, 0)) + s = np.pad(sinogram, ((0, F.size - Nray), (0, 0)), + 'constant', constant_values=(0, 0)) # Apply Fourier filter s = np.fft.fft(s, axis=0) * F s = np.real(np.fft.ifft(s, axis=0)) diff --git a/tomviz/python/RemoveBadPixelsTiltSeries.py b/tomviz/python/RemoveBadPixelsTiltSeries.py index 165f9a327..2e15cb47d 100644 --- a/tomviz/python/RemoveBadPixelsTiltSeries.py +++ b/tomviz/python/RemoveBadPixelsTiltSeries.py @@ -8,7 +8,7 @@ def transform(dataset, threshold=None): for i in range(tiltSeries.shape[2]): I = tiltSeries[:, :, i] - I_pad = np.lib.pad(I, (1, 1), 'edge') + I_pad = np.pad(I, (1, 1), 'edge') # calculate standard deviation in a 3 x 3 window averageI2 = scipy.ndimage.filters.uniform_filter(I_pad ** 2) diff --git a/tomviz/python/tomviz/_realtime/wbp.py b/tomviz/python/tomviz/_realtime/wbp.py index 8d12edc0c..a1a1cc436 100644 --- a/tomviz/python/tomviz/_realtime/wbp.py +++ b/tomviz/python/tomviz/_realtime/wbp.py @@ -31,8 +31,8 @@ def wbp2(self, sinogram, filter="ramp", interp="linear"): # Create Fourier filter F = self.makeFilter(filter) # Pad sinogram for filtering - s = np.lib.pad(sinogram, ((0, F.size - self.Nray), (0, 0)), - 'constant', constant_values=(0, 0)) + s = np.pad(sinogram, ((0, F.size - self.Nray), (0, 0)), + 'constant', constant_values=(0, 0)) # Apply Fourier filter s = np.fft.fft(s, axis=0) * F s = np.real(np.fft.ifft(s, axis=0)) diff --git a/tomviz/templates/Back_Projection_Reconstruction.tvsm b/tomviz/templates/Back_Projection_Reconstruction.tvsm index fc2a0ff37..d6a5a4f56 100644 --- a/tomviz/templates/Back_Projection_Reconstruction.tvsm +++ b/tomviz/templates/Back_Projection_Reconstruction.tvsm @@ -10,7 +10,7 @@ "description": "", "id": "0x56251acc7eb0", "label": "Remove Bad Pixels", - "script": "def transform(dataset, threshold=None):\n \"\"\"Remove bad pixels in tilt series.\"\"\"\n\n import scipy.ndimage\n import numpy as np\n\n tiltSeries = dataset.active_scalars.astype(np.float32)\n\n for i in range(tiltSeries.shape[2]):\n I = tiltSeries[:, :, i]\n I_pad = np.lib.pad(I, (1, 1), 'edge')\n\n # calculate standard deviation in a 3 x 3 window\n averageI2 = scipy.ndimage.filters.uniform_filter(I_pad ** 2)\n averageI = scipy.ndimage.filters.uniform_filter(I_pad)\n std = np.sqrt(abs(averageI2 - averageI**2))[1:-1, 1:-1]\n\n medianI = scipy.ndimage.filters.median_filter(I_pad, 2)[1:-1, 1:-1]\n\n #identify bad pixels\n badPixelsMask = abs(I - medianI) > std * threshold\n\n I[badPixelsMask] = medianI[badPixelsMask]\n tiltSeries[:, :, i] = I\n\n # Set the result as the new scalars.\n dataset.active_scalars = tiltSeries\n", + "script": "def transform(dataset, threshold=None):\n \"\"\"Remove bad pixels in tilt series.\"\"\"\n\n import scipy.ndimage\n import numpy as np\n\n tiltSeries = dataset.active_scalars.astype(np.float32)\n\n for i in range(tiltSeries.shape[2]):\n I = tiltSeries[:, :, i]\n I_pad = np.pad(I, (1, 1), 'edge')\n\n # calculate standard deviation in a 3 x 3 window\n averageI2 = scipy.ndimage.filters.uniform_filter(I_pad ** 2)\n averageI = scipy.ndimage.filters.uniform_filter(I_pad)\n std = np.sqrt(abs(averageI2 - averageI**2))[1:-1, 1:-1]\n\n medianI = scipy.ndimage.filters.median_filter(I_pad, 2)[1:-1, 1:-1]\n\n #identify bad pixels\n badPixelsMask = abs(I - medianI) > std * threshold\n\n I[badPixelsMask] = medianI[badPixelsMask]\n tiltSeries[:, :, i] = I\n\n # Set the result as the new scalars.\n dataset.active_scalars = tiltSeries\n", "type": "Python" }, { @@ -240,7 +240,7 @@ }, "id": "0x56251c442b20", "label": "Reconstruct (Back Projection)", - "script": "import numpy as np\nfrom scipy.interpolate import interp1d\nimport tomviz.operators\nimport time\n\n\nclass ReconWBPOperator(tomviz.operators.CancelableOperator):\n\n def transform(self, dataset, Nrecon=None, filter=None, interp=None,\n Nupdates=None):\n \"\"\"\n 3D Reconstruct from a tilt series using Weighted Back-projection Method\n \"\"\"\n self.progress.maximum = 1\n\n interpolation_methods = ('linear', 'nearest', 'spline', 'cubic')\n filter_methods = ('none', 'ramp', 'shepp-logan',\n 'cosine', 'hamming', 'hann')\n\n # Get Tilt angles\n tilt_angles = dataset.tilt_angles\n tiltSeries = dataset.active_scalars\n if tiltSeries is None:\n raise RuntimeError(\"No scalars found!\")\n\n Nslice = tiltSeries.shape[0]\n\n self.progress.maximum = Nslice\n step = 0\n\n recon = np.empty([Nslice, Nrecon, Nrecon], dtype=np.float32, order='F')\n t0 = time.time()\n counter = 1\n etcMessage = 'Estimated time to complete: n/a'\n\n child = dataset.create_child_dataset() #create child for recon\n\n for i in range(Nslice):\n if self.canceled:\n return\n self.progress.message = 'Slice No.%d/%d. ' % (\n i + 1, Nslice) + etcMessage\n\n recon[i, :, :] = wbp2(tiltSeries[i, :, :], tilt_angles, Nrecon,\n filter_methods[filter],\n interpolation_methods[interp])\n step += 1\n self.progress.value = step\n timeLeft = (time.time() - t0) / counter * (Nslice - counter)\n counter += 1\n timeLeftMin, timeLeftSec = divmod(timeLeft, 60)\n timeLeftHour, timeLeftMin = divmod(timeLeftMin, 60)\n etcMessage = 'Estimated time to complete: %02d:%02d:%02d' % (\n timeLeftHour, timeLeftMin, timeLeftSec)\n\n # Update only once every so many steps\n if Nupdates != 0 and (i + 1) % (Nslice//Nupdates) == 0:\n child.active_scalars = recon #add recon to child\n # This copies data to the main thread\n self.progress.data = child\n\n # One last update of the child data.\n child.active_scalars = recon #add recon to child\n self.progress.data = child\n\n returnValues = {}\n returnValues[\"reconstruction\"] = child\n return returnValues\n\n\ndef wbp2(sinogram, angles, N=None, filter=\"ramp\", interp=\"linear\"):\n if sinogram.ndim != 2:\n raise ValueError('Sinogram must be 2D')\n (Nray, Nproj) = sinogram.shape\n if Nproj != angles.size:\n raise ValueError('Sinogram does not match angles!')\n\n interpolation_methods = ('linear', 'nearest', 'spline', 'cubic')\n if interp not in interpolation_methods:\n raise ValueError(\"Unknown interpolation: %s\" % interp)\n if not N: # if output size is not given\n N = int(np.floor(np.sqrt(Nray**2 / 2.0)))\n\n ang = np.double(angles) * np.pi / 180.0\n # Create Fourier filter\n F = makeFilter(Nray, filter)\n # Pad sinogram for filtering\n s = np.lib.pad(sinogram, ((0, F.size - Nray), (0, 0)),\n 'constant', constant_values=(0, 0))\n # Apply Fourier filter\n s = np.fft.fft(s, axis=0) * F\n s = np.real(np.fft.ifft(s, axis=0))\n # Change back to original\n s = s[:Nray, :]\n\n # Back projection\n recon = np.zeros((N, N), np.float32)\n center_proj = Nray // 2 # Index of center of projection\n [X, Y] = np.mgrid[0:N, 0:N]\n xpr = X - int(N) // 2\n ypr = Y - int(N) // 2\n\n for j in range(Nproj):\n t = ypr * np.cos(ang[j]) - xpr * np.sin(ang[j])\n x = np.arange(Nray) - center_proj\n if interp == 'linear':\n bp = np.interp(t, x, s[:, j], left=0, right=0)\n elif interp == 'spline':\n interpolant = interp1d(\n x, s[:, j], kind='slinear', bounds_error=False, fill_value=0)\n bp = interpolant(t)\n else:\n interpolant = interp1d(\n x, s[:, j], kind=interp, bounds_error=False, fill_value=0)\n bp = interpolant(t)\n recon = recon + bp\n\n # Normalize\n recon = recon * np.pi / 2 / Nproj\n return recon\n\n# Filter (1D) projections.\n\n\ndef makeFilter(Nray, filterMethod=\"ramp\"):\n # Calculate next power of 2\n N2 = 2**np.ceil(np.log2(Nray))\n # Make a ramp filter.\n freq = np.fft.fftfreq(int(N2)).reshape(-1, 1)\n omega = 2 * np.pi * freq\n filter = 2 * np.abs(freq)\n\n if filterMethod == \"ramp\":\n pass\n elif filterMethod == \"shepp-logan\":\n filter[1:] = filter[1:] * np.sin(omega[1:]) / omega[1:]\n elif filterMethod == \"cosine\":\n filter[1:] = filter[1:] * np.cos(filter[1:])\n elif filterMethod == \"hamming\":\n filter[1:] = filter[1:] * (0.54 + 0.46 * np.cos(omega[1:] / 2))\n elif filterMethod == \"hann\":\n filter[1:] = filter[1:] * (1 + np.cos(omega[1:] / 2)) / 2\n elif filterMethod == \"none\":\n filter[:] = 1\n else:\n raise ValueError(\"Unknown filter: %s\" % filterMethod)\n\n return filter\n", + "script": "import numpy as np\nfrom scipy.interpolate import interp1d\nimport tomviz.operators\nimport time\n\n\nclass ReconWBPOperator(tomviz.operators.CancelableOperator):\n\n def transform(self, dataset, Nrecon=None, filter=None, interp=None,\n Nupdates=None):\n \"\"\"\n 3D Reconstruct from a tilt series using Weighted Back-projection Method\n \"\"\"\n self.progress.maximum = 1\n\n interpolation_methods = ('linear', 'nearest', 'spline', 'cubic')\n filter_methods = ('none', 'ramp', 'shepp-logan',\n 'cosine', 'hamming', 'hann')\n\n # Get Tilt angles\n tilt_angles = dataset.tilt_angles\n tiltSeries = dataset.active_scalars\n if tiltSeries is None:\n raise RuntimeError(\"No scalars found!\")\n\n Nslice = tiltSeries.shape[0]\n\n self.progress.maximum = Nslice\n step = 0\n\n recon = np.empty([Nslice, Nrecon, Nrecon], dtype=np.float32, order='F')\n t0 = time.time()\n counter = 1\n etcMessage = 'Estimated time to complete: n/a'\n\n child = dataset.create_child_dataset() #create child for recon\n\n for i in range(Nslice):\n if self.canceled:\n return\n self.progress.message = 'Slice No.%d/%d. ' % (\n i + 1, Nslice) + etcMessage\n\n recon[i, :, :] = wbp2(tiltSeries[i, :, :], tilt_angles, Nrecon,\n filter_methods[filter],\n interpolation_methods[interp])\n step += 1\n self.progress.value = step\n timeLeft = (time.time() - t0) / counter * (Nslice - counter)\n counter += 1\n timeLeftMin, timeLeftSec = divmod(timeLeft, 60)\n timeLeftHour, timeLeftMin = divmod(timeLeftMin, 60)\n etcMessage = 'Estimated time to complete: %02d:%02d:%02d' % (\n timeLeftHour, timeLeftMin, timeLeftSec)\n\n # Update only once every so many steps\n if Nupdates != 0 and (i + 1) % (Nslice//Nupdates) == 0:\n child.active_scalars = recon #add recon to child\n # This copies data to the main thread\n self.progress.data = child\n\n # One last update of the child data.\n child.active_scalars = recon #add recon to child\n self.progress.data = child\n\n returnValues = {}\n returnValues[\"reconstruction\"] = child\n return returnValues\n\n\ndef wbp2(sinogram, angles, N=None, filter=\"ramp\", interp=\"linear\"):\n if sinogram.ndim != 2:\n raise ValueError('Sinogram must be 2D')\n (Nray, Nproj) = sinogram.shape\n if Nproj != angles.size:\n raise ValueError('Sinogram does not match angles!')\n\n interpolation_methods = ('linear', 'nearest', 'spline', 'cubic')\n if interp not in interpolation_methods:\n raise ValueError(\"Unknown interpolation: %s\" % interp)\n if not N: # if output size is not given\n N = int(np.floor(np.sqrt(Nray**2 / 2.0)))\n\n ang = np.double(angles) * np.pi / 180.0\n # Create Fourier filter\n F = makeFilter(Nray, filter)\n # Pad sinogram for filtering\n s = np.pad(sinogram, ((0, F.size - Nray), (0, 0)),\n 'constant', constant_values=(0, 0))\n # Apply Fourier filter\n s = np.fft.fft(s, axis=0) * F\n s = np.real(np.fft.ifft(s, axis=0))\n # Change back to original\n s = s[:Nray, :]\n\n # Back projection\n recon = np.zeros((N, N), np.float32)\n center_proj = Nray // 2 # Index of center of projection\n [X, Y] = np.mgrid[0:N, 0:N]\n xpr = X - int(N) // 2\n ypr = Y - int(N) // 2\n\n for j in range(Nproj):\n t = ypr * np.cos(ang[j]) - xpr * np.sin(ang[j])\n x = np.arange(Nray) - center_proj\n if interp == 'linear':\n bp = np.interp(t, x, s[:, j], left=0, right=0)\n elif interp == 'spline':\n interpolant = interp1d(\n x, s[:, j], kind='slinear', bounds_error=False, fill_value=0)\n bp = interpolant(t)\n else:\n interpolant = interp1d(\n x, s[:, j], kind=interp, bounds_error=False, fill_value=0)\n bp = interpolant(t)\n recon = recon + bp\n\n # Normalize\n recon = recon * np.pi / 2 / Nproj\n return recon\n\n# Filter (1D) projections.\n\n\ndef makeFilter(Nray, filterMethod=\"ramp\"):\n # Calculate next power of 2\n N2 = 2**np.ceil(np.log2(Nray))\n # Make a ramp filter.\n freq = np.fft.fftfreq(int(N2)).reshape(-1, 1)\n omega = 2 * np.pi * freq\n filter = 2 * np.abs(freq)\n\n if filterMethod == \"ramp\":\n pass\n elif filterMethod == \"shepp-logan\":\n filter[1:] = filter[1:] * np.sin(omega[1:]) / omega[1:]\n elif filterMethod == \"cosine\":\n filter[1:] = filter[1:] * np.cos(filter[1:])\n elif filterMethod == \"hamming\":\n filter[1:] = filter[1:] * (0.54 + 0.46 * np.cos(omega[1:] / 2))\n elif filterMethod == \"hann\":\n filter[1:] = filter[1:] * (1 + np.cos(omega[1:] / 2)) / 2\n elif filterMethod == \"none\":\n filter[:] = 1\n else:\n raise ValueError(\"Unknown filter: %s\" % filterMethod)\n\n return filter\n", "type": "Python" } ] From ef9b888f5a910304bfc2abd03b23879fb572e75f Mon Sep 17 00:00:00 2001 From: Patrick Avery Date: Mon, 3 Nov 2025 06:36:54 -0600 Subject: [PATCH 027/123] Add test for PyXRF workflow Signed-off-by: Patrick Avery --- .github/workflows/build_and_test.yml | 3 +- tests/cxx/.gitignore | 1 + tests/cxx/CMakeLists.txt | 2 +- tests/cxx/PyXRFWorkflowTest.cxx | 192 +++++++++++++++++++++++ tests/cxx/fixtures/download_and_unzip.py | 37 +++++ 5 files changed, 233 insertions(+), 2 deletions(-) create mode 100644 tests/cxx/.gitignore create mode 100644 tests/cxx/PyXRFWorkflowTest.cxx create mode 100644 tests/cxx/fixtures/download_and_unzip.py diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 0eaeef28b..028ab6f63 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -69,7 +69,8 @@ jobs: - name: Run Tests run: | cd tomviz-build - TOMVIZ_TEST_PYTHON_EXECUTABLE=$(which python3) ctest --output-on-failure + export TOMVIZ_TEST_PYTHON_EXECUTABLE=$(which python3) + QT_QPA_PLATFORM=offscreen ctest --output-on-failure - name: Upload CTest Log (On Failure Only) if: ${{ failure() }} diff --git a/tests/cxx/.gitignore b/tests/cxx/.gitignore new file mode 100644 index 000000000..1269488f7 --- /dev/null +++ b/tests/cxx/.gitignore @@ -0,0 +1 @@ +data diff --git a/tests/cxx/CMakeLists.txt b/tests/cxx/CMakeLists.txt index e88a9527d..e573e3e14 100644 --- a/tests/cxx/CMakeLists.txt +++ b/tests/cxx/CMakeLists.txt @@ -52,7 +52,7 @@ add_cxx_test(Variant) add_cxx_qtest(DockerUtilities) add_cxx_qtest(AcquisitionClient PYTHONPATH "${CMAKE_SOURCE_DIR}/acquisition") - +add_cxx_qtest(PyXRFWorkflow) # Generate the executable create_test_executable(tomvizTests) diff --git a/tests/cxx/PyXRFWorkflowTest.cxx b/tests/cxx/PyXRFWorkflowTest.cxx new file mode 100644 index 000000000..486da1ec1 --- /dev/null +++ b/tests/cxx/PyXRFWorkflowTest.cxx @@ -0,0 +1,192 @@ +/* This source file is part of the Tomviz project, https://tomviz.org/. + It is released under the 3-Clause BSD License, see "LICENSE". */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "PythonUtilities.h" +#include "PyXRFRunner.h" +#include "PyXRFMakeHDF5Dialog.h" +#include "PyXRFProcessDialog.h" +#include "SelectItemsDialog.h" + +#include "TomvizTest.h" + +using namespace tomviz; + +const QDir DATA_DIR = QString(SOURCE_DIR) + "/data/Pt_Zn_Phase"; + +template +T* findWidget() +{ + for (auto* widget : QApplication::topLevelWidgets()) { + if (qobject_cast(widget)) { + return qobject_cast(widget); + } + } + + return nullptr; +} + +class PyXRFWorkflowTest : public QObject +{ + Q_OBJECT + +private: + void downloadDataIfMissing() + { + if (DATA_DIR.exists()) { + // Nothing to do + return; + } + // Download the data if it is not present + QString python = "python"; + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + if (env.contains("TOMVIZ_TEST_PYTHON_EXECUTABLE")) { + python = env.value("TOMVIZ_TEST_PYTHON_EXECUTABLE"); + } + + auto scriptFile = QFileInfo(QString(SOURCE_DIR) + "/fixtures/download_and_unzip.py"); + QString scriptPath = scriptFile.absoluteFilePath(); + + QString url = "https://data.kitware.com/api/v1/file/690891b803d1a144cbcf422b/download"; + + // We unzip into the parent directory, which will then have `Pt_Zn_Phase` + // after unzipping. + QDir dataDirParent = DATA_DIR; + dataDirParent.cdUp(); + + QStringList arguments; + arguments << scriptPath << url << dataDirParent.absolutePath(); + + QProcess process; + process.setProcessChannelMode(QProcess::ForwardedChannels); + process.start(python, arguments); + + // Timeout in seconds + int timeout = 60 * 10; + QVERIFY(process.waitForFinished(timeout * 1000)); + QVERIFY(process.exitCode() == 0); + } + +private slots: + void initTestCase() + { + downloadDataIfMissing(); + } + + void cleanupTestCase() {} + + void runTest() + { + QString workingDir = DATA_DIR.absolutePath() + "/"; + + auto* runner = new PyXRFRunner(this); + runner->start(); + + auto* makeHDF5Dialog = findWidget(); + QVERIFY(makeHDF5Dialog); + + // Set the method to already existing + auto* method = makeHDF5Dialog->findChild("method"); + QVERIFY(method); + method->setCurrentText("Already Existing"); + + auto* workingDirEdit = makeHDF5Dialog->findChild("workingDirectory"); + QVERIFY(workingDirEdit); + workingDirEdit->setText(workingDir); + + makeHDF5Dialog->accept(); + + auto* processDialog = findWidget(); + QVERIFY(processDialog); + + auto* logFile = processDialog->findChild("logFile"); + QVERIFY(logFile); + logFile->setText(workingDir + "log.csv"); + + auto* paramsFile = processDialog->findChild("parametersFile"); + QVERIFY(paramsFile); + paramsFile->setText(workingDir + "pyxrf_model_parameters_157397.json"); + + auto* outputDir = processDialog->findChild("outputDirectory"); + QVERIFY(outputDir); + outputDir->setText(workingDir + "recon"); + + auto* icName = processDialog->findChild("icName"); + QVERIFY(icName); + icName->setCurrentText("sclr1_ch4"); + + // After accepting, a modal dialog will appear. Start posting + // events to check it and accept it when it appears. + bool allFound = false; + auto checkFunc = [&allFound](){ + auto* dialog = findWidget(); + if (!dialog) { + return; + } + + // Just accept the dialog + // Another dialog will appear asking to load the datasets into + // Tomviz. We can just decline it. + // Declare the function first so we can call it recursively. + std::function declineNextDialog; + declineNextDialog = [&allFound, &declineNextDialog]() { + auto* finalDialog = qobject_cast(QApplication::activeModalWidget()); + if (!finalDialog) { + QTimer::singleShot(500, declineNextDialog); + return; + } + + allFound = true; + finalDialog->reject(); + }; + QTimer::singleShot(0, declineNextDialog); + dialog->accept(); + QApplication::processEvents(); + }; + + QTimer::singleShot(0, checkFunc); + processDialog->accept(); + + // Keep processing events until all dialogs have + // been found and accepted/rejected. + int timeElapsed = 0; + int maxTime = 30; + while (!allFound && timeElapsed < maxTime) { + QThread::sleep(1); + QTimer::singleShot(0, checkFunc); + QApplication::processEvents(); + timeElapsed += 1; + } + + // Verify everything was found + QVERIFY(allFound); + } + +}; + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + + pqPVApplicationCore appCore(argc, argv); + + Python::initialize(); + + PyXRFWorkflowTest tc; + return QTest::qExec(&tc, argc, argv); +} + +#include "PyXRFWorkflowTest.moc" diff --git a/tests/cxx/fixtures/download_and_unzip.py b/tests/cxx/fixtures/download_and_unzip.py new file mode 100644 index 000000000..2001dbb59 --- /dev/null +++ b/tests/cxx/fixtures/download_and_unzip.py @@ -0,0 +1,37 @@ +import os +from pathlib import Path +import sys +import urllib.request +import zipfile + +if len(sys.argv) < 3: + sys.exit('Usage: