diff --git a/pixi.lock b/pixi.lock index 8dc266c..a35d1c0 100644 --- a/pixi.lock +++ b/pixi.lock @@ -35,14 +35,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_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-python-1.2.0-py313h2fc2bef_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py313h2fc2bef_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py313h07c4f96_2.conda @@ -69,9 +69,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda @@ -123,11 +123,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py313hd9b1b65_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py313hd9b1b65_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py313h28739b2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py313h3dea7bd_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313h7033f15_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -162,9 +162,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h07c4f96_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h995f894_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda @@ -183,7 +182,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -195,10 +193,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda @@ -208,7 +204,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -236,11 +231,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -282,7 +275,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -294,14 +286,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/13/b5/3515126cb6dce557cb928cc3147a77d5f84b9cade3c8548b802792e6bbe4/redis_json_dict-0.2.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl @@ -321,6 +313,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/7a/dd/4d3911049680da7b3aecf97cb5094e3a05554f5d94829358fc7664640456/fonttools-4.64.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/7c/aa/3b0faa7eea6a2957af7ee116f08b5edd99eff7e7461e22ac613b0a8d38ea/epicscorelibs-7.0.10.99.0.1-cp313-cp313-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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl @@ -328,13 +321,18 @@ environments: - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bd/dc/7c620995d4dff3eb1fdf62236844f3cb67d3042ed1a6d4f4059ef5dc79a6/pymongo-4.18.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/dd/fb/4939594c20028eca7ee54cea21de25762ef6934a5fb168b8130599921c88/p4p-4.2.2-cp313-cp313-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-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/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl dev: @@ -369,15 +367,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_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-python-1.2.0-py313h2fc2bef_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py313h2fc2bef_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py313h2af15c8_0.conda @@ -393,14 +391,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py313ha4a6282_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h74173ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h5cbdff7_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py313h5d5ffb9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py313ha296275_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py313hf402d47_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py313h14eca21_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py313h259dfeb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda @@ -420,9 +418,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -447,7 +445,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -473,7 +471,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.13.15-hdc7f604_103_cp313.conda @@ -494,16 +492,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py313hd9b1b65_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py313hd9b1b65_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py313h28739b2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py313h3dea7bd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313h7033f15_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -515,7 +513,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313ha4be090_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313heaa19e1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py313hc6c575f_0.conda @@ -541,7 +539,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py313ha296275_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py313hb172dc5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py313h4b8bb8b_0.conda @@ -549,14 +547,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py313h54dd161_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h07c4f96_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h995f894_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py313h7037e92_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py313h07c4f96_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py313hafbe609_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_1.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.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -579,7 +577,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -608,7 +606,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -625,7 +622,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.15-py313hd8ed1ab_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cross-web-0.7.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.2-pyhcf101f3_0.conda @@ -657,7 +653,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -694,14 +689,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -777,7 +770,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -793,16 +785,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/13/b5/3515126cb6dce557cb928cc3147a77d5f84b9cade3c8548b802792e6bbe4/redis_json_dict-0.2.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl @@ -822,6 +814,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/7a/dd/4d3911049680da7b3aecf97cb5094e3a05554f5d94829358fc7664640456/fonttools-4.64.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/7c/aa/3b0faa7eea6a2957af7ee116f08b5edd99eff7e7461e22ac613b0a8d38ea/epicscorelibs-7.0.10.99.0.1-cp313-cp313-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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl @@ -829,13 +822,18 @@ environments: - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bd/dc/7c620995d4dff3eb1fdf62236844f3cb67d3042ed1a6d4f4059ef5dc79a6/pymongo-4.18.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/dd/fb/4939594c20028eca7ee54cea21de25762ef6934a5fb168b8130599921c88/p4p-4.2.2-cp313-cp313-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-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/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl gui: @@ -867,24 +865,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_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-h505cf86_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epics-base-7.0.10.0-pl5321haadc9f8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.3-h4db4eae_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda @@ -899,7 +894,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.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-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda @@ -913,9 +908,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -940,7 +935,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -966,7 +961,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda @@ -987,18 +982,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py312hb491018_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py312h4c94fcb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netifaces-0.11.0-py312h4c3975b_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py312h80505a6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h88efc94_100.conda @@ -1011,7 +1005,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py312h8ecdadd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda @@ -1020,7 +1013,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py312hc767a74_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyepics-3.5.10-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf143aa3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.14-h5f976f7_3_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py312h9344012_0.conda @@ -1038,7 +1030,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda @@ -1064,7 +1056,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -1081,31 +1073,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-2.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-2.0.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/caproto-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpkt-1.9.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/event-model-1.24.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-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/flexcache-0.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flexparser-0.4-pyhd8ed1ab_1.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 @@ -1115,14 +1099,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.19-pyhcf101f3_0.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.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.17.1-pyh53cf698_0.conda @@ -1136,7 +1119,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ldap3-2.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda @@ -1144,30 +1126,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.44.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ophyd-1.11.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pint-0.25.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.6-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotext-5.3.2-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.53-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.11.0-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-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/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda @@ -1177,9 +1153,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/redis-json-dict-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/redis-py-8.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda @@ -1196,7 +1170,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -1205,42 +1178,59 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzlocal-5.4.4-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 + - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-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/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-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/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/47/b45332d3d6427811909d934f8675956ee5b9e10e46f689464d6ea23ab858/pvxslibs-1.5.2-cp312-cp312-manylinux2014_x86_64.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/4f/7b/55f41ec7746713db21aff5e794fc98b5a2e4c40fc72d69f6a1cdb04df360/epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.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/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-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/61/62/150c841f24cda9e30f588ef396ed83f64cfdc13b92d2f925bb96df337ba9/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_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/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-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/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-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/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/a5/9987c5b2f909f9b7796de7e3c5ea3f9d7ebe3e3454862904e80bd6c37654/pymongo-4.18.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl py311: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -1273,15 +1263,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py311h6f959d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py311h6f959d0_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-python-1.2.0-py311heb3be6f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311heb3be6f_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.23.1-hc31b594_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py311h904a5e5_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py311h904a5e5_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311h724c32c_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py311h364832d_0.conda @@ -1297,14 +1287,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py311hbc40be8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py311h2702b87_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py311h59bccc5_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py311hc665b79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py311ha6e1976_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py311hfef529e_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-2.1.0-nompi_h654f344_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-6.0.0-py311h41e6a36_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py311h0d48ccd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py311h0d48ccd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.3.6-py311h2f21a4e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda @@ -1324,9 +1314,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -1351,7 +1341,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -1377,7 +1367,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.11.16-h0c77377_2_cpython.conda @@ -1398,16 +1388,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py311h1369f55_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py311h1369f55_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py311h1c460e0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py311h3778330_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py311h4c6fd42_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py311h4c6fd42_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py311h1ddb823_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -1419,7 +1409,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.27.4-h8d634f6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py311h534898f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py311he9e6514_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py311h6b0c994_0.conda @@ -1445,7 +1435,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py311ha6e1976_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py311h2a99c40_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py311hbe70eeb_1.conda @@ -1453,14 +1443,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py311haee01d2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py311h49ec1c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py311h0d48ccd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py311hdf67eae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py311h49ec1c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py311h1baac5b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py311h4b93e55_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py311h194be0f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py311h194be0f_1.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.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -1483,7 +1473,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -1512,7 +1502,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -1529,7 +1518,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.11.16-py311hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cross-web-0.7.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.2-pyhcf101f3_0.conda @@ -1561,7 +1549,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -1597,14 +1584,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -1676,7 +1661,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -1691,14 +1675,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.6-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/29/ce9c8e81a6b9be7722ac00cb592ce6b652405eecb178bf410810732957ec/epicscorelibs-7.0.10.99.0.1-cp311-cp311-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/13/b5/3515126cb6dce557cb928cc3147a77d5f84b9cade3c8548b802792e6bbe4/redis_json_dict-0.2.2-py3-none-any.whl @@ -1711,12 +1696,14 @@ environments: - pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.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/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5d/fa/c21e7fe8f480538c58f718b49bd1370e81f2ebaae91c6b4844378d17c24e/pymongo-4.18.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-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/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.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/89/00/05c2d0369ac322d22d5c05f84b5c4a6856fa6207fbae42869108a28f0383/kiwisolver-1.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/9e/cc/30c03930f41cbc7e2911c9f9ee641a5ddd0b93514ddcbcf6ec86262c81ca/p4p-4.2.2-cp311-cp311-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl @@ -1727,14 +1714,17 @@ environments: - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c6/18/fe516c9e158556b59c16b92da948186ba240925f80242d39795d94255b27/confluent_kafka-2.15.0-cp311-cp311-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d9/2c/276d6c0635877af431a7f9108adb834e295bd50eca4a23c3aa17a7cbcb42/pvxslibs-1.5.2-cp311-cp311-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e9/c2/6855a07aafa7b894929af23675b6fb9634800ce43122b76a62f6eeb8da2a/pymongo-4.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f0/f0/9b4298911303f74e6d83e64a81d996c0616405ec95046fac7f17e4258b9e/matplotlib-3.11.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.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/f8/3d/4edf079bdb01791abe87753b7c8fdca4e8ec709276e7b030a1aa84a88a51/fonttools-4.64.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl py312: channels: @@ -1768,15 +1758,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_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-python-1.2.0-py312he9c40d5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py312h8b7ec3f_0.conda @@ -1792,14 +1782,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312hda0ef95_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py312h8285ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py312hc767a74_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312hfaa9938_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py312hff6e9eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda @@ -1819,9 +1809,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -1846,7 +1836,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -1872,7 +1862,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda @@ -1893,16 +1883,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py312hb491018_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -1914,7 +1904,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312hafd94c1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda @@ -1940,7 +1930,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py312h4ae17e4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda @@ -1948,14 +1938,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py312h5253ce2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py312h192e038_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_1.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.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -1978,7 +1968,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -2007,7 +1997,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -2024,7 +2013,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.14-py312hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cross-web-0.7.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.2-pyhcf101f3_0.conda @@ -2056,7 +2044,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -2093,14 +2080,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -2176,7 +2161,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -2192,14 +2176,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/13/b5/3515126cb6dce557cb928cc3147a77d5f84b9cade3c8548b802792e6bbe4/redis_json_dict-0.2.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-py3-none-any.whl @@ -2207,7 +2192,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/47/b45332d3d6427811909d934f8675956ee5b9e10e46f689464d6ea23ab858/pvxslibs-1.5.2-cp312-cp312-manylinux2014_x86_64.whl @@ -2221,6 +2205,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl @@ -2229,13 +2214,18 @@ environments: - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c9/cf/b4ad2cc81b6672ea29ea04e64e350a9f9b493b0908ccd884c67eeff8f7b2/matplotlib-3.11.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/dc/8f/e5f2906ea833d362916c64a2f6b1922a07b19442744fd3cd89563f429bff/fonttools-4.64.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e0/a5/9987c5b2f909f9b7796de7e3c5ea3f9d7ebe3e3454862904e80bd6c37654/pymongo-4.18.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fc/f4/dadfec469313c7f428efa7e84b4aba9732f813c13ea7131a24b7b008ef57/kiwisolver-1.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_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/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl py313: channels: @@ -2269,15 +2259,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_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-python-1.2.0-py313h2fc2bef_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py313h2fc2bef_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py313h2af15c8_0.conda @@ -2293,14 +2283,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py313ha4a6282_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h74173ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h5cbdff7_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py313h5d5ffb9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py313ha296275_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py313hf402d47_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py313h14eca21_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py313h259dfeb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda @@ -2320,9 +2310,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -2347,7 +2337,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -2373,7 +2363,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.13.15-hdc7f604_103_cp313.conda @@ -2394,16 +2384,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py313hd9b1b65_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py313hd9b1b65_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py313h28739b2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py313h3dea7bd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313h7033f15_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -2415,7 +2405,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313ha4be090_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313heaa19e1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py313hc6c575f_0.conda @@ -2441,7 +2431,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py313ha296275_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py313hb172dc5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py313h4b8bb8b_0.conda @@ -2449,14 +2439,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py313h54dd161_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h07c4f96_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h995f894_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py313h7037e92_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py313h07c4f96_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py313hafbe609_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_1.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.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -2479,7 +2469,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -2508,7 +2498,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -2525,7 +2514,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.15-py313hd8ed1ab_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cross-web-0.7.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.2-pyhcf101f3_0.conda @@ -2557,7 +2545,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -2594,14 +2581,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -2677,7 +2662,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -2693,16 +2677,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/13/b5/3515126cb6dce557cb928cc3147a77d5f84b9cade3c8548b802792e6bbe4/redis_json_dict-0.2.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/21/bd/4d1f59c9287ec5f93f9d879db3ac06785ba7c4d04a7120678d894e0c53d0/caproto-1.3.0-py3-none-any.whl @@ -2722,6 +2706,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/7a/dd/4d3911049680da7b3aecf97cb5094e3a05554f5d94829358fc7664640456/fonttools-4.64.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/7c/aa/3b0faa7eea6a2957af7ee116f08b5edd99eff7e7461e22ac613b0a8d38ea/epicscorelibs-7.0.10.99.0.1-cp313-cp313-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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl @@ -2729,13 +2714,18 @@ environments: - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bd/dc/7c620995d4dff3eb1fdf62236844f3cb67d3042ed1a6d4f4059ef5dc79a6/pymongo-4.18.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/dd/fb/4939594c20028eca7ee54cea21de25762ef6934a5fb168b8130599921c88/p4p-4.2.2-cp313-cp313-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-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/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl qs: @@ -2766,24 +2756,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_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-h505cf86_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py312h89f293a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epics-base-7.0.10.0-pl5321haadc9f8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py312h15b83fc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.3-h4db4eae_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda @@ -2791,19 +2775,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.3.1-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-ha257d8a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py312h8285ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312hfaa9938_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hiredis-3.4.1-py312h5253ce2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.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-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda @@ -2817,9 +2796,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda @@ -2836,7 +2815,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-3.8.0-hbc29df5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda @@ -2860,7 +2839,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.11.0-h6406941_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h60473fc_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h13e7031_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_4.conda @@ -2869,7 +2847,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-hcc2c06a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.11.3-hfe17d71_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.3-hcfc3c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda @@ -2877,30 +2854,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py312hb491018_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py312h4c94fcb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netifaces-0.11.0-py312h4c3975b_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py312h80505a6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h88efc94_100.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py312he827f4e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py312h8ecdadd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda @@ -2909,12 +2881,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py312hc767a74_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyepics-3.5.10-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.14-h5f976f7_3_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py312h9344012_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py312h4f23490_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_0.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/rav1e-0.8.1-h1fbca29_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda @@ -2924,13 +2894,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py312h4ae17e4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py312h5253ce2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py312h4c3975b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py312h192e038_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda @@ -2940,16 +2907,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hce19668_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h1b36aeb_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_x86_64-microarch-level-1-5_level1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.19.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/algotom-1.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.8.0-pyhd8ed1ab_0.conda @@ -2959,44 +2922,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-httpserver-0.0.12-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-queueserver-0.0.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-queueserver-api-0.0.13-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-2.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-2.0.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/caproto-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.14-py312hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpkt-1.9.8-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecdsa-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.3.0-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/event-model-1.24.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-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/fastapi-0.141.1-h76d476e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.32-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-core-0.141.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flexcache-0.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flexparser-0.4-pyhd8ed1ab_1.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 @@ -3006,18 +2948,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.19-pyhcf101f3_0.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-2.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.17.1-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.20.0-pyhcf101f3_0.conda @@ -3028,81 +2967,48 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ldap3-2.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.44.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ophyd-1.11.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pamela-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pint-0.25.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.6-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotext-5.3.2-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.53-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.53-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-extra-types-2.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.11.0-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-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/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.14-hd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-jose-3.5.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.32-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.3.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ragged-0.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/redis-json-dict-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/redis-py-8.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rich-toolkit-0.20.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sparse-0.19.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-9.1.0-pyhd8ed1ab_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-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-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stamina-26.1.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-1.6.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.8-pyhcf101f3_0.conda @@ -3111,9 +3017,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -3122,44 +3026,97 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzlocal-5.4.4-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.52.4-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.52.4-h9be8d4e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 + - pypi: https://files.pythonhosted.org/packages/01/f9/575c8d760eae1fc99651b7cc5efd96ad5379ca4d6b53750b0fb4fe983f34/imagesize-2.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0f/88/7c548de1f6c2ade7c931a3282da73f9274fa6a1531091be682f89c85efb9/jupyter_client-8.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-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/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/47/b45332d3d6427811909d934f8675956ee5b9e10e46f689464d6ea23ab858/pvxslibs-1.5.2-cp312-cp312-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3d/02/77b271f5dc58bfbc0b577c877b2365d1ffea2afe66a80c13f2312820348c/ipykernel-7.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4c/07/2ebca9b11fb9be7340a818d8d6f63feaebb146be2c4afbd6061701d6df6e/snowballstemmer-3.1.1-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/4f/7b/55f41ec7746713db21aff5e794fc98b5a2e4c40fc72d69f6a1cdb04df360/epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/51/79/119091c98e2bf49e24ed9f3ae69f816d715d2904aefa6a2baa039a2ba0b0/ecdsa-0.19.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/85/115246eeec396feedc81bed42f832c97bf433a803688a4bf0e5d763e808a/bluesky_queueserver_api-0.0.13-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/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-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/61/62/150c841f24cda9e30f588ef396ed83f64cfdc13b92d2f925bb96df337ba9/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/62/2c/d5828306f795e8d34676d266823b74e2101e0ad3760d12083de3e02abbb2/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/62/5e/3a6a3e90f35cea3853c45e5d5fb9b7192ce4384616f932cf7591298ab6e1/numpydoc-1.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/a3/54b9d35d9f2e6b4a2546212c1b0df4412a97c4323223a1f9ace8ee22689f/bluesky_queueserver-0.0.25-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/ac/5c5b959999b6f09c3026b5dfe171575bc3121c5236ce74f495096f25b203/greenlet-3.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_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/95/51/67e7cf11a53e40694f720457d5b3a1cdaaa3d5a9a633e482f225456b93ff/debugpy-1.8.21-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-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/9c/cb/9014784dcb0585977ae23b6f43331d0a33c51ac0d692506d12b4f5ee9f3b/alembic-1.19.2-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/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a5/54/12ed58d458474aaab5c3d180173e745a4fe131bb330370596876d19ff60f/mako-1.4.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/57/2eadf93a552568c57e8680b7e58bb5e9770d80942a1bdbaf4f2f63f0d7c8/sqlalchemy-2.0.52-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c5/3c/3179b85b0e1c3659f0369940200cd6d0fa900e6cefcc7ea0bc6dd0e29ffb/nest_asyncio2-1.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/cb/6a6a47d5b464bd08695d254f3da6e7986cc70c9fa5d778eda57538edfe56/starlette-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/9f/c0d4811ce61696113b7b0b2f8dfa1218c4b47caad8383ce8269555884d90/bluesky_httpserver-0.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/03/10388a42375ee7e4ac9b94eb2c5c569c8b5795e377e701c9ac3ad63de890/fastapi-0.141.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d9/c3/0bd11992072e6a1c513b16500a5d07f91a24017c5909b02c72c62d7ad024/python_jose-3.5.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/a5/9987c5b2f909f9b7796de7e3c5ea3f9d7ebe3e3454862904e80bd6c37654/pymongo-4.18.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.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/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ec/14/1c52a2a3ca612d77550fef0404a496f080bfd600cf4c7c6a2a8ab4be2dc6/pamela-1.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f1/79/4a20b54ab0491485ccd8c077db2d39187c7f12b3e15485d38a7be37c81b4/uvicorn-0.52.4-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl terminal: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -3189,24 +3146,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_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-h505cf86_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epics-base-7.0.10.0-pl5321haadc9f8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.3-h4db4eae_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda @@ -3221,7 +3175,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.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-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda @@ -3235,9 +3189,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -3262,7 +3216,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -3288,7 +3242,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda @@ -3309,19 +3263,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py312hb491018_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py312h6a12a82_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py312h4c94fcb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netifaces-0.11.0-py312h4c3975b_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py312h80505a6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h88efc94_100.conda @@ -3334,7 +3287,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py312h8ecdadd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda @@ -3343,7 +3295,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py312hc767a74_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyepics-3.5.10-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf143aa3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.14-h5f976f7_3_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py312h9344012_0.conda @@ -3361,7 +3312,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda @@ -3387,7 +3338,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -3404,31 +3355,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-2.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-2.0.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/caproto-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpkt-1.9.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/event-model-1.24.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-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/flexcache-0.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flexparser-0.4-pyhd8ed1ab_1.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 @@ -3438,14 +3381,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.19-pyhcf101f3_0.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.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.17.1-pyh53cf698_0.conda @@ -3459,7 +3401,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ldap3-2.9.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda @@ -3467,30 +3408,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.44.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ophyd-1.11.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pint-0.25.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.6-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotext-5.3.2-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.53-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.11.0-pyh3cfb1c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-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/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda @@ -3500,9 +3435,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/redis-json-dict-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/redis-py-8.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda @@ -3519,7 +3452,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -3528,42 +3460,59 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzlocal-5.4.4-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 + - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-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/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-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/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/47/b45332d3d6427811909d934f8675956ee5b9e10e46f689464d6ea23ab858/pvxslibs-1.5.2-cp312-cp312-manylinux2014_x86_64.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/4f/7b/55f41ec7746713db21aff5e794fc98b5a2e4c40fc72d69f6a1cdb04df360/epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.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/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-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/61/62/150c841f24cda9e30f588ef396ed83f64cfdc13b92d2f925bb96df337ba9/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_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/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-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/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-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/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-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/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/a5/9987c5b2f909f9b7796de7e3c5ea3f9d7ebe3e3454862904e80bd6c37654/pymongo-4.18.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl terminal-dev: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -3596,17 +3545,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_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-h505cf86_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_4.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_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py312h8b7ec3f_0.conda @@ -3625,19 +3574,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312hda0ef95_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py312h8285ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py312hc767a74_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312hfaa9938_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py312hff6e9eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.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-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda @@ -3653,9 +3602,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -3680,7 +3629,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -3706,7 +3655,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda @@ -3728,10 +3677,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.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/llvmlite-0.49.0-py312hb491018_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda @@ -3739,7 +3688,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py312h4c94fcb_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -3751,7 +3700,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312hafd94c1_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda @@ -3778,7 +3727,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py312h4ae17e4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda @@ -3786,7 +3735,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py312h5253ce2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda @@ -3794,7 +3743,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py312h192e038_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_1.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.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -3846,7 +3795,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -3895,7 +3843,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -3932,7 +3879,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda @@ -3940,7 +3886,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -4019,7 +3964,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -4035,14 +3979,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: ./ - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 - - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca + - pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-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/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl @@ -4061,6 +4006,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_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/9b/5d/f25ac7d4fb77cbd53ddc6d05d833c6bf52b12770a44fa9a447eed470ca9a/msgpack_numpy-0.4.8-py2.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/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl @@ -4068,12 +4014,15 @@ environments: - pypi: https://files.pythonhosted.org/packages/b1/d3/a3e8393cdf6e40e94b3a91ab8afdb010769829b520b2fbfdc4697f31a1c3/bluesky_kafka-0.10.0-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/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e0/a5/9987c5b2f909f9b7796de7e3c5ea3f9d7ebe3e3454862904e80bd6c37654/pymongo-4.18.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-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/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fe/47/deb64c73aec25af7699247e021153a6bfe9a08452f7f7337dcee4aa07a2b/historydict-1.2.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -4088,6 +4037,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + strong: + - _openmp_mutex >=4.5 size: 28948 timestamp: 1770939786096 - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py311h1ddb823_0.conda @@ -4105,6 +4057,7 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping + run_exports: {} size: 425628 timestamp: 1785224150270 - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312h1289d80_0.conda @@ -4122,6 +4075,7 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping + run_exports: {} size: 425683 timestamp: 1785224332826 - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313h7033f15_0.conda @@ -4139,6 +4093,7 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping + run_exports: {} size: 427560 timestamp: 1785224195950 - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda @@ -4150,6 +4105,9 @@ packages: license: LGPL-2.1-or-later license_family: LGPL purls: [] + run_exports: + weak: + - alsa-lib >=1.2.16.1,<1.3.0a0 size: 594986 timestamp: 1787763412911 - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda @@ -4162,6 +4120,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - aom >=3.14.1,<3.15.0a0 size: 3246374 timestamp: 1787256015178 - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py311h0d48ccd_1.conda @@ -4177,6 +4138,7 @@ packages: license_family: MIT purls: - pkg:pypi/argon2-cffi-bindings?source=hash-mapping + run_exports: {} size: 32944 timestamp: 1788072675516 - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py312h5cc1888_1.conda @@ -4192,6 +4154,7 @@ packages: license_family: MIT purls: - pkg:pypi/argon2-cffi-bindings?source=hash-mapping + run_exports: {} size: 32895 timestamp: 1788072685829 - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py313h995f894_1.conda @@ -4207,6 +4170,7 @@ packages: license_family: MIT purls: - pkg:pypi/argon2-cffi-bindings?source=hash-mapping + run_exports: {} size: 32965 timestamp: 1788072683161 - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py311haee01d2_1.conda @@ -4222,6 +4186,7 @@ packages: license_family: APACHE purls: - pkg:pypi/asyncpg?source=hash-mapping + run_exports: {} size: 724213 timestamp: 1768733525695 - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py312h5253ce2_1.conda @@ -4237,6 +4202,7 @@ packages: license_family: APACHE purls: - pkg:pypi/asyncpg?source=hash-mapping + run_exports: {} size: 745872 timestamp: 1768733529512 - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py313h54dd161_1.conda @@ -4252,6 +4218,7 @@ packages: license_family: APACHE purls: - pkg:pypi/asyncpg?source=hash-mapping + run_exports: {} size: 751821 timestamp: 1768733524478 - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py311h2bf5405_0.conda @@ -4269,6 +4236,7 @@ packages: license_family: BSD purls: - pkg:pypi/awkward-cpp?source=hash-mapping + run_exports: {} size: 672852 timestamp: 1786811060508 - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda @@ -4286,6 +4254,7 @@ packages: license_family: BSD purls: - pkg:pypi/awkward-cpp?source=hash-mapping + run_exports: {} size: 675504 timestamp: 1786811065993 - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_0.conda @@ -4303,6 +4272,7 @@ packages: license_family: BSD purls: - pkg:pypi/awkward-cpp?source=hash-mapping + run_exports: {} size: 674326 timestamp: 1786811066070 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda @@ -4319,6 +4289,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-auth >=0.10.4,<0.10.5.0a0 size: 135073 timestamp: 1784086842394 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda @@ -4332,6 +4305,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - aws-c-cal >=0.9.14,<0.9.15.0a0 size: 56752 timestamp: 1784043396713 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -4343,6 +4319,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - aws-c-common >=0.14.2,<0.14.3.0a0 size: 246263 timestamp: 1783637234072 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.2-h720e601_4.conda @@ -4355,6 +4334,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-compression >=0.3.2,<0.3.3.0a0 size: 22301 timestamp: 1784042853709 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.7.1-h6ffeea8_4.conda @@ -4370,6 +4352,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-event-stream >=0.7.1,<0.7.2.0a0 size: 59633 timestamp: 1784075699558 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.11.0-h38ae05a_4.conda @@ -4385,6 +4370,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-http >=0.11.0,<0.11.1.0a0 size: 231294 timestamp: 1784075685646 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.27.3-h6f4d18d_1.conda @@ -4399,6 +4387,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-io >=0.27.3,<0.27.4.0a0 size: 183100 timestamp: 1784054829913 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.16.0-h21f4ec5_2.conda @@ -4413,6 +4404,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-mqtt >=0.16.0,<0.16.1.0a0 size: 224933 timestamp: 1784087527918 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.12.8-h46fcd08_1.conda @@ -4431,6 +4425,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-s3 >=0.12.8,<0.12.9.0a0 size: 156174 timestamp: 1784100985258 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.7-h720e601_2.conda @@ -4443,6 +4440,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-c-sdkutils >=0.2.7,<0.2.8.0a0 size: 68515 timestamp: 1784044260935 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h720e601_4.conda @@ -4455,6 +4455,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-checksums >=0.2.10,<0.2.11.0a0 size: 101904 timestamp: 1784044248506 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.40.1-h102d43b_3.conda @@ -4476,6 +4479,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-crt-cpp >=0.40.1,<0.40.2.0a0 size: 416399 timestamp: 1784113232967 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.833-hc7390e0_9.conda @@ -4493,6 +4499,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - aws-sdk-cpp >=1.11.833,<1.11.834.0a0 size: 3394321 timestamp: 1784137257627 - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.3-h206d751_0.conda @@ -4507,6 +4516,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - azure-core-cpp >=1.16.3,<1.16.4.0a0 size: 349147 timestamp: 1775238757304 - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.13.3-h71f81a8_2.conda @@ -4521,6 +4533,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 size: 250737 timestamp: 1781268163278 - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.18.0-h74b55db_1.conda @@ -4535,6 +4550,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - azure-storage-blobs-cpp >=12.18.0,<12.18.1.0a0 size: 589716 timestamp: 1781283775801 - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.14.0-hf596fc9_1.conda @@ -4551,6 +4569,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - azure-storage-common-cpp >=12.14.0,<12.14.1.0a0 size: 159394 timestamp: 1781268171097 - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.16.0-h1f05bef_1.conda @@ -4566,25 +4587,29 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.16.0,<12.16.1.0a0 size: 308699 timestamp: 1781538835962 -- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py311h6f959d0_0.conda - sha256: f58ab17461729d9a246c16e20f02edc415039f31ed6b90edc01661f34e6f8a22 - md5: 611a2a508bf2cb3219de2e67446e9ccf +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py311h6f959d0_1.conda + sha256: b6be9fb502245705469b05807e9a28d3265f7fdef765bd00d5132f40a0fda92b + md5: 30f9861fbea080176375281b31055fc0 depends: - python - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - zstd >=1.5.7,<1.6.0a0 - python_abi 3.11.* *_cp311 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause AND MIT AND EPL-2.0 purls: - pkg:pypi/backports-zstd?source=compressed-mapping - size: 248174 - timestamp: 1786861402951 -- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_0.conda - sha256: c10df0467f534472f0aa39013850d6dd9dd38ea5a6fb5c0812afb6f3fc768924 - md5: e7eb25765bdf21397cc6e30828871625 + run_exports: {} + size: 248331 + timestamp: 1788491293611 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py312h3f22e6b_1.conda + sha256: b377a4f053c4e184b031253c702984194d10c98228004d7cf07c1eca86247d62 + md5: b0e9b44b494bb001c4d35b206022eba2 depends: - python - __glibc >=2.17,<3.0.a0 @@ -4594,22 +4619,24 @@ packages: license: BSD-3-Clause AND MIT AND EPL-2.0 purls: - pkg:pypi/backports-zstd?source=hash-mapping - size: 240967 - timestamp: 1786861419155 -- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_0.conda - sha256: 69c1d1a8c3c30acd2fc14cd9667241c038b0f2fd5a2caf2f210fa160f8291b84 - md5: 40454ef16bb96ae63f063b50c8b68603 + run_exports: {} + size: 241113 + timestamp: 1788491295568 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.7.0-py313h8f72f4d_1.conda + sha256: b8e6cbfade3ff6b344f9acc5c69193bd1aa7a2dc792e60eb8e05470fae122a1b + md5: 7ce840e6cf17fdba00e3d662f1d89e36 depends: - python - - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - python_abi 3.13.* *_cp313 + - libgcc >=15 - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause AND MIT AND EPL-2.0 purls: - pkg:pypi/backports-zstd?source=compressed-mapping - size: 243610 - timestamp: 1786861410562 + run_exports: {} + size: 243747 + timestamp: 1788491297080 - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d md5: 2c2fae981fd2afd00812c92ac47d023d @@ -4624,38 +4651,45 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - blosc >=1.21.6,<2.0a0 size: 48427 timestamp: 1733513201413 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_3.conda - sha256: 1f2ccfebe6e0113bfc473b21906372c1ee4eb69bf6faef0ad7f3d4d79af63a98 - md5: 6ff307b78fbfb7dcafb7e25ff8bc9c10 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-h505cf86_4.conda + sha256: 61b78574f002390b6a7fc79834fc344beaab09550068a51100eea5a485dac741 + md5: 746aa619a1bcaf4da541101179d7c60e depends: - __glibc >=2.17,<3.0.a0 - - brotli-bin 1.2.0 h9908984_3 - - libbrotlidec 1.2.0 ha411449_3 - - libbrotlienc 1.2.0 h018ffa1_3 + - brotli-bin 1.2.0 h9908984_4 + - libbrotlidec 1.2.0 ha411449_4 + - libbrotlienc 1.2.0 h018ffa1_4 - libgcc >=15 license: MIT - license_family: MIT purls: [] - size: 20676 - timestamp: 1786622810792 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_3.conda - sha256: 56b2e5e8a49f9887af74cc63e0d55a3654e60b667ad5558da089549a36ae6a0c - md5: 8929291d9efc59715df1cfa7daf5e3ed - depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlidec 1.2.0 ha411449_3 - - libbrotlienc 1.2.0 h018ffa1_3 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 20679 + timestamp: 1788480401508 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-h9908984_4.conda + sha256: ce7db81d5fd4b222ee1a27c52ccf7af44faaf88283017103a8e288f9c372b973 + md5: c48c09444f3736800ea0b9550c365baf + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.2.0 ha411449_4 + - libbrotlienc 1.2.0 h018ffa1_4 - libgcc >=15 license: MIT - license_family: MIT purls: [] - size: 21598 - timestamp: 1786622801722 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311heb3be6f_3.conda - sha256: be20776d5755f5ba40c3dc4a768a623881db5c54c3887a03b053c464a95ec261 - md5: 4d36bb618cb825dc9dc1dd66bab5b91f + run_exports: {} + size: 21601 + timestamp: 1788480392621 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py311heb3be6f_4.conda + sha256: d641ef23bdfce1b1a889845489fce65e00311d6ed22e6b345074ec07627db7d5 + md5: 7f5e2b7716d10c9a762ee94112143ca8 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -4663,16 +4697,16 @@ packages: - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 constrains: - - libbrotlicommon 1.2.0 h39a168f_3 + - libbrotlicommon 1.2.0 h39a168f_4 license: MIT - license_family: MIT purls: - pkg:pypi/brotli?source=compressed-mapping - size: 367362 - timestamp: 1786622943552 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_3.conda - sha256: 32ae6e002843704af9f39395f3116815fa66f2b27de1bd9044fb2a2d53fbe3d3 - md5: d176f3ed2824f930b524c45eb8f158bb + run_exports: {} + size: 367207 + timestamp: 1788480468171 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312he9c40d5_4.conda + sha256: 6e4f440a7015d7d78120b3a3f90a4ec3d7bb6de7bc65458123c52433755db5f0 + md5: edb667e7ce56106424e8afab2dc0f0cb depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -4680,16 +4714,16 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 constrains: - - libbrotlicommon 1.2.0 h39a168f_3 + - libbrotlicommon 1.2.0 h39a168f_4 license: MIT - license_family: MIT purls: - - pkg:pypi/brotli?source=compressed-mapping - size: 367032 - timestamp: 1786622975850 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py313h2fc2bef_3.conda - sha256: 6b51c465b404e2f1ae3633ad48dc791f8c2c9352fd5adb57c8f0ac027da24336 - md5: 3bc8e37c6272e48b6eb6d15267b8a377 + - pkg:pypi/brotli?source=hash-mapping + run_exports: {} + size: 367657 + timestamp: 1788480501027 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py313h2fc2bef_4.conda + sha256: 3621a39631aec2d6f4b8ac0cc9ee6d46cee1ae684ba9d2ed6f84b9993e14fbc4 + md5: 8beb0b96d9c701006ff5511a3a92329f depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -4697,13 +4731,13 @@ packages: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 constrains: - - libbrotlicommon 1.2.0 h39a168f_3 + - libbrotlicommon 1.2.0 h39a168f_4 license: MIT - license_family: MIT purls: - - pkg:pypi/brotli?source=compressed-mapping - size: 367312 - timestamp: 1786622911623 + - pkg:pypi/brotli?source=hash-mapping + run_exports: {} + size: 367791 + timestamp: 1788480600802 - conda: https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-hd1e3526_2.conda sha256: b4831ac06bb65561342cedf3d219cf9b096f20b8d62cda74f0177dffed79d4d5 md5: 5948f4fead433c6e5c46444dbfb01162 @@ -4717,6 +4751,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - brunsli >=0.1,<1.0a0 size: 168501 timestamp: 1761758949420 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda @@ -4728,6 +4765,9 @@ packages: license: bzip2-1.0.6 license_family: BSD purls: [] + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 size: 257808 timestamp: 1785906269155 - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda @@ -4739,6 +4779,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - c-ares >=1.34.8,<2.0a0 size: 228700 timestamp: 1787169971173 - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.23.1-hc31b594_0.conda @@ -4754,6 +4797,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - c-blosc2 >=2.23.1,<2.24.0a0 size: 353899 timestamp: 1772620395951 - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.3-hea3f660_0.conda @@ -4769,6 +4815,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - c-blosc2 >=3.3.3,<3.4.0a0 size: 413573 timestamp: 1788179307405 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda @@ -4796,11 +4845,14 @@ packages: - xorg-libxrender >=0.9.12,<0.10.0a0 license: LGPL-2.1-only or MPL-1.1 purls: [] + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 size: 991011 timestamp: 1788221336073 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py311h904a5e5_2.conda - sha256: 029a3ac9f6747113450219c0ccd2ab7abb1b7b205db1dc4de94324d8f78f1ca1 - md5: 3de5bf459e19e8d7fb6602d176a06fe5 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py311h904a5e5_3.conda + sha256: 1f9c8856b629d9c546cd6574345e7d3621f59fdde8c2902b88e00f09764d6295 + md5: 6c91369847e5ec8456c8af44e6d99986 depends: - __glibc >=2.17,<3.0.a0 - libffi >=3.7.0,<3.8.0a0 @@ -4809,14 +4861,14 @@ packages: - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: MIT - license_family: MIT purls: - pkg:pypi/cffi?source=compressed-mapping - size: 309459 - timestamp: 1786775113989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_2.conda - sha256: b649eacfd07be8fb889ef609601436dff831b2e9d095ef029601f3f10946c7d6 - md5: 3101547f7c22db267bd40988f67d7ab1 + run_exports: {} + size: 310350 + timestamp: 1788485287159 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda + sha256: 7c6e8b24d62e0bfa5d14050cd29053778f399feefa7d6887b04575210285a849 + md5: 41f019d067f8c52c6d9283d8afb28889 depends: - __glibc >=2.17,<3.0.a0 - libffi >=3.7.0,<3.8.0a0 @@ -4825,14 +4877,14 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT - license_family: MIT purls: - - pkg:pypi/cffi?source=hash-mapping - size: 302100 - timestamp: 1786775110054 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_2.conda - sha256: a0bd899c7f6ab06e2c60a61737b1c7da732f81235c3babbddd14ee01ec2ab8f9 - md5: 3c23b9907fd858c635a29ec77cf43301 + - pkg:pypi/cffi?source=compressed-mapping + run_exports: {} + size: 302937 + timestamp: 1788485303634 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py313ha52865f_3.conda + sha256: e1968f1efd8491e32a84416a4994cea98bbf51aebd8c7c04c783e121088fec63 + md5: 2b17c17965f71b59158030dce83832e1 depends: - __glibc >=2.17,<3.0.a0 - libffi >=3.7.0,<3.8.0a0 @@ -4841,11 +4893,11 @@ packages: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: MIT - license_family: MIT purls: - pkg:pypi/cffi?source=hash-mapping - size: 304702 - timestamp: 1786775106191 + run_exports: {} + size: 304628 + timestamp: 1788485299863 - conda: https://conda.anaconda.org/conda-forge/linux-64/charls-2.4.4-hecca717_0.conda sha256: 285bb88f6229a1eb4772ab805fbc61ef786e27b5e9ca0b6434b13d2a728790bb md5: dc7072d888ba25c06d706d9dd4bd48ec @@ -4856,6 +4908,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - charls >=2.4.4,<2.5.0a0 size: 162240 timestamp: 1780948654621 - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py311h724c32c_4.conda @@ -4872,6 +4927,7 @@ packages: license_family: BSD purls: - pkg:pypi/contourpy?source=hash-mapping + run_exports: {} size: 320553 timestamp: 1769155975008 - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda @@ -4888,6 +4944,7 @@ packages: license_family: BSD purls: - pkg:pypi/contourpy?source=hash-mapping + run_exports: {} size: 320386 timestamp: 1769155979897 - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py313hc8edb43_4.conda @@ -4904,6 +4961,7 @@ packages: license_family: BSD purls: - pkg:pypi/contourpy?source=hash-mapping + run_exports: {} size: 321850 timestamp: 1769155964333 - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py311h364832d_0.conda @@ -4918,6 +4976,7 @@ packages: license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping + run_exports: {} size: 427996 timestamp: 1787965687641 - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py312h8b7ec3f_0.conda @@ -4932,6 +4991,7 @@ packages: license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping + run_exports: {} size: 416603 timestamp: 1787965687641 - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py313h2af15c8_0.conda @@ -4946,6 +5006,7 @@ packages: license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping + run_exports: {} size: 425215 timestamp: 1787965687641 - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hd6621ae_0.conda @@ -4964,6 +5025,7 @@ packages: license_family: BSD purls: - pkg:pypi/cryptography?source=hash-mapping + run_exports: {} size: 1906377 timestamp: 1788356144289 - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py312h89f293a_0.conda @@ -4982,6 +5044,7 @@ packages: license_family: BSD purls: - pkg:pypi/cryptography?source=compressed-mapping + run_exports: {} size: 1896245 timestamp: 1788356239006 - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py313h78454fb_0.conda @@ -5000,6 +5063,7 @@ packages: license_family: BSD purls: - pkg:pypi/cryptography?source=compressed-mapping + run_exports: {} size: 1897221 timestamp: 1788356286125 - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda @@ -5016,6 +5080,9 @@ packages: license: BSD-3-Clause-Attribution license_family: BSD purls: [] + run_exports: + weak: + - cyrus-sasl >=2.1.28,<3.0a0 size: 210103 timestamp: 1771943128249 - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py311h49ec1c0_2.conda @@ -5031,6 +5098,7 @@ packages: license_family: BSD purls: - pkg:pypi/cytoolz?source=hash-mapping + run_exports: {} size: 623787 timestamp: 1771855848475 - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda @@ -5046,6 +5114,7 @@ packages: license_family: BSD purls: - pkg:pypi/cytoolz?source=hash-mapping + run_exports: {} size: 623770 timestamp: 1771855837505 - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py313h07c4f96_2.conda @@ -5061,6 +5130,7 @@ packages: license_family: BSD purls: - pkg:pypi/cytoolz?source=hash-mapping + run_exports: {} size: 620281 timestamp: 1771855841837 - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda @@ -5075,23 +5145,11 @@ packages: - libglib >=2.88.3,<3.0a0 license: AFL-2.1 OR GPL-2.0-or-later purls: [] + run_exports: + weak: + - dbus >=1.16.2,<2.0a0 size: 449564 timestamp: 1788197922783 -- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda - sha256: b8dbe25820064a099f315bbb8f45f5bac3fddb63e96af3cbf0c93a830733ef34 - md5: e6778419a1851f6e15820558abddfa04 - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 2821960 - timestamp: 1780390159181 - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda sha256: 40cdd1b048444d3235069d75f9c8e1f286db567f6278a93b4f024e5642cfaecc md5: dbe3ec0f120af456b3477743ffd99b74 @@ -5102,21 +5160,11 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - double-conversion >=3.4.0,<3.5.0a0 size: 71809 timestamp: 1765193127016 -- conda: https://conda.anaconda.org/conda-forge/linux-64/epics-base-7.0.10.0-pl5321haadc9f8_2.conda - sha256: 6fb6b5107d7b07db36805d0e4b972def7229d9dde3d13d1032bc19bf8ee7e4f0 - md5: bd8f0cbf3d9f3e0d5f90cdc827be86dd - depends: - - perl - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - readline >=8.3,<9.0a0 - license: EPICS - purls: [] - size: 33301787 - timestamp: 1787819807198 - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py311h343ec76_0.conda sha256: 5c758decf4c84e3bd768b752a998cb806802ed305bb8c5e0d799d5b6918c0a68 md5: 92c989db7bcedf9a6a1e835e49e806d1 @@ -5132,6 +5180,7 @@ packages: license_family: MIT purls: - pkg:pypi/fastar?source=hash-mapping + run_exports: {} size: 354249 timestamp: 1787239225378 - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py312h15b83fc_0.conda @@ -5149,6 +5198,7 @@ packages: license_family: MIT purls: - pkg:pypi/fastar?source=hash-mapping + run_exports: {} size: 352348 timestamp: 1787239224146 - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py313h9f4c961_0.conda @@ -5166,6 +5216,7 @@ packages: license_family: MIT purls: - pkg:pypi/fastar?source=hash-mapping + run_exports: {} size: 352018 timestamp: 1787239227290 - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.3-h4db4eae_1.conda @@ -5182,6 +5233,10 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - fontconfig >=2.18.3,<3.0a0 + - fonts-conda-ecosystem size: 296288 timestamp: 1786667377340 - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda @@ -5199,6 +5254,7 @@ packages: license_family: MIT purls: - pkg:pypi/fonttools?source=hash-mapping + run_exports: {} size: 3007892 timestamp: 1778770568019 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda @@ -5209,6 +5265,10 @@ packages: - libfreetype6 2.14.3 h5e6c136_2 license: GPL-2.0-only OR FTL purls: [] + run_exports: + weak: + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 size: 175239 timestamp: 1786641011029 - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-h7cc23a3_2.conda @@ -5219,6 +5279,9 @@ packages: - libgcc >=15 license: LGPL-2.1-or-later purls: [] + run_exports: + weak: + - fribidi >=1.0.16,<2.0a0 size: 62401 timestamp: 1788385624706 - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.3.1-h54a6638_0.conda @@ -5231,6 +5294,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - gflags >=2.3.1,<2.4.0a0 size: 130991 timestamp: 1785044715896 - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-ha257d8a_1.conda @@ -5242,6 +5308,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - giflib >=5.2.2,<5.3.0a0 size: 77403 timestamp: 1784694210187 - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hb7133d2_1.conda @@ -5255,6 +5324,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - glog >=0.7.1,<0.8.0a0 size: 149031 timestamp: 1784094370091 - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hfd2156b_3.conda @@ -5266,6 +5338,9 @@ packages: - libstdcxx >=14 license: GPL-2.0-or-later OR LGPL-3.0-or-later purls: [] + run_exports: + weak: + - gmp >=6.3.0,<7.0a0 size: 493498 timestamp: 1786629164954 - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py311hbc40be8_0.conda @@ -5283,6 +5358,7 @@ packages: license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping + run_exports: {} size: 312441 timestamp: 1787066347085 - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_0.conda @@ -5300,6 +5376,7 @@ packages: license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping + run_exports: {} size: 327022 timestamp: 1787066358050 - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py313ha4a6282_0.conda @@ -5317,53 +5394,57 @@ packages: license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping + run_exports: {} size: 327580 timestamp: 1787066358811 -- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py311h2702b87_1.conda - sha256: 4b048eaee1fbb08e472ed6f3bf1cb415e9c0bb9378c361eee85b49d796a00646 - md5: 02235059ef5178fddd4d5f0e5d0da845 +- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py311h59bccc5_2.conda + sha256: 74362b1f851785825fb1e3ddc6a3ce6a391c5a91297fece6e2d96193b4e6c7c3 + md5: f1ee5909a17da6578a37f34f77e93010 depends: - __glibc >=2.17,<3.0.a0 - libcrc32c >=1.1.2,<1.2.0a0 - - libgcc >=14 + - libgcc >=15 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping - size: 25242 - timestamp: 1768549195622 -- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda - sha256: 3f962b2cbdc2aac3089a5c708477657266c0a665f0eed09981a34d1ab6793065 - md5: 68f704ea294dcec9e09edd9c3d233846 + run_exports: {} + size: 29713 + timestamp: 1788537559934 +- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312hda0ef95_2.conda + sha256: 938dfd35b440e3c843d941289ae0ac94a7d9327aa479efe6e2e0ee33ee82863b + md5: c5d2e1c00832cf3d97018829efd3d480 depends: - __glibc >=2.17,<3.0.a0 - libcrc32c >=1.1.2,<1.2.0a0 - - libgcc >=14 + - libgcc >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - - pkg:pypi/google-crc32c?source=hash-mapping - size: 24900 - timestamp: 1768549198202 -- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h74173ec_1.conda - sha256: c0e39ebce8b9d8bc4e734bb5d2538e60f7c8c85ec04f9b0690fc6e1cb9656869 - md5: d358850e37a98739224fdc265d7d8eb7 + - pkg:pypi/google-crc32c?source=compressed-mapping + run_exports: {} + size: 29520 + timestamp: 1788537554663 +- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py313h5cbdff7_2.conda + sha256: ef9512f402eeba940ef5a0cfa4bb4d87f9218e92c34cc5f7c6aaf7dfce331e65 + md5: c70fc04cb55616e53e2a2a835ffd1c69 depends: - __glibc >=2.17,<3.0.a0 - libcrc32c >=1.1.2,<1.2.0a0 - - libgcc >=14 + - libgcc >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/google-crc32c?source=hash-mapping - size: 25326 - timestamp: 1768549200259 + run_exports: {} + size: 29572 + timestamp: 1788537553266 - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-h54a6638_1.conda sha256: 7fa3b6a9c081fa3e545573152a788d061a0a0ba57df7251cc0f4f75225fc93e7 md5: f9fe2984587fa8235a6af6004760cd18 @@ -5374,6 +5455,9 @@ packages: license: LGPL-2.0-or-later license_family: LGPL purls: [] + run_exports: + weak: + - graphite2 >=1.3.15,<2.0a0 size: 102835 timestamp: 1786118485753 - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py311hc665b79_0.conda @@ -5389,6 +5473,7 @@ packages: license_family: MIT purls: - pkg:pypi/greenlet?source=compressed-mapping + run_exports: {} size: 280754 timestamp: 1786384053770 - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py312h8285ef7_0.conda @@ -5404,6 +5489,7 @@ packages: license_family: MIT purls: - pkg:pypi/greenlet?source=compressed-mapping + run_exports: {} size: 275998 timestamp: 1786384044080 - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.5-py313h5d5ffb9_0.conda @@ -5419,6 +5505,7 @@ packages: license_family: MIT purls: - pkg:pypi/greenlet?source=compressed-mapping + run_exports: {} size: 276682 timestamp: 1786384052888 - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py311ha6e1976_0.conda @@ -5437,6 +5524,7 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping + run_exports: {} size: 2052548 timestamp: 1787923650631 - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py312hc767a74_0.conda @@ -5455,6 +5543,7 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping + run_exports: {} size: 2048965 timestamp: 1787923656095 - conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py313ha296275_0.conda @@ -5473,6 +5562,7 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping + run_exports: {} size: 2049811 timestamp: 1787923663488 - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py311hfef529e_102.conda @@ -5490,6 +5580,7 @@ packages: license_family: BSD purls: - pkg:pypi/h5py?source=hash-mapping + run_exports: {} size: 1359434 timestamp: 1775581283533 - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312hfaa9938_104.conda @@ -5507,6 +5598,7 @@ packages: license_family: BSD purls: - pkg:pypi/h5py?source=compressed-mapping + run_exports: {} size: 1353159 timestamp: 1787108753979 - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py313hf402d47_104.conda @@ -5524,6 +5616,7 @@ packages: license_family: BSD purls: - pkg:pypi/h5py?source=hash-mapping + run_exports: {} size: 1347671 timestamp: 1787108767322 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda @@ -5542,6 +5635,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 size: 3721555 timestamp: 1780581675871 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-2.1.0-nompi_h654f344_110.conda @@ -5566,6 +5662,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - hdf5 >=2.1.0,<3.0a0 size: 4128283 timestamp: 1784118352322 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-6.0.0-py311h41e6a36_5.conda @@ -5589,6 +5688,7 @@ packages: license_family: MIT purls: - pkg:pypi/hdf5plugin?source=hash-mapping + run_exports: {} size: 3387285 timestamp: 1774735881168 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py312hff6e9eb_0.conda @@ -5614,6 +5714,7 @@ packages: license_family: MIT purls: - pkg:pypi/hdf5plugin?source=hash-mapping + run_exports: {} size: 3390488 timestamp: 1788341518322 - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5plugin-7.1.0-py313h14eca21_0.conda @@ -5639,64 +5740,51 @@ packages: license_family: MIT purls: - pkg:pypi/hdf5plugin?source=hash-mapping + run_exports: {} size: 3391428 timestamp: 1788341293058 -- conda: https://conda.anaconda.org/conda-forge/linux-64/hiredis-3.4.1-py312h5253ce2_0.conda - sha256: ad1433a085931805b27867cda2ad6902742ae4a504b5f5ee3e16ba3574158e52 - md5: b18f23bb4503a98916c1c28a52b8257b - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/hiredis?source=hash-mapping - size: 89314 - timestamp: 1786187812946 -- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py311h0d48ccd_1.conda - sha256: b8b59702a0c6896fd614c143fd3ea1250d9727734fd413ecb548612d621be31d - md5: be14e5bf2786ec96e826045ce4c53345 +- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py311h0d48ccd_2.conda + sha256: a31a290daa645955257d1272a1e1c51c66d056172a4a7456dd7b1f1d0b0a2aec + md5: 06f4bb3603a56c07e1d29d0f43b65a3f depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: MIT - license_family: MIT purls: - - pkg:pypi/httptools?source=hash-mapping - size: 105376 - timestamp: 1787563977247 -- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_1.conda - sha256: 572e6fbb8d02204e680c42c140c3f84d1fbb118a376f7802298453d8552c8f38 - md5: dc91708aff042d95117f4645b91edacb + - pkg:pypi/httptools?source=compressed-mapping + run_exports: {} + size: 105272 + timestamp: 1788525677192 +- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py312h5cc1888_2.conda + sha256: d9de04bdef72fd32fbdcfbb2a1f334b2305a3ad0f6dc6e10c83f32d6570a5582 + md5: fdac771c107934b63a0ae7917cf0319c depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT - license_family: MIT purls: - - pkg:pypi/httptools?source=compressed-mapping - size: 107281 - timestamp: 1787563971634 -- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_1.conda - sha256: 38f740cfd27e0dcfaed5ffddaad4ee4dce8628ad03e1d17b8b0be00b366c437b - md5: c5df31982bf7c1a8c368165b59a19c1c + - pkg:pypi/httptools?source=hash-mapping + run_exports: {} + size: 107688 + timestamp: 1788525674672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.8.0-py313h995f894_2.conda + sha256: 24411e6c39eabd08024315caf1811bc8416a17758d8e193c56a6fefbcc2efbd0 + md5: 43d3afa0c9c4ed9199e526bbad0ee5a5 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: MIT - license_family: MIT purls: - pkg:pypi/httptools?source=hash-mapping - size: 104904 - timestamp: 1787563991952 + run_exports: {} + size: 105161 + timestamp: 1788525667486 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda sha256: 9f07834f0c546ab14d885ce0366285f61f44e326c0edd1fc63b8294e113ae432 md5: 72a381cbad04f24b1c2a43ef707f45b4 @@ -5707,6 +5795,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - icu >=78.3,<79.0a0 size: 14459115 timestamp: 1786545741408 - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.3.6-py311h2f21a4e_2.conda @@ -5753,6 +5844,7 @@ packages: license_family: BSD purls: - pkg:pypi/imagecodecs?source=hash-mapping + run_exports: {} size: 2068346 timestamp: 1776185219053 - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py312h3d3c6f4_0.conda @@ -5799,6 +5891,7 @@ packages: license_family: BSD purls: - pkg:pypi/imagecodecs?source=hash-mapping + run_exports: {} size: 2285384 timestamp: 1786846577148 - conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py313h259dfeb_0.conda @@ -5845,6 +5938,7 @@ packages: license_family: BSD purls: - pkg:pypi/imagecodecs?source=hash-mapping + run_exports: {} size: 2288228 timestamp: 1786846580689 - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda @@ -5855,6 +5949,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - jxrlib >=1.1,<1.2.0a0 size: 239104 timestamp: 1703333860145 - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda @@ -5865,23 +5962,26 @@ packages: - libgcc >=15 license: LGPL-2.1-or-later purls: [] + run_exports: + weak: + - keyutils >=1.6.3,<2.0a0 size: 135295 timestamp: 1786739238128 -- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_0.conda - sha256: 09f3578b5cf4484d236e02f5b9fe455e45448419b86ef16aee46d45e9fd3b715 - md5: 6ec45525bac89c279b6e5f4c47eec6bf +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.1-py312h9be0db6_1.conda + sha256: 608716113cb671415a038654e2bc55c2372c8817c24c0a5043323fd7c06b86f3 + md5: 231fede9051444ed7d243f78f3cb4a8f depends: - python + - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - license_family: BSD purls: - pkg:pypi/kiwisolver?source=compressed-mapping - size: 75073 - timestamp: 1787938396652 + run_exports: {} + size: 75215 + timestamp: 1788505643992 - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda sha256: 2a5c38c85e63df84c4e69ee71439841ce570d259ae3060627bb9a49a938d66f4 md5: 53318d715316929a574f83591308b1f8 @@ -5896,6 +5996,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 size: 1394333 timestamp: 1786762112514 - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_2.conda @@ -5909,6 +6012,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 size: 253830 timestamp: 1788155917881 - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda @@ -5922,6 +6028,7 @@ packages: license: GPL-3.0-only license_family: GPL purls: [] + run_exports: {} size: 745303 timestamp: 1784214507189 - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda @@ -5934,6 +6041,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - lerc >=4.2.0,<5.0a0 size: 271158 timestamp: 1785036167977 - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda @@ -5949,6 +6059,10 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - libabseil >=20260526.0,<20260527.0a0 + - libabseil =*=cxx17* size: 1436888 timestamp: 1787217011773 - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda @@ -5962,6 +6076,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libadbc-driver-postgresql >=1.12.0,<1.13.0a0 size: 283452 timestamp: 1785224456508 - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda @@ -5975,6 +6092,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libadbc-driver-sqlite >=1.12.0,<1.13.0a0 size: 191823 timestamp: 1785224476365 - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda @@ -5987,6 +6107,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - libaec >=1.1.5,<2.0a0 size: 36544 timestamp: 1769221884824 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda @@ -6025,6 +6148,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libarrow >=25.0.0,<25.1.0a0 size: 6598422 timestamp: 1786315080658 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda @@ -6040,6 +6166,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libarrow-acero >=25.0.0,<25.1.0a0 size: 590543 timestamp: 1786315249993 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda @@ -6057,6 +6186,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libarrow-compute >=25.0.0,<25.1.0a0 size: 2974934 timestamp: 1786315141259 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda @@ -6074,6 +6206,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libarrow-dataset >=25.0.0,<25.1.0a0 size: 591131 timestamp: 1786315326056 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-25.0.0-h66fbfdd_4_cpu.conda @@ -6093,6 +6228,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libarrow-substrait >=25.0.0,<25.1.0a0 size: 500255 timestamp: 1786315353425 - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.4.2-h3ef1eba_4.conda @@ -6106,7 +6244,11 @@ packages: - libdav1d7 >=1.5.4 - svt-av1 >=4.2.0,<4.2.1.0a0 license: BSD-2-Clause + license_family: BSD purls: [] + run_exports: + weak: + - libavif16 >=1.4.2,<2.0a0 size: 168234 timestamp: 1788391245817 - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-10_h4a7cf45_openblas.conda @@ -6125,43 +6267,52 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 size: 17975 timestamp: 1788076997926 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - sha256: e5864f257f839ffc27d681659bac95901f524f602b9121e5dcc5e2df18437f2d - md5: 7a2499a177753582fb7ae7e9dc4a908a +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_4.conda + sha256: c4e9854c585f3ee1785f651287ecdf8c28f30a2ea1b159a513005f8a0f6453a3 + md5: df210655e30a05e3b069c91b7aaddd2d depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 license: MIT - license_family: MIT purls: [] - size: 80265 - timestamp: 1786622773969 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_3.conda - sha256: dad31b6d104973deb89710929a35651033aad692d4e7793cdb5b786a9bd54678 - md5: 6ab3315dc56618d652c1da42a648a129 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + size: 80561 + timestamp: 1788480364653 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-ha411449_4.conda + sha256: d5ed24da3e583a92227fe77280978b7933f07a39a2b60156c5ad95e5c76733fa + md5: 0cfd601eb03cca403dcc248844787486 depends: - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 h39a168f_3 + - libbrotlicommon 1.2.0 h39a168f_4 - libgcc >=15 license: MIT - license_family: MIT purls: [] - size: 34828 - timestamp: 1786622783405 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_3.conda - sha256: d37124d0f51816e7d5e3a94bfc9ed3d6174d077f9b4f832d20c5a08b52bebf1f - md5: 2ac965638d4c6b2b38383bb1aebaf543 + run_exports: + weak: + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 34739 + timestamp: 1788480374261 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-h018ffa1_4.conda + sha256: b9f3cb510337655485c2e79ce5f7dd468991b19ad29723ffa1175a0aed1b69ae + md5: 4136f6e4ef4835cc7df39a707cbd511c depends: - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 h39a168f_3 + - libbrotlicommon 1.2.0 h39a168f_4 - libgcc >=15 license: MIT - license_family: MIT purls: [] - size: 298639 - timestamp: 1786622792145 + run_exports: + weak: + - libbrotlienc >=1.2.0,<1.3.0a0 + size: 298134 + timestamp: 1788480383223 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda build_number: 10 sha256: 90fd992748d501f6efe2b8310aa81f5ee4a63629450dd88e851ba4ab757f3c3a @@ -6175,6 +6326,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 size: 17959 timestamp: 1788077003985 - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda @@ -6192,6 +6346,9 @@ packages: license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] + run_exports: + weak: + - libclang-cpp23.1 >=23.1.0,<23.2.0a0 size: 25353391 timestamp: 1788037800581 - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda @@ -6210,6 +6367,9 @@ packages: license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] + run_exports: + weak: + - libclang13 >=23.1.0 size: 15442245 timestamp: 1788037800581 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 @@ -6221,6 +6381,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libcrc32c >=1.1.2,<1.2.0a0 size: 20440 timestamp: 1633683576494 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda @@ -6235,6 +6398,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - libcups >=2.3.3,<2.4.0a0 size: 4518030 timestamp: 1770902209173 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda @@ -6253,6 +6419,9 @@ packages: license: curl license_family: MIT purls: [] + run_exports: + weak: + - libcurl >=8.22.0,<9.0a0 size: 499651 timestamp: 1788340719230 - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda @@ -6264,6 +6433,7 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: {} size: 765022 timestamp: 1788366542408 - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda @@ -6275,6 +6445,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libdeflate >=1.25,<1.26.0a0 size: 73710 timestamp: 1785908694612 - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda @@ -6287,6 +6460,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libdrm >=2.4.129,<2.5.0a0 size: 313461 timestamp: 1786684701973 - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda @@ -6300,6 +6476,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 size: 135098 timestamp: 1786616658086 - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda @@ -6310,6 +6489,7 @@ packages: - libglvnd 1.7.0 ha4b6fd6_5 license: LicenseRef-libglvnd purls: [] + run_exports: {} size: 46694 timestamp: 1787310030923 - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda @@ -6322,6 +6502,9 @@ packages: - xorg-libx11 license: LicenseRef-libglvnd purls: [] + run_exports: + weak: + - libegl >=1.7.0,<2.0a0 size: 31242 timestamp: 1787310065866 - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda @@ -6333,6 +6516,9 @@ packages: license: BSD-2-Clause OR GPL-2.0-or-later license_family: GPL purls: [] + run_exports: + weak: + - libev >=4.33,<4.34.0a0 size: 43220 timestamp: 1785917328200 - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda @@ -6344,6 +6530,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 size: 427426 timestamp: 1685725977222 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda @@ -6357,6 +6546,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 77856 timestamp: 1781203599810 - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda @@ -6368,6 +6558,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 size: 68004 timestamp: 1787753412298 - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -6377,6 +6570,7 @@ packages: - libfreetype6 >=2.14.3 license: GPL-2.0-only OR FTL purls: [] + run_exports: {} size: 8407 timestamp: 1786641007099 - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h5e6c136_2.conda @@ -6391,6 +6585,7 @@ packages: - freetype >=2.14.3 license: GPL-2.0-only OR FTL purls: [] + run_exports: {} size: 387671 timestamp: 1786641006460 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_4.conda @@ -6405,6 +6600,7 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: {} size: 1058083 timestamp: 1787618680111 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_4.conda @@ -6415,6 +6611,9 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: + strong: + - libgcc size: 28403 timestamp: 1787618684957 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_4.conda @@ -6427,6 +6626,7 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: {} size: 28377 timestamp: 1787618711732 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_4.conda @@ -6440,6 +6640,7 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: {} size: 2526008 timestamp: 1787618692926 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_5.conda @@ -6451,6 +6652,7 @@ packages: - libglx 1.7.0 ha4b6fd6_5 license: LicenseRef-libglvnd purls: [] + run_exports: {} size: 131988 timestamp: 1787310049847 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_5.conda @@ -6462,24 +6664,30 @@ packages: - libglx-devel 1.7.0 ha4b6fd6_5 license: LicenseRef-libglvnd purls: [] + run_exports: + weak: + - libgl >=1.7.0,<2.0a0 size: 116212 timestamp: 1787310061570 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_2.conda - sha256: af6c14f387f810c5df491b328ae955329596d3bc73b1e2e091ab5adb46a10759 - md5: 533d342dedadf134c67760ce6fc5b748 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.3-he503a2a_3.conda + sha256: f57bf3954dbba8b27ec68540e84f8b2c2375ffa5702f89ca9741e17329fc3953 + md5: d216efacca3f34f2b13ddd1632f53833 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - pcre2 >=10.47,<10.48.0a0 - - libzlib >=1.3.2,<2.0a0 + - __glibc >=2.17,<3.0.a0 - libiconv >=1.18,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 - libffi >=3.7.0,<3.8.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - glib >2.66 license: LGPL-2.1-or-later purls: [] - size: 4758097 - timestamp: 1787884091247 + run_exports: + weak: + - libglib >=2.88.3,<3.0a0 + size: 4758346 + timestamp: 1788525203514 - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda sha256: 6eb77601a44b78c4631d886d54ef54f321c2bdc69fdefc4065a1e0491f030c76 md5: cfcf11edcfd4acf0094771a9c3b8587f @@ -6487,6 +6695,7 @@ packages: - __glibc >=2.17,<3.0.a0 license: LicenseRef-libglvnd purls: [] + run_exports: {} size: 133827 timestamp: 1787310026653 - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda @@ -6498,6 +6707,7 @@ packages: - xorg-libx11 >=1.8.13,<2.0a0 license: LicenseRef-libglvnd purls: [] + run_exports: {} size: 79834 timestamp: 1787310042550 - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda @@ -6510,6 +6720,9 @@ packages: - xorg-xorgproto license: LicenseRef-libglvnd purls: [] + run_exports: + weak: + - libglx >=1.7.0,<2.0a0 size: 27698 timestamp: 1787310053582 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_4.conda @@ -6520,6 +6733,9 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: + strong: + - _openmp_mutex >=4.5 size: 639968 timestamp: 1787618616266 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-3.8.0-hbc29df5_0.conda @@ -6541,6 +6757,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - libgoogle-cloud >=3.8.0,<3.9.0a0 size: 2663465 timestamp: 1786226759530 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda @@ -6559,6 +6778,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - libgoogle-cloud-storage >=3.8.0,<3.9.0a0 size: 810573 timestamp: 1786226867433 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda @@ -6581,6 +6803,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libgrpc >=1.82.1,<1.83.0a0 size: 6957755 timestamp: 1783588701960 - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda @@ -6599,7 +6824,9 @@ packages: - libstdcxx >=15 - libzlib >=1.3.2,<2.0a0 license: MIT + license_family: MIT purls: [] + run_exports: {} size: 1382623 timestamp: 1788405508587 - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda @@ -6611,6 +6838,9 @@ packages: - libstdcxx >=15 license: Apache-2.0 OR BSD-3-Clause purls: [] + run_exports: + weak: + - libhwy >=1.4.0,<1.5.0a0 size: 1454025 timestamp: 1787282422734 - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda @@ -6621,6 +6851,9 @@ packages: - libgcc >=15 license: LGPL-2.1-only purls: [] + run_exports: + weak: + - libiconv >=1.18,<2.0a0 size: 789471 timestamp: 1787033836207 - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda @@ -6633,6 +6866,9 @@ packages: - jpeg <0.0.0a license: IJG AND BSD-3-Clause AND Zlib purls: [] + run_exports: + weak: + - libjpeg-turbo >=3.2.0,<4.0a0 size: 650434 timestamp: 1785896381946 - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda @@ -6648,6 +6884,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libjxl >=0.11,<1.0a0 size: 1846962 timestamp: 1777065125966 - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda @@ -6663,6 +6902,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libjxl >=0.12.0,<0.13.0a0 size: 1886013 timestamp: 1786691380980 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda @@ -6678,6 +6920,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - liblapack >=3.11.0,<3.12.0a0 size: 17978 timestamp: 1788077010883 - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda @@ -6694,6 +6939,9 @@ packages: license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] + run_exports: + weak: + - libllvm23 >=23.1.0,<23.2.0a0 size: 45046595 timestamp: 1787716721647 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda @@ -6706,6 +6954,9 @@ packages: - xz 5.8.3.* license: 0BSD purls: [] + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 size: 112995 timestamp: 1786348617826 - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda @@ -6717,6 +6968,7 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: {} size: 92759 timestamp: 1786650399772 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda @@ -6734,6 +6986,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 size: 649974 timestamp: 1787177490105 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda @@ -6745,6 +7000,9 @@ packages: license: LGPL-2.1-only license_family: GPL purls: [] + run_exports: + weak: + - libnsl >=2.0.1,<2.1.0a0 size: 33731 timestamp: 1750274110928 - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda @@ -6755,6 +7013,9 @@ packages: - libgcc >=13 license: LGPL-2.1-or-later purls: [] + run_exports: + weak: + - libntlm >=1.8,<2.0a0 size: 33418 timestamp: 1734670021371 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda @@ -6770,6 +7031,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libopenblas >=0.3.34,<1.0a0 size: 5994112 timestamp: 1788056652715 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda @@ -6780,6 +7044,7 @@ packages: - libglvnd 1.7.0 ha4b6fd6_5 license: LicenseRef-libglvnd purls: [] + run_exports: {} size: 50627 timestamp: 1787310045795 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda @@ -6800,6 +7065,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libopentelemetry-cpp >=1.27.0,<1.28.0a0 size: 948783 timestamp: 1783133058845 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda @@ -6808,6 +7076,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: {} size: 394726 timestamp: 1783133038109 - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda @@ -6824,6 +7093,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libparquet >=25.0.0,<25.1.0a0 size: 1412634 timestamp: 1786315223543 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda @@ -6835,6 +7107,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libpciaccess >=0.19,<0.20.0a0 size: 30070 timestamp: 1785971678815 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h922cc85_1.conda @@ -6846,22 +7121,28 @@ packages: - libzlib >=1.3.2,<2.0a0 license: zlib-acknowledgement purls: [] + run_exports: + weak: + - libpng >=1.6.58,<1.7.0a0 size: 316643 timestamp: 1786616563127 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_0.conda - sha256: b1eb210c180fda9c445b11cba1286ec250ce2c2a85ccb0551a4ed5423df51e68 - md5: 72e019c04ed02a179da38c56965802d1 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h9d76c99_1.conda + sha256: f858ecc9bcca455449f95e12a61f01264c239e6a176d86e09ea3b85bf0be4ff7 + md5: 06b25748479ce9516502e28332707f11 depends: - __glibc >=2.17,<3.0.a0 - icu >=78.3,<79.0a0 - krb5 >=1.22.2,<1.23.0a0 - libgcc >=15 - openldap >=2.6.13,<2.7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.8,<4.0a0 license: PostgreSQL purls: [] - size: 2719680 - timestamp: 1786641133110 + run_exports: + weak: + - libpq >=18.6,<19.0a0 + size: 2726898 + timestamp: 1788538987316 - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h622638d_3.conda sha256: 37c51fbc936a6bb8bf5f67c8f056edacaaa41e8603738bc8a4dee186292bb114 md5: fd307b61cceb36fdca38e1718bdb2893 @@ -6875,6 +7156,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libprotobuf >=7.35.1,<7.35.2.0a0 size: 3808338 timestamp: 1787657986197 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda @@ -6888,6 +7172,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 size: 72519 timestamp: 1786970753847 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.11.16-h0c77377_2_cpython.conda @@ -6900,6 +7187,7 @@ packages: - libstdcxx >=15 license: Python-2.0 purls: [] + run_exports: {} size: 7831580 timestamp: 1788393477692 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.14-h0c77377_3_cpython.conda @@ -6912,6 +7200,7 @@ packages: - libstdcxx >=15 license: Python-2.0 purls: [] + run_exports: {} size: 8770625 timestamp: 1788392466381 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.13.15-hdc7f604_103_cp313.conda @@ -6924,6 +7213,7 @@ packages: - libstdcxx >=15 license: Python-2.0 purls: [] + run_exports: {} size: 9711017 timestamp: 1788387797958 - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.11.0-h6406941_0.conda @@ -6939,6 +7229,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libraqm >=0.11.0,<0.12.0a0 size: 33983 timestamp: 1784850267262 - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h60473fc_2.conda @@ -6955,18 +7248,11 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libre2-11 >=2025.11.5 size: 210598 timestamp: 1781312565737 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_2.conda - sha256: 7454c6a7cf27033757f2895bc5e3941fe27604506edd62cf6bc00e50ab015a43 - md5: 42c585f153c17b790cd01f01553d24a1 - depends: - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - license: ISC - purls: [] - size: 269985 - timestamp: 1787225747011 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h13e7031_1.conda sha256: f20d70da54e5b31dd4a51fb1efeaafafd5ab6dd8d7ac9d1438eaa2526ac4ed3d md5: e72bbec309c2b0f37823ee7d4fabfcd3 @@ -6977,6 +7263,9 @@ packages: - libzlib >=1.3.2,<2.0a0 license: blessing purls: [] + run_exports: + weak: + - libsqlite >=3.53.4,<4.0a0 size: 974348 timestamp: 1787051145557 - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda @@ -6990,6 +7279,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 size: 306045 timestamp: 1786713107897 - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_4.conda @@ -7003,6 +7295,7 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: {} size: 6613148 timestamp: 1787618704262 - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_4.conda @@ -7013,6 +7306,9 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] + run_exports: + strong: + - libstdcxx size: 28459 timestamp: 1787618737021 - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.conda @@ -7028,6 +7324,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libthrift >=0.22.0,<0.22.1.0a0 size: 423861 timestamp: 1777018957474 - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-hcc2c06a_1.conda @@ -7046,6 +7345,9 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: HPND purls: [] + run_exports: + weak: + - libtiff >=4.7.2,<4.8.0a0 size: 459753 timestamp: 1787755584172 - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.11.3-hfe17d71_0.conda @@ -7057,6 +7359,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libutf8proc >=2.11.3,<2.12.0a0 size: 85969 timestamp: 1768735071295 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.3-hcfc3c73_0.conda @@ -7068,6 +7373,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libuuid >=2.42.3,<3.0a0 size: 39998 timestamp: 1788347719520 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda @@ -7079,6 +7387,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libuv >=1.52.1,<2.0a0 size: 420040 timestamp: 1785914567661 - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.357.0-h0e34353_2.conda @@ -7095,6 +7406,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - libvulkan-loader >=1.4.357.0,<2.0a0 size: 206957 timestamp: 1787491938583 - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda @@ -7108,6 +7422,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libwebp-base >=1.6.0,<2.0a0 size: 428430 timestamp: 1785954557217 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda @@ -7122,6 +7439,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libxcb >=1.17.0,<2.0a0 size: 395120 timestamp: 1787885788278 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda @@ -7132,6 +7452,9 @@ packages: - __glibc >=2.17,<3.0.a0 license: LGPL-2.1-or-later purls: [] + run_exports: + weak: + - libxcrypt >=4.4.38 size: 101957 timestamp: 1785887123445 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda @@ -7148,6 +7471,9 @@ packages: - libxml2-16 >=2.14.6 license: MIT AND MIT-open-group AND HPND AND HPND-sell-variant AND ISC purls: [] + run_exports: + weak: + - libxkbcommon >=1.13.2,<2.0a0 size: 942571 timestamp: 1787178780572 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_1.conda @@ -7165,6 +7491,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 559721 timestamp: 1787237579170 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda @@ -7181,21 +7508,27 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 size: 46203 timestamp: 1787237584107 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda - sha256: 3257043531b6828cbfe3f1c4d843dd29de3898c4c8780efba792ccdd1464c3b1 - md5: be101a81eab00f1abe854c11a68970de +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda + sha256: 3beb51b5ce8d2e0690b8517d3d955972d502cfbe2899279cbb9cbb6ff134d360 + md5: 5c8ce6af1772fcfc2b86d17b825abc8e depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - libxml2 - libxml2-16 >=2.15.3 license: MIT - license_family: MIT purls: [] - size: 250892 - timestamp: 1788362459630 + run_exports: + weak: + - libxslt >=1.1.45,<2.0a0 + size: 250314 + timestamp: 1788534852474 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda sha256: eb8a0db0aa570124f7d2a93d7c7f596e3390df5e047818d873baad32985fc736 md5: 0de0122d9570a8ab637c6b73db268389 @@ -7206,6 +7539,9 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 63713 timestamp: 1785362952714 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 @@ -7217,59 +7553,62 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - libzopfli >=1.0.3,<1.1.0a0 size: 168074 timestamp: 1607309189989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py311h1369f55_2.conda - sha256: bd4ddf72a6ee81991759d407d0cf8fadf9804500562839448a22c11f8e829f8e - md5: 7d4c6843f49e890b8f6fb813d7e94c1f +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py311h1369f55_3.conda + sha256: c90179f874ce6f9eaea6d8f71682b80c7ff20d462983579f837d1c183054c3b9 + md5: c00815d29889d8027b6efcb010ba8138 depends: - python - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.11.* *_cp311 - libzlib >=1.3.2,<2.0a0 + - python_abi 3.11.* *_cp311 + - zstd >=1.5.7,<1.6.0a0 license: BSD-2-Clause - license_family: BSD purls: - pkg:pypi/llvmlite?source=hash-mapping - size: 40845513 - timestamp: 1788013791127 -- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_2.conda - sha256: 6ace01e2178517df371a342ae2ad6666827eeece1bcb9739dee56629873f6ddc - md5: 77579ddce0dd5f85915bc30259fda6e3 + run_exports: {} + size: 40845699 + timestamp: 1788518419493 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py312hb491018_3.conda + sha256: 632f565e1683c21dff60908dd077bda933cbc131ccf8cacde6a17a959e7e4c08 + md5: f471bb7144bf1cac276991d74cc662a7 depends: - python - - libgcc >=15 - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - - libzlib >=1.3.2,<2.0a0 + - libgcc >=15 - python_abi 3.12.* *_cp312 - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 license: BSD-2-Clause - license_family: BSD purls: - - pkg:pypi/llvmlite?source=compressed-mapping - size: 40829032 - timestamp: 1788013772362 -- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py313hd9b1b65_2.conda - sha256: c18e11d888f72804efa6b1a2c36e34002c5ab54dad77cd0c9d54516a7b2cb87c - md5: a5a607d598d6d703503f56697310f02c + - pkg:pypi/llvmlite?source=hash-mapping + run_exports: {} + size: 40829232 + timestamp: 1788518429834 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.49.0-py313hd9b1b65_3.conda + sha256: 4754cee5306e9d5a10e250f27b0dd1aff8cf89a7622aa9139f9b86f37b6765aa + md5: 71d17c887535d2bbb7adbff6bcca54a8 depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - - libzlib >=1.3.2,<2.0a0 - zstd >=1.5.7,<1.6.0a0 - python_abi 3.13.* *_cp313 + - libzlib >=1.3.2,<2.0a0 license: BSD-2-Clause - license_family: BSD purls: - pkg:pypi/llvmlite?source=hash-mapping - size: 40831919 - timestamp: 1788013772410 + run_exports: {} + size: 40832046 + timestamp: 1788518422311 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py311h1c460e0_1.conda sha256: a3c5fc64083cd168a65b0e5f8866e46edaeded85ed75f85a6c4dec9071447d5a md5: 987c0686ab1d618850db2fb0f837a88d @@ -7284,6 +7623,7 @@ packages: license_family: BSD purls: - pkg:pypi/lz4?source=hash-mapping + run_exports: {} size: 44524 timestamp: 1765026393198 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda @@ -7300,6 +7640,7 @@ packages: license_family: BSD purls: - pkg:pypi/lz4?source=hash-mapping + run_exports: {} size: 44154 timestamp: 1765026394687 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py313h28739b2_1.conda @@ -7316,6 +7657,7 @@ packages: license_family: BSD purls: - pkg:pypi/lz4?source=hash-mapping + run_exports: {} size: 44861 timestamp: 1765026393230 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda @@ -7328,6 +7670,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - lz4-c >=1.10.0,<1.11.0a0 size: 181812 timestamp: 1786717122815 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py311h3778330_1.conda @@ -7344,6 +7689,7 @@ packages: license_family: BSD purls: - pkg:pypi/markupsafe?source=hash-mapping + run_exports: {} size: 26756 timestamp: 1772445078834 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda @@ -7360,6 +7706,7 @@ packages: license_family: BSD purls: - pkg:pypi/markupsafe?source=hash-mapping + run_exports: {} size: 26057 timestamp: 1772445297924 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py313h3dea7bd_1.conda @@ -7376,6 +7723,7 @@ packages: license_family: BSD purls: - pkg:pypi/markupsafe?source=hash-mapping + run_exports: {} size: 26100 timestamp: 1772445154165 - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py312h6a12a82_2.conda @@ -7390,6 +7738,7 @@ packages: license: PSF-2.0 license_family: PSF purls: [] + run_exports: {} size: 14938 timestamp: 1785211151683 - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py312h4c94fcb_2.conda @@ -7421,6 +7770,7 @@ packages: license_family: PSF purls: - pkg:pypi/matplotlib?source=hash-mapping + run_exports: {} size: 8931979 timestamp: 1785211134185 - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-ha2cb11d_1.conda @@ -7434,6 +7784,9 @@ packages: license: LGPL-3.0-or-later license_family: LGPL purls: [] + run_exports: + weak: + - mpc >=1.4.0,<2.0a0 size: 101074 timestamp: 1787668090174 - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-ha2cb11d_1.conda @@ -7446,41 +7799,44 @@ packages: license: LGPL-3.0-only license_family: LGPL purls: [] + run_exports: + weak: + - mpfr >=4.2.2,<5.0a0 size: 730409 timestamp: 1787236218159 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py311h4c6fd42_1.conda - sha256: 95f496a46ab384a7c9e5c7aa615ae63a7cca6e9224add1d86f7772f6e37de503 - md5: c7d791ef09667c761a3e3cd716d4ccec +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py311h4c6fd42_2.conda + sha256: 68bf1fecf02957529d7f526cf183f245a2ab0f10c35a411a9e0c410827c01d22 + md5: 980466a8d71ee28ab17b2ec628111746 depends: - python + - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - python_abi 3.11.* *_cp311 license: Apache-2.0 - license_family: APACHE purls: - pkg:pypi/msgpack?source=compressed-mapping - size: 114060 - timestamp: 1788170256574 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_1.conda - sha256: 79266ea6c816d490d6b9f19beb14a683520d8f70df7113a5c18293c20c53fdbf - md5: 371a80205eebd8c13fcb0218c96a2d9c + run_exports: {} + size: 114157 + timestamp: 1788525098501 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py312h9be0db6_2.conda + sha256: 147ba1c9ebaeba03c95c1ac018523978c8a07387e2413799b09b69017e976b58 + md5: e9600e8080bf57f25ad2e9f78564c895 depends: - python + - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - license_family: APACHE purls: - pkg:pypi/msgpack?source=compressed-mapping - size: 114260 - timestamp: 1788170252387 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_1.conda - sha256: 8e05c6e9fd8d35896f109d1605a0335a1bd48580d0fe9d2e1a6c51ab8b9df6ed - md5: 24a1a51e4af587338f42ecc74c9c9e85 + run_exports: {} + size: 114404 + timestamp: 1788525103553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.2-py313h2551ef2_2.conda + sha256: 902cc244b567552538ca7817673f302c8000b75cb72a46c62f70ad4c05c32462 + md5: 10eabac2cb17d77ce66a2d46890127bf depends: - python - __glibc >=2.17,<3.0.a0 @@ -7488,11 +7844,11 @@ packages: - libgcc >=15 - python_abi 3.13.* *_cp313 license: Apache-2.0 - license_family: APACHE purls: - pkg:pypi/msgpack?source=compressed-mapping - size: 114797 - timestamp: 1788170265724 + run_exports: {} + size: 114896 + timestamp: 1788525095321 - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3 md5: ee6c0cd80a60961a1f48aa3e0b91f986 @@ -7501,6 +7857,9 @@ packages: - libgcc >=14 license: X11 AND BSD-3-Clause purls: [] + run_exports: + weak: + - ncurses >=6.6,<7.0a0 size: 911196 timestamp: 1786355078102 - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py311h1ddb823_0.conda @@ -7516,6 +7875,7 @@ packages: license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping + run_exports: {} size: 248599 timestamp: 1763658064983 - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda @@ -7531,6 +7891,7 @@ packages: license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping + run_exports: {} size: 244317 timestamp: 1763658130853 - conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313h7033f15_0.conda @@ -7546,22 +7907,9 @@ packages: license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping + run_exports: {} size: 245194 timestamp: 1763658106189 -- conda: https://conda.anaconda.org/conda-forge/linux-64/netifaces-0.11.0-py312h4c3975b_4.conda - sha256: ba5386f028f84690600fa0f57bd08b21944b2ff363b452bdd1308c767634519e - md5: addb4654fc5c3272c3f0c181f90f9479 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/netifaces?source=hash-mapping - size: 20459 - timestamp: 1756921222628 - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda sha256: 8f8b554c74b032b3e63a8828fb0ecc7ae4f5c5a6bd0afcf75423d5ff79290cb0 md5: fe93be7dd9209e6ae673962e3031ff51 @@ -7570,6 +7918,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 136372 timestamp: 1785920438981 - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py311hdfc3925_1.conda @@ -7596,6 +7945,7 @@ packages: license_family: BSD purls: - pkg:pypi/numba?source=hash-mapping + run_exports: {} size: 6286682 timestamp: 1787145506914 - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py312h80505a6_1.conda @@ -7622,6 +7972,7 @@ packages: license_family: BSD purls: - pkg:pypi/numba?source=hash-mapping + run_exports: {} size: 6107213 timestamp: 1787145521097 - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.67.0-py313h901f96d_1.conda @@ -7648,6 +7999,7 @@ packages: license_family: BSD purls: - pkg:pypi/numba?source=hash-mapping + run_exports: {} size: 6154097 timestamp: 1787145510322 - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py311hed34c8f_0.conda @@ -7668,6 +8020,7 @@ packages: license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping + run_exports: {} size: 814188 timestamp: 1764782553524 - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda @@ -7688,6 +8041,7 @@ packages: license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping + run_exports: {} size: 813229 timestamp: 1764782491676 - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda @@ -7708,6 +8062,7 @@ packages: license_family: MIT purls: - pkg:pypi/numcodecs?source=hash-mapping + run_exports: {} size: 808201 timestamp: 1764782369322 - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py311h3143de2_100.conda @@ -7726,6 +8081,7 @@ packages: license_family: MIT purls: - pkg:pypi/numexpr?source=hash-mapping + run_exports: {} size: 223697 timestamp: 1784389084696 - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h88efc94_100.conda @@ -7744,6 +8100,7 @@ packages: license_family: MIT purls: - pkg:pypi/numexpr?source=hash-mapping + run_exports: {} size: 219263 timestamp: 1784389078145 - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h24ae7f9_100.conda @@ -7762,6 +8119,7 @@ packages: license_family: MIT purls: - pkg:pypi/numexpr?source=hash-mapping + run_exports: {} size: 219767 timestamp: 1784389091235 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py311h2e04523_0.conda @@ -7782,6 +8140,9 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping + run_exports: + weak: + - numpy >=1.23,<3 size: 9389525 timestamp: 1779169198155 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py312he827f4e_1.conda @@ -7802,6 +8163,9 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=compressed-mapping + run_exports: + weak: + - numpy >=1.25,<3 size: 9212503 timestamp: 1788129260074 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py313hb5f73ae_1.conda @@ -7822,6 +8186,9 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=compressed-mapping + run_exports: + weak: + - numpy >=1.25,<3 size: 9307804 timestamp: 1788129283036 - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py311h823f2b2_0.conda @@ -7839,6 +8206,7 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping + run_exports: {} size: 4103217 timestamp: 1787407926900 - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py312h9f92c4b_0.conda @@ -7856,6 +8224,7 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping + run_exports: {} size: 4111013 timestamp: 1787407933877 - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_0.conda @@ -7872,6 +8241,7 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping + run_exports: {} size: 4108320 timestamp: 1787407934363 - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda @@ -7885,7 +8255,11 @@ packages: - libzlib >=1.3.2,<2.0a0 - libpng >=1.6.58,<1.7.0a0 license: BSD-2-Clause + license_family: BSD purls: [] + run_exports: + weak: + - openjpeg >=2.5.4,<3.0a0 size: 391242 timestamp: 1788425045145 - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.27.4-h8d634f6_0.conda @@ -7899,6 +8273,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - openjph >=0.27.4,<0.28.0a0 size: 283312 timestamp: 1780596792557 - conda: https://conda.anaconda.org/conda-forge/linux-64/openjph-0.31.0-h8d634f6_0.conda @@ -7912,6 +8289,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - openjph >=0.31.0,<0.32.0a0 size: 295193 timestamp: 1785149856790 - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda @@ -7927,50 +8307,56 @@ packages: license: OLDAP-2.8 license_family: BSD purls: [] + run_exports: + weak: + - openldap >=2.6.13,<2.7.0a0 size: 786149 timestamp: 1775741359582 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py311h534898f_3.conda - sha256: b75767663c5949b091ca62b7b53a200c8c51efa5b7b3074b211abf0597d6d0c7 - md5: f384692c49060ee050898dcb2ed3338e +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py311he9e6514_4.conda + sha256: a0ec36c79ea9cfca5d9387f75a803c4de2b600c36eaff6d66210a6bfe61d2194 + md5: fd572c86665be89972ef3eb17c2b7d0e depends: - et_xmlfile - - libgcc >=14 + - libgcc >=15 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: MIT license_family: MIT purls: - pkg:pypi/openpyxl?source=hash-mapping - size: 490149 - timestamp: 1769122078665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - sha256: 04839d313708a6b8c185bc9fcc56ccef985ed91520420c665b5e67b55fd8b5fb - md5: 04ab345ef65b88bcbb8ac3d083427bfc + run_exports: {} + size: 492385 + timestamp: 1788523146852 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312hafd94c1_4.conda + sha256: cad77ae1a11ef927a6a3a2439f554dccc6516ce2832c8d6651697abcb670ac7c + md5: 38e5cf50b83b415360ac09c4423bd86c depends: - et_xmlfile - - libgcc >=14 + - libgcc >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - - pkg:pypi/openpyxl?source=hash-mapping - size: 476128 - timestamp: 1769122092500 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313ha4be090_3.conda - sha256: ee3e071cbc0be5600747631b41da17349be6fd25c982c9a9644cda3953bbf8b5 - md5: 993d27015ca7aa1de3f4a471a9b5309e + - pkg:pypi/openpyxl?source=compressed-mapping + run_exports: {} + size: 478098 + timestamp: 1788523142686 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py313heaa19e1_4.conda + sha256: aff9ddf67505a3af2fc470014cefd15150258656b5f7e4aec00fdaf9dd51655a + md5: 2222503974e92cb807845edebb96e051 depends: - et_xmlfile - - libgcc >=14 + - libgcc >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: MIT license_family: MIT purls: - pkg:pypi/openpyxl?source=hash-mapping - size: 484606 - timestamp: 1769122088626 + run_exports: {} + size: 488895 + timestamp: 1788523149743 - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.4-h781a0a9_0.conda sha256: 4747b2d6a8336f52343bceb8a1ebf41a9e6e665b9d2e3f989972de53a310599e md5: 16e3034a330cc625f2c685edec60cf4e @@ -7981,6 +8367,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - openssl >=3.6.4,<4.0a0 size: 3202955 timestamp: 1787698780103 - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.1-h443056b_0.conda @@ -8001,6 +8390,9 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: + weak: + - orc >=2.3.1,<2.3.2.0a0 size: 1458252 timestamp: 1784301236872 - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py311h6b0c994_0.conda @@ -8017,6 +8409,7 @@ packages: license_family: APACHE purls: - pkg:pypi/orjson?source=hash-mapping + run_exports: {} size: 298777 timestamp: 1786838629324 - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py312he35bb96_0.conda @@ -8033,6 +8426,7 @@ packages: license_family: APACHE purls: - pkg:pypi/orjson?source=hash-mapping + run_exports: {} size: 298557 timestamp: 1786838624699 - conda: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.12.0-py313hc6c575f_0.conda @@ -8049,6 +8443,7 @@ packages: license_family: APACHE purls: - pkg:pypi/orjson?source=hash-mapping + run_exports: {} size: 298256 timestamp: 1786838625986 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py311h8032f78_1.conda @@ -8106,6 +8501,7 @@ packages: license_family: BSD purls: - pkg:pypi/pandas?source=hash-mapping + run_exports: {} size: 15238790 timestamp: 1785276229113 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py312h8ecdadd_1.conda @@ -8163,6 +8559,7 @@ packages: license_family: BSD purls: - pkg:pypi/pandas?source=hash-mapping + run_exports: {} size: 14936796 timestamp: 1785276227779 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py313hbfd7664_1.conda @@ -8220,6 +8617,7 @@ packages: license_family: BSD purls: - pkg:pypi/pandas?source=hash-mapping + run_exports: {} size: 15049335 timestamp: 1785276231848 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda @@ -8233,19 +8631,11 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - pcre2 >=10.47,<10.48.0a0 size: 1218833 timestamp: 1787294571916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda - build_number: 7 - sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9 - md5: f2cfec9406850991f4e3d960cc9e3321 - depends: - - libgcc-ng >=12 - - libxcrypt >=4.4.36 - license: GPL-1.0-or-later OR Artistic-1.0-Perl - purls: [] - size: 13344463 - timestamp: 1703310653947 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py311hf303fd3_1.conda sha256: fe45a4c89b79872c786ef0938645c9400b30dafacaebc6b9f6a34baffcbd5882 md5: 8559c6ba0b36c42e5271debae17a8bf8 @@ -8267,6 +8657,7 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=compressed-mapping + run_exports: {} size: 1077454 timestamp: 1788263909512 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_1.conda @@ -8290,6 +8681,7 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=compressed-mapping + run_exports: {} size: 1059991 timestamp: 1788263909512 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_1.conda @@ -8313,6 +8705,7 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=hash-mapping + run_exports: {} size: 1072805 timestamp: 1788263909512 - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda @@ -8325,6 +8718,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - pixman >=0.46.4,<1.0a0 size: 376704 timestamp: 1786106621354 - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda @@ -8340,6 +8736,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - prometheus-cpp >=1.3.0,<1.4.0a0 size: 199544 timestamp: 1730769112346 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py311h194be0f_2.conda @@ -8354,6 +8753,7 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=compressed-mapping + run_exports: {} size: 231731 timestamp: 1788189992233 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -8368,6 +8768,7 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping + run_exports: {} size: 225441 timestamp: 1788189998857 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py313hd42f317_2.conda @@ -8382,6 +8783,7 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=compressed-mapping + run_exports: {} size: 228664 timestamp: 1788189989243 - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda @@ -8393,6 +8795,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 9630 timestamp: 1788381877753 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py311h38be061_0.conda @@ -8409,6 +8812,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: {} size: 26056 timestamp: 1784258321643 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py312h7900ff3_0.conda @@ -8425,6 +8829,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: {} size: 26079 timestamp: 1784258397971 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-25.0.0-py313h78bf25f_0.conda @@ -8441,6 +8846,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: {} size: 26039 timestamp: 1784258353242 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py311h66caee6_0_cpu.conda @@ -8462,6 +8868,7 @@ packages: license_family: APACHE purls: - pkg:pypi/pyarrow?source=hash-mapping + run_exports: {} size: 5481877 timestamp: 1784258310247 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py312h2054cf2_0_cpu.conda @@ -8483,6 +8890,7 @@ packages: license_family: APACHE purls: - pkg:pypi/pyarrow?source=hash-mapping + run_exports: {} size: 5395858 timestamp: 1784258391353 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py313h98bfbea_0_cpu.conda @@ -8504,6 +8912,7 @@ packages: license_family: APACHE purls: - pkg:pypi/pyarrow?source=hash-mapping + run_exports: {} size: 5442780 timestamp: 1784258403853 - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py311hc8f4f90_2.conda @@ -8519,6 +8928,7 @@ packages: license_family: BSD purls: - pkg:pypi/pycryptodome?source=hash-mapping + run_exports: {} size: 1689050 timestamp: 1768755541905 - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py312hf189cdb_2.conda @@ -8534,6 +8944,7 @@ packages: license_family: BSD purls: - pkg:pypi/pycryptodome?source=hash-mapping + run_exports: {} size: 1668120 timestamp: 1768755548305 - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py313h6123c0d_2.conda @@ -8549,6 +8960,7 @@ packages: license_family: BSD purls: - pkg:pypi/pycryptodome?source=hash-mapping + run_exports: {} size: 1681620 timestamp: 1768755547718 - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py311ha6e1976_1.conda @@ -8566,6 +8978,7 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic-core?source=hash-mapping + run_exports: {} size: 1858432 timestamp: 1787928981213 - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py312hc767a74_1.conda @@ -8583,6 +8996,7 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic-core?source=hash-mapping + run_exports: {} size: 1877711 timestamp: 1787928982283 - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py313ha296275_1.conda @@ -8600,24 +9014,9 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic-core?source=hash-mapping + run_exports: {} size: 1877111 timestamp: 1787928978287 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyepics-3.5.10-py312h7900ff3_0.conda - sha256: 27c91ecba417abe76002c5f4af30749e837102021ed08d189d9ab334dda36ad5 - md5: 24551e4c04a54d0c1fd896b9e6af2b37 - depends: - - epics-base - - importlib_resources - - numpy >=1.26 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools - license: EPICS - purls: - - pkg:pypi/pyepics?source=hash-mapping - size: 4257152 - timestamp: 1779312690715 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py311hbcd594d_0.conda sha256: 1e63e38358ca25463c515f8a64364ba5cdf5c8d22c85a92bb0f3eb9187c443bc md5: 779a990f23f2cdbb832a398ebbc66d47 @@ -8642,6 +9041,7 @@ packages: purls: - pkg:pypi/pyside6?source=hash-mapping - pkg:pypi/shiboken6?source=hash-mapping + run_exports: {} size: 13952652 timestamp: 1787219436409 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf143aa3_0.conda @@ -8668,6 +9068,7 @@ packages: purls: - pkg:pypi/pyside6?source=hash-mapping - pkg:pypi/shiboken6?source=hash-mapping + run_exports: {} size: 13943954 timestamp: 1787219437874 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hec6a3d9_0.conda @@ -8693,6 +9094,7 @@ packages: license_family: LGPL purls: - pkg:pypi/pyside6?source=compressed-mapping + run_exports: {} size: 13946979 timestamp: 1787219441414 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.16-h5f976f7_2_cpython.conda @@ -8722,6 +9124,11 @@ packages: - python_abi 3.11.* *_cp311 license: Python-2.0 purls: [] + run_exports: + weak: + - python_abi 3.11.* *_cp311 + noarch: + - python size: 23172280 timestamp: 1788393513780 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.14-h5f976f7_3_cpython.conda @@ -8751,6 +9158,11 @@ packages: - python_abi 3.12.* *_cp312 license: Python-2.0 purls: [] + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python size: 23044161 timestamp: 1788392496306 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.15-hf47f18c_103_cp313.conda @@ -8778,6 +9190,11 @@ packages: - tzdata license: Python-2.0 purls: [] + run_exports: + weak: + - python_abi 3.13.* *_cp313 + noarch: + - python size: 24369771 timestamp: 1788387840141 python_site_packages_path: lib/python3.13/site-packages @@ -8802,6 +9219,7 @@ packages: license_family: BSD purls: - pkg:pypi/blosc2?source=hash-mapping + run_exports: {} size: 1168454 timestamp: 1772626273688 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py312h9344012_0.conda @@ -8829,6 +9247,7 @@ packages: license_family: BSD purls: - pkg:pypi/blosc2?source=hash-mapping + run_exports: {} size: 2727780 timestamp: 1788311955349 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py313h2139695_0.conda @@ -8856,6 +9275,7 @@ packages: license_family: BSD purls: - pkg:pypi/blosc2?source=hash-mapping + run_exports: {} size: 2772850 timestamp: 1788311928745 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py311h1ddb823_0.conda @@ -8871,6 +9291,7 @@ packages: license_family: MIT purls: - pkg:pypi/duckdb?source=hash-mapping + run_exports: {} size: 24516874 timestamp: 1752087335865 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py312h1289d80_0.conda @@ -8886,6 +9307,7 @@ packages: license_family: MIT purls: - pkg:pypi/duckdb?source=hash-mapping + run_exports: {} size: 24487971 timestamp: 1752087127423 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py313h7033f15_0.conda @@ -8901,6 +9323,7 @@ packages: license_family: MIT purls: - pkg:pypi/duckdb?source=hash-mapping + run_exports: {} size: 24452451 timestamp: 1752086879946 - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_2.conda @@ -8917,6 +9340,7 @@ packages: license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping + run_exports: {} size: 3696784 timestamp: 1762595030802 - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py312h4f23490_2.conda @@ -8933,6 +9357,7 @@ packages: license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping + run_exports: {} size: 3676871 timestamp: 1762595062404 - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py313h29aa505_2.conda @@ -8949,6 +9374,7 @@ packages: license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping + run_exports: {} size: 3683002 timestamp: 1762595027819 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py311h3778330_1.conda @@ -8964,6 +9390,7 @@ packages: license_family: MIT purls: - pkg:pypi/pyyaml?source=hash-mapping + run_exports: {} size: 206190 timestamp: 1770223702917 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda @@ -8979,6 +9406,7 @@ packages: license_family: MIT purls: - pkg:pypi/pyyaml?source=hash-mapping + run_exports: {} size: 198293 timestamp: 1770223620706 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py313h3dea7bd_1.conda @@ -8994,26 +9422,9 @@ packages: license_family: MIT purls: - pkg:pypi/pyyaml?source=hash-mapping + run_exports: {} size: 201616 timestamp: 1770223543730 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_0.conda - noarch: python - sha256: 9e8b94a2c9b4479cac80def117178a1658b089b9e5d4ee64408d2e4ff89fdaba - md5: ceffbc006d87e8f81e750cebd63fd8c4 - depends: - - python - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyzmq?source=compressed-mapping - size: 214050 - timestamp: 1787300896477 - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc md5: 353823361b1d27eb3960efb076dfcaf6 @@ -9023,6 +9434,9 @@ packages: - libstdcxx-ng >=12 license: LicenseRef-Qhull purls: [] + run_exports: + weak: + - qhull >=2020.2,<2020.3.0a0 size: 552937 timestamp: 1720813982144 - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.conda @@ -9096,6 +9510,9 @@ packages: license: LGPL-3.0-only license_family: LGPL purls: [] + run_exports: + weak: + - qt6-main >=6.11.2,<7.0a0 size: 60888449 timestamp: 1787048975419 - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.8.1-h1fbca29_0.conda @@ -9109,6 +9526,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - rav1e >=0.8.1,<0.9.0a0 size: 5595970 timestamp: 1772540833621 - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h94463f1_2.conda @@ -9119,6 +9539,10 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 size: 27397 timestamp: 1781312576962 - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda @@ -9131,6 +9555,9 @@ packages: license: GPL-3.0-only license_family: GPL purls: [] + run_exports: + weak: + - readline >=8.3,<9.0a0 size: 348899 timestamp: 1787033801506 - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py311ha6e1976_1.conda @@ -9147,6 +9574,7 @@ packages: license_family: MIT purls: - pkg:pypi/rpds-py?source=compressed-mapping + run_exports: {} size: 299706 timestamp: 1788228383642 - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_1.conda @@ -9163,6 +9591,7 @@ packages: license_family: MIT purls: - pkg:pypi/rpds-py?source=compressed-mapping + run_exports: {} size: 300752 timestamp: 1788228344574 - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py313ha296275_1.conda @@ -9179,12 +9608,13 @@ packages: license_family: MIT purls: - pkg:pypi/rpds-py?source=compressed-mapping + run_exports: {} size: 300007 timestamp: 1788228320942 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.6-hbcb56a7_0.conda noarch: python - sha256: 6e056514a68826e940616a26fb0351d3d15d89ba47f6c2cbeb1cadd0fe60277a - md5: 7ddc6f2699c79c53286b478a6b4c9e92 + sha256: fc9e190a1cd67a8ff56b18dd7bd54e861cc68d60f85d9479a12fe95095fc5735 + md5: f5fd5d7420ce4f559441fae583f4c07d depends: - python - __glibc >=2.17,<3.0.a0 @@ -9192,11 +9622,11 @@ packages: constrains: - __glibc >=2.17 license: MIT - license_family: MIT purls: - pkg:pypi/ruff?source=compressed-mapping - size: 8955205 - timestamp: 1787865273472 + run_exports: {} + size: 8983605 + timestamp: 1788474545889 - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda sha256: 7369ac21f3561e2203f5b1600ef0671270057380783ca4b9e15f679ba25db575 md5: fa1c00d999e83ec20173c9775f71a1f1 @@ -9207,6 +9637,9 @@ packages: license: Apache-2.0 license_family: Apache purls: [] + run_exports: + weak: + - s2n >=1.7.5,<1.7.6.0a0 size: 392607 timestamp: 1783164766248 - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py311h2a99c40_0.conda @@ -9239,6 +9672,7 @@ packages: license_family: BSD purls: - pkg:pypi/scikit-image?source=hash-mapping + run_exports: {} size: 18570960 timestamp: 1766684380253 - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py312h4ae17e4_0.conda @@ -9271,6 +9705,7 @@ packages: license_family: BSD purls: - pkg:pypi/scikit-image?source=hash-mapping + run_exports: {} size: 18546003 timestamp: 1766684359934 - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.26.0-np2py313hb172dc5_0.conda @@ -9303,6 +9738,7 @@ packages: license_family: BSD purls: - pkg:pypi/scikit-image?source=hash-mapping + run_exports: {} size: 18597670 timestamp: 1766684360037 - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py311hbe70eeb_1.conda @@ -9326,6 +9762,7 @@ packages: license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping + run_exports: {} size: 17303931 timestamp: 1779874783665 - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda @@ -9349,6 +9786,7 @@ packages: license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping + run_exports: {} size: 17104066 timestamp: 1781912972195 - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py313h4b8bb8b_0.conda @@ -9372,6 +9810,7 @@ packages: license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping + run_exports: {} size: 17171066 timestamp: 1781912954186 - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda @@ -9385,6 +9824,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - snappy >=1.2.2,<1.3.0a0 size: 45829 timestamp: 1762948049098 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py311haee01d2_0.conda @@ -9401,6 +9843,7 @@ packages: license_family: MIT purls: - pkg:pypi/sqlalchemy?source=compressed-mapping + run_exports: {} size: 3779949 timestamp: 1786535232010 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py312h5253ce2_0.conda @@ -9417,6 +9860,7 @@ packages: license_family: MIT purls: - pkg:pypi/sqlalchemy?source=compressed-mapping + run_exports: {} size: 3721699 timestamp: 1786535232010 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.52-py313h54dd161_0.conda @@ -9433,6 +9877,7 @@ packages: license_family: MIT purls: - pkg:pypi/sqlalchemy?source=compressed-mapping + run_exports: {} size: 3863012 timestamp: 1786535232010 - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hd2095e1_1.conda @@ -9445,6 +9890,9 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] + run_exports: + weak: + - svt-av1 >=4.2.0,<4.2.1.0a0 size: 2750545 timestamp: 1787256261632 - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda @@ -9459,50 +9907,56 @@ packages: - xorg-libx11 >=1.8.13,<2.0a0 license: TCL purls: [] + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 size: 3566806 timestamp: 1787272857910 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py311h49ec1c0_0.conda - sha256: a260711fdd7194da2e4b7aa77cdda0e64819871944bcd82551d1fa1f09a634da - md5: f79605c2386ea2a4dcbbfccc07a9d440 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py311h0d48ccd_1.conda + sha256: ce19e701b3b816e15b0c0b702b183475c5d74696a58b0c4c939371839756e157 + md5: e640f943c61fa326a345d44125caf612 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 - 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: 887330 - timestamp: 1786226772298 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h4c3975b_0.conda - sha256: 2ea8f8b10e869b675d2fba157b387eaf4eed1696bfc924bb7b28e67d7aa0a947 - md5: 5423c2b8f82d60320e65b9ff30babbdf + - pkg:pypi/tornado?source=compressed-mapping + run_exports: {} + size: 889139 + timestamp: 1788524845719 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_1.conda + sha256: 3480bf39c540d3dfa737ce5df1e14c74fef161ccb2a19485cb211a654921fa68 + md5: e15caa7ad9be633c3cba5a7937b117b7 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/tornado?source=compressed-mapping - size: 869730 - timestamp: 1786226754702 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h07c4f96_0.conda - sha256: c78036a36559cc76b11a9ccb8f64c1293f78d7f2ef0570f486cce26eb58096b6 - md5: 0c8fd5b50c36b6da9b5c57189f65a869 + run_exports: {} + size: 868900 + timestamp: 1788524841516 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h995f894_1.conda + sha256: 0816baa2de2bae5bcb590ef8b649577b2eb9e823525632dc66d24a4918a73798 + md5: 4d57957c3ef7171f5c4f654c1e8fb0ac depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/tornado?source=hash-mapping - size: 891364 - timestamp: 1786226759492 + run_exports: {} + size: 892774 + timestamp: 1788524837756 - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda noarch: python sha256: cb674ec728a1fd03d8d795e1b53120bd9de7b2eded79cfb79e1ccc02a1b52a44 @@ -9519,6 +9973,7 @@ packages: license_family: MIT purls: - pkg:pypi/ty?source=hash-mapping + run_exports: {} size: 10791274 timestamp: 1786090474810 - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py311hdf67eae_0.conda @@ -9535,6 +9990,7 @@ packages: license_family: MIT purls: - pkg:pypi/ukkonen?source=hash-mapping + run_exports: {} size: 14898 timestamp: 1769438724694 - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda @@ -9551,6 +10007,7 @@ packages: license_family: MIT purls: - pkg:pypi/ukkonen?source=hash-mapping + run_exports: {} size: 14882 timestamp: 1769438717830 - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py313h7037e92_0.conda @@ -9567,6 +10024,7 @@ packages: license_family: MIT purls: - pkg:pypi/ukkonen?source=hash-mapping + run_exports: {} size: 14910 timestamp: 1769438729201 - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda @@ -9581,6 +10039,7 @@ packages: license_family: Apache purls: - pkg:pypi/unicodedata2?source=hash-mapping + run_exports: {} size: 410641 timestamp: 1770909099497 - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py311h49ec1c0_1.conda @@ -9595,6 +10054,7 @@ packages: license: MIT OR Apache-2.0 purls: - pkg:pypi/uvloop?source=hash-mapping + run_exports: {} size: 582925 timestamp: 1762472823020 - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py312h4c3975b_1.conda @@ -9609,6 +10069,7 @@ packages: license: MIT OR Apache-2.0 purls: - pkg:pypi/uvloop?source=hash-mapping + run_exports: {} size: 596425 timestamp: 1762472840090 - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py313h07c4f96_1.conda @@ -9623,6 +10084,7 @@ packages: license: MIT OR Apache-2.0 purls: - pkg:pypi/uvloop?source=hash-mapping + run_exports: {} size: 590601 timestamp: 1762472969139 - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py311h1baac5b_1.conda @@ -9640,6 +10102,7 @@ packages: license_family: MIT purls: - pkg:pypi/watchfiles?source=hash-mapping + run_exports: {} size: 392721 timestamp: 1781180264517 - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py312h192e038_1.conda @@ -9657,6 +10120,7 @@ packages: license_family: MIT purls: - pkg:pypi/watchfiles?source=hash-mapping + run_exports: {} size: 391668 timestamp: 1781180272885 - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-1.2.0-py313hafbe609_1.conda @@ -9674,6 +10138,7 @@ packages: license_family: MIT purls: - pkg:pypi/watchfiles?source=hash-mapping + run_exports: {} size: 391814 timestamp: 1781180265966 - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda @@ -9688,6 +10153,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - wayland >=1.26.0,<2.0a0 size: 340058 timestamp: 1787793849093 - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py311h4b93e55_0.conda @@ -9702,6 +10170,7 @@ packages: license_family: BSD purls: - pkg:pypi/websockets?source=hash-mapping + run_exports: {} size: 406035 timestamp: 1787781232175 - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda @@ -9716,6 +10185,7 @@ packages: license_family: BSD purls: - pkg:pypi/websockets?source=hash-mapping + run_exports: {} size: 411350 timestamp: 1787781230861 - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_0.conda @@ -9730,50 +10200,51 @@ packages: license_family: BSD purls: - pkg:pypi/websockets?source=compressed-mapping + run_exports: {} size: 420889 timestamp: 1787781227315 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py311h194be0f_0.conda - sha256: 60cd23c1ccac9155689e4034408d799aaa3b66519d791f4b312beacdd930c207 - md5: f9947172f2d0aeb75e1031c762472b23 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py311h194be0f_1.conda + sha256: ad949ef201ce2ebd5cbe628422099f20c4de9baa586e2194140842403861105c + md5: bc875bfae9c544e38794576c2678be3f depends: - python - - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - python_abi 3.11.* *_cp311 license: BSD-2-Clause - license_family: BSD purls: - pkg:pypi/wrapt?source=compressed-mapping - size: 145081 - timestamp: 1788174909428 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_0.conda - sha256: 53e09feeab7ebd1271d36f2adedc8af3513329b5ab86e7b26316f1ca29a9df47 - md5: ec38f58c4e14a55ac1be0ace3483aff0 + run_exports: {} + size: 145198 + timestamp: 1788525307852 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py312h1b36aeb_1.conda + sha256: 30be4c86ae1e0ac0d4a0ce71f3a28f0beac3422a33c668b56131dc24d6eb42b7 + md5: 298135d24aec3992c26293e903f29a62 depends: - python - __glibc >=2.17,<3.0.a0 - libgcc >=15 - python_abi 3.12.* *_cp312 license: BSD-2-Clause - license_family: BSD purls: - - pkg:pypi/wrapt?source=compressed-mapping - size: 141669 - timestamp: 1788174911031 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_0.conda - sha256: 7a5a9b1f33f429cd6db79c1046a31f4312545ee1c8170024a0986fe55060fff1 - md5: d9086d2cb7ddde5aa0042b037f3fbda9 + - pkg:pypi/wrapt?source=hash-mapping + run_exports: {} + size: 141803 + timestamp: 1788525307326 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py313hd42f317_1.conda + sha256: 6414c3b52fab8772150fc41cdfb50750a88dab73f9fac0c243911b3a0aa63099 + md5: 9f46447ba20bee6fe50854ba58092fff depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - python_abi 3.13.* *_cp313 license: BSD-2-Clause - license_family: BSD purls: - - pkg:pypi/wrapt?source=compressed-mapping - size: 144411 - timestamp: 1788174910718 + - pkg:pypi/wrapt?source=hash-mapping + run_exports: {} + size: 144516 + timestamp: 1788525310624 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d md5: fdc27cb255a7a2cc73b7919a968b48f0 @@ -9784,6 +10255,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util >=0.4.1,<0.5.0a0 size: 20772 timestamp: 1750436796633 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda @@ -9799,6 +10273,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util-cursor >=0.1.6,<0.2.0a0 size: 20829 timestamp: 1763366954390 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -9811,6 +10288,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util-image >=0.4.0,<0.5.0a0 size: 24551 timestamp: 1718880534789 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda @@ -9822,6 +10302,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util-keysyms >=0.4.1,<0.5.0a0 size: 14314 timestamp: 1718846569232 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda @@ -9833,6 +10316,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util-renderutil >=0.3.10,<0.4.0a0 size: 16978 timestamp: 1718848865819 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda @@ -9844,6 +10330,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xcb-util-wm >=0.4.2,<0.5.0a0 size: 51689 timestamp: 1718844051451 - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda @@ -9856,6 +10345,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 441670 timestamp: 1782027360439 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda @@ -9867,6 +10357,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libice >=1.1.2,<2.0a0 size: 62517 timestamp: 1786474410404 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda @@ -9880,6 +10373,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libsm >=1.2.6,<2.0a0 size: 30739 timestamp: 1786545374265 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.conda @@ -9892,6 +10388,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libx11 >=1.8.13,<2.0a0 size: 839578 timestamp: 1787087012372 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_2.conda @@ -9903,6 +10402,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 size: 16419 timestamp: 1786381001122 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda @@ -9916,6 +10418,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxcomposite >=0.4.7,<1.0a0 size: 14415 timestamp: 1770044404696 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda @@ -9930,6 +10435,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxcursor >=1.2.3,<2.0a0 size: 32533 timestamp: 1730908305254 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -9944,6 +10452,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxdamage >=1.1.6,<2.0a0 size: 13217 timestamp: 1727891438799 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_2.conda @@ -9955,6 +10466,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxdmcp >=1.1.5,<2.0a0 size: 21120 timestamp: 1786381006369 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-h7cc23a3_1.conda @@ -9967,6 +10481,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxext >=1.3.7,<2.0a0 size: 53124 timestamp: 1787100841900 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-h7cc23a3_1.conda @@ -9979,6 +10496,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxfixes >=6.0.2,<7.0a0 size: 21440 timestamp: 1787248059682 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-h7cc23a3_1.conda @@ -9993,6 +10513,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxi >=1.8.3,<2.0a0 size: 49165 timestamp: 1787257060460 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-h7cc23a3_1.conda @@ -10007,6 +10530,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxrandr >=1.5.5,<2.0a0 size: 31106 timestamp: 1787246614086 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda @@ -10019,6 +10545,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxrender >=0.9.12,<0.10.0a0 size: 34645 timestamp: 1787100191192 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda @@ -10033,6 +10562,9 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxtst >=1.2.5,<2.0a0 size: 35052 timestamp: 1787360025506 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda @@ -10046,19 +10578,11 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - xorg-libxxf86vm >=1.1.7,<2.0a0 size: 18701 timestamp: 1769434732453 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-h280c20c_1.conda - sha256: 051c6088bf2381840fcf8764737b829cc6c5f793718d2417d097d6e3b153eba9 - md5: 3b51576511038b50fdbd05245e22e4b1 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - size: 594844 - timestamp: 1786114408394 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_2.conda sha256: 28be920cbb36bb674f66a23f368b67733dbbb89b2321e5ed7266d9b415156795 md5: 7386d38083163c5b5c4a92a1582daaef @@ -10066,7 +10590,9 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=15 license: MIT + license_family: MIT purls: [] + run_exports: {} size: 594980 timestamp: 1788447117643 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda @@ -10078,22 +10604,11 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: + weak: + - yaml >=0.2.5,<0.3.0a0 size: 84936 timestamp: 1787228426393 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda - sha256: dc9f28dedcb5f35a127fad2d847674d2833369dd616d294e423b8997df31d8a8 - md5: 96b08867e21d4694fa5c2c226e6581b0 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.22,<1.0.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 311184 - timestamp: 1779123989774 - conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h909a3a2_5.conda sha256: 5fabe6cccbafc1193038862b0b0d784df3dae84bc48f12cac268479935f9c8b7 md5: 6a0eb48e58684cca4d7acc8b7a0fd3c7 @@ -10105,6 +10620,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - zfp >=1.0.1,<2.0a0 size: 277694 timestamp: 1766549572069 - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda @@ -10116,6 +10634,9 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 96132 timestamp: 1785362957588 - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hce19668_1.conda @@ -10128,6 +10649,9 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - zlib-ng >=2.3.3,<2.4.0a0 size: 123959 timestamp: 1786736890973 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311h194be0f_3.conda @@ -10145,6 +10669,7 @@ packages: license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping + run_exports: {} size: 466468 timestamp: 1787896529366 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h1b36aeb_3.conda @@ -10162,6 +10687,7 @@ packages: license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping + run_exports: {} size: 466734 timestamp: 1787896527572 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_3.conda @@ -10179,6 +10705,7 @@ packages: license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping + run_exports: {} size: 472574 timestamp: 1787896529106 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda @@ -10190,6 +10717,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 size: 601301 timestamp: 1786599621503 - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda @@ -10201,6 +10731,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 8144 timestamp: 1784221492234 - conda: https://conda.anaconda.org/conda-forge/noarch/_x86_64-microarch-level-1-5_level1.conda @@ -10212,6 +10743,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 9415 timestamp: 1787670508828 - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda @@ -10228,6 +10760,7 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-postgresql?source=hash-mapping + run_exports: {} size: 26806 timestamp: 1785224517310 - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda @@ -10244,6 +10777,7 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-sqlite?source=hash-mapping + run_exports: {} size: 25384 timestamp: 1785224536166 - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda @@ -10256,6 +10790,7 @@ packages: license_family: APACHE purls: - pkg:pypi/aiofiles?source=hash-mapping + run_exports: {} size: 24824 timestamp: 1767290524894 - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.conda @@ -10268,6 +10803,7 @@ packages: license_family: MIT purls: - pkg:pypi/aiosqlite?source=hash-mapping + run_exports: {} size: 22318 timestamp: 1767730199932 - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -10279,6 +10815,7 @@ packages: license_family: BSD purls: - pkg:pypi/alabaster?source=hash-mapping + run_exports: {} size: 18684 timestamp: 1733750512696 - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.19.1-pyhcf101f3_0.conda @@ -10295,6 +10832,7 @@ packages: license_family: MIT purls: - pkg:pypi/alembic?source=compressed-mapping + run_exports: {} size: 186094 timestamp: 1786265219360 - conda: https://conda.anaconda.org/conda-forge/noarch/algotom-1.7.0-pyhd8ed1ab_0.conda @@ -10313,6 +10851,7 @@ packages: license_family: APACHE purls: - pkg:pypi/algotom?source=hash-mapping + run_exports: {} size: 90568 timestamp: 1760648573887 - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.5-pyhcf101f3_0.conda @@ -10325,6 +10864,7 @@ packages: license_family: MIT purls: - pkg:pypi/annotated-doc?source=hash-mapping + run_exports: {} size: 16785 timestamp: 1785335690199 - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.8.0-pyhd8ed1ab_0.conda @@ -10337,6 +10877,7 @@ packages: license_family: MIT purls: - pkg:pypi/annotated-types?source=hash-mapping + run_exports: {} size: 19461 timestamp: 1784935220549 - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda @@ -10353,8 +10894,10 @@ packages: - uvloop >=0.22.1 - winloop >=0.2.3 license: MIT + license_family: MIT purls: - pkg:pypi/anyio?source=compressed-mapping + run_exports: {} size: 175295 timestamp: 1788442098937 - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda @@ -10366,6 +10909,7 @@ packages: license_family: MIT purls: - pkg:pypi/appdirs?source=hash-mapping + run_exports: {} size: 14835 timestamp: 1733754069532 - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda @@ -10378,6 +10922,7 @@ packages: license_family: APACHE purls: - pkg:pypi/argcomplete?source=hash-mapping + run_exports: {} size: 47150 timestamp: 1786180543999 - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda @@ -10393,6 +10938,7 @@ packages: license_family: MIT purls: - pkg:pypi/argon2-cffi?source=hash-mapping + run_exports: {} size: 18715 timestamp: 1749017288144 - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda @@ -10405,6 +10951,7 @@ packages: license_family: MIT purls: - pkg:pypi/asgi-correlation-id?source=hash-mapping + run_exports: {} size: 18249 timestamp: 1785264660811 - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda @@ -10418,6 +10965,7 @@ packages: license_family: Apache purls: - pkg:pypi/asttokens?source=hash-mapping + run_exports: {} size: 34639 timestamp: 1783975742052 - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda @@ -10430,6 +10978,7 @@ packages: license_family: APACHE purls: - pkg:pypi/async-timeout?source=hash-mapping + run_exports: {} size: 13559 timestamp: 1767290444597 - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda @@ -10442,6 +10991,7 @@ packages: license_family: MIT purls: - pkg:pypi/attrs?source=hash-mapping + run_exports: {} size: 64927 timestamp: 1773935801332 - conda: https://conda.anaconda.org/conda-forge/noarch/awkward-2.13.0-pyhcf101f3_0.conda @@ -10460,6 +11010,7 @@ packages: license_family: BSD purls: - pkg:pypi/awkward?source=hash-mapping + run_exports: {} size: 542200 timestamp: 1786834315930 - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda @@ -10474,6 +11025,7 @@ packages: license_family: BSD purls: - pkg:pypi/babel?source=hash-mapping + run_exports: {} size: 7684321 timestamp: 1772555330347 - conda: https://conda.anaconda.org/conda-forge/noarch/backports.asyncio.runner-1.2.0-pyh5ded981_2.conda @@ -10487,95 +11039,9 @@ packages: license: PSF-2.0 license_family: PSF purls: [] + run_exports: {} size: 10186 timestamp: 1753456386827 -- conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-base-1.15.1-pyhd8ed1ab_0.conda - sha256: a2689c53cf103f5b25d47bc8744de9d1789f99630a01657ec00a0ec62f954e77 - md5: 433607e935ea7544fb926b23b4a11613 - depends: - - cycler - - event-model >=1.14.0 - - historydict - - msgpack-numpy - - msgpack-python - - numpy - - opentelemetry-api - - python >=3.10 - - toolz - - tqdm >=4.44 - - zict - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/bluesky?source=hash-mapping - size: 287265 - timestamp: 1778080167723 -- conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-httpserver-0.0.12-pyhd8ed1ab_1.conda - sha256: d2df40657f96fdd0bb655c468818749331ed41d05d371eb16421e8863e4faff4 - md5: 68ca5598352f6a4b603164fe17ce5061 - depends: - - alembic - - bluesky-queueserver - - bluesky-queueserver-api - - fastapi - - ldap3 - - orjson - - pamela - - pydantic-settings - - python >=3.9 - - python-jose - - pyzmq - - requests - - sqlalchemy - - starlette - - uvicorn - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/bluesky-httpserver?source=hash-mapping - size: 93945 - timestamp: 1740585800021 -- conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-queueserver-0.0.25-pyhd8ed1ab_0.conda - sha256: 65866ec14dddd8e4a22102f6c0d02a94c049982af7fb46af3128a26277e3a643 - md5: 18dc38b91e082e5fa238dafa873605a8 - depends: - - bluesky-base - - hiredis - - ipykernel - - jsonschema - - jupyter_client >=7.4.2 - - jupyter_console - - msgpack-numpy - - msgpack-python >=1.0.0 - - numpydoc - - openpyxl - - ophyd - - pydantic - - python >=3.10 - - python-multipart - - pyyaml - - pyzmq - - redis-py - - requests - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/bluesky-queueserver?source=hash-mapping - size: 287392 - timestamp: 1784295616236 -- conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-queueserver-api-0.0.13-pyhd8ed1ab_0.conda - sha256: 9d5e3de0d30dcce15aefcf8c2429e90368163de6bc371f4c9085567bd9f4a999 - md5: 32e2657e6f71e98255c8d86b444d6e3b - depends: - - bluesky-queueserver - - httpx - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/bluesky-queueserver-api?source=hash-mapping - size: 81929 - timestamp: 1769286011762 - conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.9-pyhd8ed1ab_0.conda sha256: c59912702e7f28bf53ac1e85aa913675e381b091c3da3f4767221b93caec1ddb md5: ad274191d52527cd66c48c9fe3d46189 @@ -10591,6 +11057,7 @@ packages: license_family: BSD purls: - pkg:pypi/bluesky-tiled-plugins?source=hash-mapping + run_exports: {} size: 59118 timestamp: 1784707204742 - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda @@ -10613,6 +11080,7 @@ packages: license_family: BSD purls: - pkg:pypi/bokeh?source=compressed-mapping + run_exports: {} size: 4454345 timestamp: 1787144786949 - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.2-pyhd8ed1ab_0.conda @@ -10635,6 +11103,7 @@ packages: license_family: BSD purls: - pkg:pypi/bokeh?source=hash-mapping + run_exports: {} size: 4292921 timestamp: 1785249803504 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -10644,6 +11113,7 @@ packages: - __unix license: ISC purls: [] + run_exports: {} size: 131780 timestamp: 1784754889428 - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-2.0.1-pyhcf101f3_0.conda @@ -10655,6 +11125,7 @@ packages: license_family: BSD purls: - pkg:pypi/cached-property?source=compressed-mapping + run_exports: {} size: 3720 timestamp: 1787678456483 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-2.0.1-pyhcf101f3_0.conda @@ -10667,6 +11138,7 @@ packages: license_family: BSD purls: - pkg:pypi/cached-property?source=compressed-mapping + run_exports: {} size: 16597 timestamp: 1787678456483 - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-7.1.8-pyhd8ed1ab_0.conda @@ -10678,6 +11150,7 @@ packages: license_family: MIT purls: - pkg:pypi/cachetools?source=compressed-mapping + run_exports: {} size: 21776 timestamp: 1788215593744 - conda: https://conda.anaconda.org/conda-forge/noarch/canonicaljson-2.0.0-pyhd8ed1ab_0.conda @@ -10689,25 +11162,9 @@ packages: license_family: APACHE purls: - pkg:pypi/canonicaljson?source=hash-mapping + run_exports: {} size: 13344 timestamp: 1737528464034 -- conda: https://conda.anaconda.org/conda-forge/noarch/caproto-1.3.0-pyhd8ed1ab_0.conda - sha256: 076f0ab61cbfe828e17d2cf0bbd7efaf20b6546828eb2d528379504560f48919 - md5: d99697865151fe2aff7ca4284387be7d - depends: - - dpkt - - netifaces - - numpy - - python >=3.10 - constrains: - - curio >=1.2 - - trio >=0.18.0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/caproto?source=hash-mapping - size: 280352 - timestamp: 1770670039751 - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda sha256: fb167de4388e64e52aa3907ed099afab944c1fa6e5f74b281a312dae1bcf7f3b md5: 37e13edbe3b48f1095a9d085ef9cd83b @@ -10716,6 +11173,7 @@ packages: license: ISC purls: - pkg:pypi/certifi?source=hash-mapping + run_exports: {} size: 137015 timestamp: 1784717699092 - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda @@ -10727,6 +11185,7 @@ packages: license_family: MIT purls: - pkg:pypi/cfgv?source=hash-mapping + run_exports: {} size: 13589 timestamp: 1763607964133 - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.5.1-pyhd8ed1ab_0.conda @@ -10738,6 +11197,7 @@ packages: license_family: MIT purls: - pkg:pypi/charset-normalizer?source=compressed-mapping + run_exports: {} size: 64487 timestamp: 1786835648298 - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda @@ -10751,6 +11211,7 @@ packages: license_family: BSD purls: - pkg:pypi/click?source=hash-mapping + run_exports: {} size: 107155 timestamp: 1783085363526 - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda @@ -10763,6 +11224,7 @@ packages: license_family: BSD purls: - pkg:pypi/cloudpickle?source=hash-mapping + run_exports: {} size: 27353 timestamp: 1765303462831 - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda @@ -10774,6 +11236,7 @@ packages: license_family: BSD purls: - pkg:pypi/colorama?source=hash-mapping + run_exports: {} size: 27011 timestamp: 1733218222191 - conda: https://conda.anaconda.org/conda-forge/noarch/colorlog-6.11.0-pyh8f84b5b_0.conda @@ -10787,20 +11250,9 @@ packages: license_family: MIT purls: - pkg:pypi/colorlog?source=hash-mapping + run_exports: {} size: 17736 timestamp: 1784356800597 -- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 - md5: 2da13f2b299d8e1995bafbbe9689a2f7 - depends: - - python >=3.9 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/comm?source=hash-mapping - size: 14690 - timestamp: 1753453984907 - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.11.16-py311hd8ed1ab_2.conda noarch: generic sha256: be18e37b4ab19a72b2ceac449e4ad11e5e18756aeb1c2a5b7f8811bff0c2e030 @@ -10810,6 +11262,7 @@ packages: - python_abi * *_cp311 license: Python-2.0 purls: [] + run_exports: {} size: 48577 timestamp: 1788392044498 - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.14-py312hd8ed1ab_3.conda @@ -10821,6 +11274,7 @@ packages: - python_abi * *_cp312 license: Python-2.0 purls: [] + run_exports: {} size: 47172 timestamp: 1788391292962 - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.15-py313hd8ed1ab_103.conda @@ -10832,6 +11286,7 @@ packages: - python_abi * *_cp313 license: Python-2.0 purls: [] + run_exports: {} size: 49553 timestamp: 1788386188585 - conda: https://conda.anaconda.org/conda-forge/noarch/cross-web-0.7.0-pyhcf101f3_0.conda @@ -10860,6 +11315,7 @@ packages: license_family: MIT purls: - pkg:pypi/cross-web?source=hash-mapping + run_exports: {} size: 24017 timestamp: 1779215516455 - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda @@ -10872,6 +11328,7 @@ packages: license_family: BSD purls: - pkg:pypi/cycler?source=hash-mapping + run_exports: {} size: 14778 timestamp: 1764466758386 - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda @@ -10895,6 +11352,7 @@ packages: license_family: BSD purls: - pkg:pypi/dask?source=compressed-mapping + run_exports: {} size: 10415 timestamp: 1787917206356 - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.8.0-pyhc364b38_0.conda @@ -10915,6 +11373,7 @@ packages: license_family: BSD purls: - pkg:pypi/dask?source=compressed-mapping + run_exports: {} size: 1071072 timestamp: 1787845029550 - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.2-pyhcf101f3_0.conda @@ -10929,6 +11388,7 @@ packages: license_family: MIT purls: - pkg:pypi/dependency-groups?source=hash-mapping + run_exports: {} size: 15725 timestamp: 1787548560970 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda @@ -10941,6 +11401,7 @@ packages: license_family: MIT purls: - pkg:pypi/deprecated?source=hash-mapping + run_exports: {} size: 15896 timestamp: 1768934186726 - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda @@ -10953,6 +11414,7 @@ packages: license_family: APACHE purls: - pkg:pypi/distlib?source=hash-mapping + run_exports: {} size: 303705 timestamp: 1781320269259 - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda @@ -10982,6 +11444,7 @@ packages: license_family: BSD purls: - pkg:pypi/distributed?source=hash-mapping + run_exports: {} size: 840592 timestamp: 1787863556779 - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.8.0-pyhcf101f3_0.conda @@ -11003,6 +11466,7 @@ packages: license: ISC purls: - pkg:pypi/dnspython?source=hash-mapping + run_exports: {} size: 196500 timestamp: 1757292856922 - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda @@ -11013,6 +11477,7 @@ packages: license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 purls: - pkg:pypi/docutils?source=hash-mapping + run_exports: {} size: 438002 timestamp: 1766092633160 - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda @@ -11025,19 +11490,9 @@ packages: license_family: MIT purls: - pkg:pypi/donfig?source=hash-mapping + run_exports: {} size: 22491 timestamp: 1734368817583 -- conda: https://conda.anaconda.org/conda-forge/noarch/dpkt-1.9.8-pyhd8ed1ab_1.conda - sha256: 654dc0a018ff3ab47dd7d2ed53cec2878a31668c136202ccc3a0c6ece491a189 - md5: 09e43762ceba1ce023431be7104a5d81 - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/dpkt?source=hash-mapping - size: 151982 - timestamp: 1734321907078 - conda: https://conda.anaconda.org/conda-forge/noarch/ecdsa-0.19.2-pyhd8ed1ab_0.conda sha256: 279bba0bcb2248ec21807fcb1459b52abff42154811b85b4a0c62c54aba6773f md5: d3422625946166c45d353f5b96fc02da @@ -11049,6 +11504,7 @@ packages: license_family: MIT purls: - pkg:pypi/ecdsa?source=hash-mapping + run_exports: {} size: 129113 timestamp: 1774556826565 - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.3.0-pyhd8ed1ab_0.conda @@ -11061,6 +11517,7 @@ packages: license: Unlicense purls: - pkg:pypi/email-validator?source=hash-mapping + run_exports: {} size: 46767 timestamp: 1756221480106 - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.3.0-hd8ed1ab_0.conda @@ -11070,6 +11527,7 @@ packages: - email-validator >=2.3.0,<2.3.1.0a0 license: Unlicense purls: [] + run_exports: {} size: 7077 timestamp: 1756221480651 - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda @@ -11081,6 +11539,7 @@ packages: license_family: MIT purls: - pkg:pypi/entrypoints?source=hash-mapping + run_exports: {} size: 11259 timestamp: 1733327239578 - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda @@ -11092,6 +11551,7 @@ packages: license_family: MIT purls: - pkg:pypi/et-xmlfile?source=hash-mapping + run_exports: {} size: 21908 timestamp: 1733749746332 - conda: https://conda.anaconda.org/conda-forge/noarch/event-model-1.24.0-pyhd8ed1ab_0.conda @@ -11107,6 +11567,7 @@ packages: license_family: BSD purls: - pkg:pypi/event-model?source=hash-mapping + run_exports: {} size: 58249 timestamp: 1780492261356 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda @@ -11118,6 +11579,7 @@ packages: license: MIT and PSF-2.0 purls: - pkg:pypi/exceptiongroup?source=hash-mapping + run_exports: {} size: 21333 timestamp: 1763918099466 - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda @@ -11129,6 +11591,7 @@ packages: license_family: MIT purls: - pkg:pypi/executing?source=hash-mapping + run_exports: {} size: 30753 timestamp: 1756729456476 - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.141.1-h76d476e_0.conda @@ -11148,6 +11611,7 @@ packages: license: MIT license_family: MIT purls: [] + run_exports: {} size: 4836 timestamp: 1785373461610 - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.32-pyhcf101f3_0.conda @@ -11164,6 +11628,7 @@ packages: license_family: MIT purls: - pkg:pypi/fastapi-cli?source=hash-mapping + run_exports: {} size: 20791 timestamp: 1784211753962 - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-core-0.141.1-pyhcf101f3_0.conda @@ -11191,6 +11656,7 @@ packages: license_family: MIT purls: - pkg:pypi/fastapi?source=hash-mapping + run_exports: {} size: 105158 timestamp: 1785373461610 - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.5-pyhd8ed1ab_0.conda @@ -11201,39 +11667,16 @@ packages: license: Unlicense purls: - pkg:pypi/filelock?source=compressed-mapping + run_exports: {} size: 78858 timestamp: 1788217445739 -- conda: https://conda.anaconda.org/conda-forge/noarch/flexcache-0.3-pyhd8ed1ab_1.conda - sha256: acdb7b73d84268773fcc8192965994554411edc488ec3447925a62154e9d3baa - md5: f1e618f2f783427019071b14a111b30d - depends: - - python >=3.9 - - typing-extensions - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/flexcache?source=hash-mapping - size: 16674 - timestamp: 1733663669958 -- conda: https://conda.anaconda.org/conda-forge/noarch/flexparser-0.4-pyhd8ed1ab_1.conda - sha256: 9bdad0cd9fb6d67e48798c03930d634ea2d33a894d30439d3d7bdffd3c21af7b - md5: 6dc4e43174cd552452fdb8c423e90e69 - depends: - - python >=3.9 - - typing-extensions - - typing_extensions - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/flexparser?source=hash-mapping - size: 28686 - timestamp: 1733663636245 - 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: [] + run_exports: {} size: 397370 timestamp: 1566932522327 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 @@ -11242,6 +11685,7 @@ packages: license: OFL-1.1 license_family: Other purls: [] + run_exports: {} size: 96530 timestamp: 1620479909603 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -11250,6 +11694,7 @@ packages: license: OFL-1.1 license_family: Other purls: [] + run_exports: {} size: 700814 timestamp: 1620479612257 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda @@ -11258,6 +11703,7 @@ packages: license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 license_family: Other purls: [] + run_exports: {} size: 1620504 timestamp: 1727511233259 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 @@ -11268,6 +11714,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 3667 timestamp: 1566974674465 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda @@ -11281,6 +11728,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 4059 timestamp: 1762351264405 - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda @@ -11292,6 +11740,7 @@ packages: license_family: BSD purls: - pkg:pypi/fsspec?source=hash-mapping + run_exports: {} size: 151868 timestamp: 1785325238671 - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda @@ -11304,6 +11753,7 @@ packages: license_family: MIT purls: - pkg:pypi/graphql-core?source=hash-mapping + run_exports: {} size: 405369 timestamp: 1787881904516 - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda @@ -11317,6 +11767,7 @@ packages: license_family: MIT purls: - pkg:pypi/h11?source=hash-mapping + run_exports: {} size: 39069 timestamp: 1767729720872 - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.4.1-pyhcf101f3_0.conda @@ -11331,19 +11782,9 @@ packages: license_family: MIT purls: - pkg:pypi/h2?source=hash-mapping + run_exports: {} size: 100789 timestamp: 1785796355216 -- conda: https://conda.anaconda.org/conda-forge/noarch/historydict-1.2.6-pyhd8ed1ab_1.conda - sha256: 325656b615af237c60f7596b40d654b489af4d4d128aa936c3ef287a5bd6a8b9 - md5: 3f055e6e8646745be340ce4b08092328 - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/historydict?source=hash-mapping - size: 11249 - timestamp: 1734382711342 - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda sha256: fdcea5d7cb314485d3907192ef024c704311548c5b0cbeb390cd1951051e29d2 md5: b395909221b9bd1df066e5930e18855b @@ -11353,6 +11794,7 @@ packages: license_family: MIT purls: - pkg:pypi/hpack?source=hash-mapping + run_exports: {} size: 32884 timestamp: 1782283986153 - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda @@ -11370,6 +11812,7 @@ packages: license_family: BSD purls: - pkg:pypi/httpcore?source=hash-mapping + run_exports: {} size: 49483 timestamp: 1745602916758 - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda @@ -11385,6 +11828,7 @@ packages: license_family: BSD purls: - pkg:pypi/httpx?source=hash-mapping + run_exports: {} size: 63082 timestamp: 1733663449209 - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda @@ -11396,6 +11840,7 @@ packages: license_family: MIT purls: - pkg:pypi/humanize?source=hash-mapping + run_exports: {} size: 72882 timestamp: 1782906300604 - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda @@ -11407,6 +11852,7 @@ packages: license_family: MIT purls: - pkg:pypi/hyperframe?source=hash-mapping + run_exports: {} size: 17397 timestamp: 1737618427549 - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda @@ -11419,6 +11865,7 @@ packages: license_family: MIT purls: - pkg:pypi/identify?source=hash-mapping + run_exports: {} size: 79757 timestamp: 1776455344188 - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.19-pyhcf101f3_0.conda @@ -11431,6 +11878,7 @@ packages: license_family: BSD purls: - pkg:pypi/idna?source=compressed-mapping + run_exports: {} size: 177433 timestamp: 1787059857580 - conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.0-pyhfb79c49_0.conda @@ -11444,6 +11892,7 @@ packages: license_family: BSD purls: - pkg:pypi/imageio?source=hash-mapping + run_exports: {} size: 293226 timestamp: 1738273949742 - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.1-pyhd8ed1ab_0.conda @@ -11455,6 +11904,7 @@ packages: license_family: MIT purls: - pkg:pypi/imagesize?source=compressed-mapping + run_exports: {} size: 21467 timestamp: 1787649248672 - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.14-pyhd8ed1ab_0.conda @@ -11475,21 +11925,9 @@ packages: license_family: BSD purls: - pkg:pypi/import-linter?source=hash-mapping + run_exports: {} size: 547248 timestamp: 1787927900786 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.1-pyhcf101f3_0.conda - sha256: dd88e15a886d1af698f627d4a393cf0a76369bc014009b1ac12d52236b59f20c - md5: 26d87af49eddabfaabd5986d9310e817 - depends: - - python >=3.10 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/importlib-metadata?source=hash-mapping - size: 34727 - timestamp: 1779719562556 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda sha256: 95a074a7d3f58b3494c068d4789c364dcb591c56b70ca6b12f149a540f9aeea4 md5: 77ec68e0aa61c3fff9ecbf840f93d64e @@ -11501,6 +11939,7 @@ packages: license_family: APACHE purls: - pkg:pypi/importlib-metadata?source=compressed-mapping + run_exports: {} size: 34920 timestamp: 1787943971257 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda @@ -11512,6 +11951,7 @@ packages: license: Apache-2.0 license_family: APACHE purls: [] + run_exports: {} size: 10354 timestamp: 1776068852701 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda @@ -11526,6 +11966,7 @@ packages: license_family: APACHE purls: - pkg:pypi/importlib-resources?source=hash-mapping + run_exports: {} size: 34809 timestamp: 1776068839274 - conda: https://conda.anaconda.org/conda-forge/noarch/inflection-0.5.1-pyhd8ed1ab_1.conda @@ -11537,6 +11978,7 @@ packages: license_family: MIT purls: - pkg:pypi/inflection?source=hash-mapping + run_exports: {} size: 11730 timestamp: 1734732240967 - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda @@ -11548,35 +11990,9 @@ packages: license_family: MIT purls: - pkg:pypi/iniconfig?source=hash-mapping + run_exports: {} size: 13387 timestamp: 1760831448842 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda - sha256: 305ad9226363ff5f259c404dd9a7508183a2e150739b2adc43db7d817234da66 - md5: 2b47a10e4d98334f8171ff60aea05ff3 - depends: - - __linux - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.9.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio2 >=1.7.0 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - - python - constrains: - - appnope >=0.1.2 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/ipykernel?source=hash-mapping - size: 138635 - timestamp: 1781101665847 - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.17.1-pyh53cf698_0.conda sha256: 0fb38e0685e5065064ac007cf8317ee24b329373c9f80c31eb74c1bfcb0cfe24 md5: 0e28933e51c1d05c179bfd595ead8aee @@ -11598,6 +12014,7 @@ packages: license_family: BSD purls: - pkg:pypi/ipython?source=compressed-mapping + run_exports: {} size: 730678 timestamp: 1788260388285 - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda @@ -11610,6 +12027,7 @@ packages: license_family: BSD purls: - pkg:pypi/ipython-pygments-lexers?source=hash-mapping + run_exports: {} size: 13993 timestamp: 1737123723464 - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda @@ -11622,6 +12040,7 @@ packages: license: Apache-2.0 AND MIT purls: - pkg:pypi/jedi?source=hash-mapping + run_exports: {} size: 2715215 timestamp: 1782251948616 - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda @@ -11635,6 +12054,7 @@ packages: license_family: BSD purls: - pkg:pypi/jinja2?source=hash-mapping + run_exports: {} size: 120685 timestamp: 1764517220861 - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda @@ -11647,6 +12067,7 @@ packages: license_family: MIT purls: - pkg:pypi/jmespath?source=hash-mapping + run_exports: {} size: 25946 timestamp: 1769161799923 - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.6.0-pyhcf101f3_0.conda @@ -11660,6 +12081,7 @@ packages: license_family: BSD purls: - pkg:pypi/joblib?source=compressed-mapping + run_exports: {} size: 228858 timestamp: 1788177170105 - conda: https://conda.anaconda.org/conda-forge/noarch/json-merge-patch-0.2-pyhd8ed1ab_2.conda @@ -11671,6 +12093,7 @@ packages: license_family: BSD purls: - pkg:pypi/json-merge-patch?source=hash-mapping + run_exports: {} size: 11200 timestamp: 1734249397662 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda @@ -11683,6 +12106,7 @@ packages: license_family: BSD purls: - pkg:pypi/jsonpatch?source=hash-mapping + run_exports: {} size: 17311 timestamp: 1733814664790 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda @@ -11695,6 +12119,7 @@ packages: license_family: BSD purls: - pkg:pypi/jsonpointer?source=hash-mapping + run_exports: {} size: 14190 timestamp: 1774311356147 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_1.conda @@ -11711,6 +12136,7 @@ packages: license_family: MIT purls: - pkg:pypi/jsonschema?source=compressed-mapping + run_exports: {} size: 82084 timestamp: 1787579299493 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda @@ -11724,63 +12150,9 @@ packages: license_family: MIT purls: - pkg:pypi/jsonschema-specifications?source=hash-mapping + run_exports: {} size: 19236 timestamp: 1757335715225 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.10.0-pyhcf101f3_0.conda - sha256: 94f11bbdbac51a68415fb0a8bb441fb3475c0138e778664a3fb48f5698688ebf - md5: 85130259a26c023f53108dc9ab1cfb44 - depends: - - jupyter_core >=5.1 - - python >=3.10 - - python-dateutil >=2.8.2 - - pyzmq >=25.0 - - tornado >=6.4.1 - - traitlets >=5.3 - - typing_extensions >=4.13.0 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-client?source=compressed-mapping - size: 118962 - timestamp: 1787929615607 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - sha256: aee0cdd0cb2b9321d28450aec4e0fd43566efcd79e862d70ce49a68bf0539bcd - md5: 801dbf535ec26508fac6d4b24adfb76e - depends: - - ipykernel >=6.14 - - ipython - - jupyter_client >=7.0.0 - - jupyter_core >=4.12,!=5.0.* - - prompt_toolkit >=3.0.30 - - pygments - - python >=3.9 - - pyzmq >=17 - - traitlets >=5.4 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-console?source=hash-mapping - size: 26874 - timestamp: 1733818130068 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a - md5: b38fe4e78ee75def7e599843ef4c1ab0 - depends: - - __unix - - python - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - - python - constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-core?source=hash-mapping - size: 65503 - timestamp: 1760643864586 - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.5-pyhd8ed1ab_0.conda sha256: 1a88069ac61d2756ccaf26a6c206ab4d56610fb054bd2fffb5df4cd0744ab78e md5: 75932da6f03a6bef32b70a51e991f6eb @@ -11791,20 +12163,9 @@ packages: license_family: BSD purls: - pkg:pypi/lazy-loader?source=hash-mapping + run_exports: {} size: 14883 timestamp: 1772817374026 -- conda: https://conda.anaconda.org/conda-forge/noarch/ldap3-2.9.1-pyhd8ed1ab_1.conda - sha256: 0816b267189241330b85bbe9524423255cd4daf8dd4d97765213b49991d1c33d - md5: 7319a76eaab1e21f84ad7949ff2f66e7 - depends: - - pyasn1 >=0.4.6 - - python >=3.9 - license: LGPL-3.0-or-later - license_family: LGPL - purls: - - pkg:pypi/ldap3?source=hash-mapping - size: 265456 - timestamp: 1733217280290 - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.2.0-pyhcf101f3_0.conda sha256: ffbbb6eace53e7edee1e2e9948e4c8774eb4b382dea185d827865afb7b694c7f md5: 786c0fa25c80049e9d4b5cd960a5a0b2 @@ -11816,6 +12177,7 @@ packages: license_family: MIT purls: - pkg:pypi/linkify-it-py?source=hash-mapping + run_exports: {} size: 27991 timestamp: 1788173299262 - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 @@ -11827,6 +12189,7 @@ packages: license_family: BSD purls: - pkg:pypi/locket?source=hash-mapping + run_exports: {} size: 8250 timestamp: 1650660473123 - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.4.1-pyhcf101f3_0.conda @@ -11841,6 +12204,7 @@ packages: license_family: MIT purls: - pkg:pypi/mako?source=hash-mapping + run_exports: {} size: 73298 timestamp: 1785938863475 - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda @@ -11853,6 +12217,7 @@ packages: license_family: MIT purls: - pkg:pypi/markdown-it-py?source=hash-mapping + run_exports: {} size: 69017 timestamp: 1778169663339 - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda @@ -11865,6 +12230,7 @@ packages: license_family: BSD purls: - pkg:pypi/matplotlib-inline?source=hash-mapping + run_exports: {} size: 15725 timestamp: 1778264403247 - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda @@ -11877,6 +12243,7 @@ packages: license_family: MIT purls: - pkg:pypi/mdit-py-plugins?source=hash-mapping + run_exports: {} size: 50460 timestamp: 1778692223625 - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda @@ -11888,6 +12255,7 @@ packages: license_family: MIT purls: - pkg:pypi/mdurl?source=hash-mapping + run_exports: {} size: 14465 timestamp: 1733255681319 - conda: https://conda.anaconda.org/conda-forge/noarch/minio-7.2.20-pyhd8ed1ab_0.conda @@ -11904,6 +12272,7 @@ packages: license_family: Apache purls: - pkg:pypi/minio?source=hash-mapping + run_exports: {} size: 69324 timestamp: 1764207690145 - conda: https://conda.anaconda.org/conda-forge/noarch/mongoquery-1.4.3-pyhd8ed1ab_0.conda @@ -11915,22 +12284,9 @@ packages: license: Unlicense purls: - pkg:pypi/mongoquery?source=hash-mapping + run_exports: {} size: 12594 timestamp: 1758059611138 -- conda: https://conda.anaconda.org/conda-forge/noarch/msgpack-numpy-0.4.8-pyhcf101f3_2.conda - sha256: de324a439c5c0d0455bd54e92b983917aa4218d83f4941f45a829957c8b30423 - md5: bc5d7f293f60a98776c60263dce658b5 - depends: - - python >=3.10 - - numpy >=1.9.0 - - msgpack-python >=0.5.2 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/msgpack-numpy?source=hash-mapping - size: 14436 - timestamp: 1767289592471 - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 md5: 37293a85a0f4f77bbd9cf7aaefc62609 @@ -11940,6 +12296,7 @@ packages: license_family: Apache purls: - pkg:pypi/munkres?source=hash-mapping + run_exports: {} size: 15851 timestamp: 1749895533014 - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda @@ -11957,6 +12314,7 @@ packages: license_family: MIT purls: - pkg:pypi/myst-parser?source=hash-mapping + run_exports: {} size: 74888 timestamp: 1778696564508 - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.25.0-pyhcf101f3_0.conda @@ -11969,20 +12327,9 @@ packages: license_family: MIT purls: - pkg:pypi/narwhals?source=compressed-mapping + run_exports: {} size: 293989 timestamp: 1787261063562 -- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 - md5: fcd832bfd4749e9b246112b6894f97fc - depends: - - python >=3.10 - - python - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/nest-asyncio2?source=hash-mapping - size: 15903 - timestamp: 1770973502283 - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 md5: a2c1eeadae7a309daed9d62c96012a2b @@ -11998,6 +12345,7 @@ packages: license_family: BSD purls: - pkg:pypi/networkx?source=hash-mapping + run_exports: {} size: 1587439 timestamp: 1765215107045 - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -12010,6 +12358,7 @@ packages: license_family: BSD purls: - pkg:pypi/nodeenv?source=hash-mapping + run_exports: {} size: 40866 timestamp: 1766261270149 - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 @@ -12020,6 +12369,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 3843 timestamp: 1582593857545 - conda: https://conda.anaconda.org/conda-forge/noarch/nox-2026.8.17-pyhcf101f3_0.conda @@ -12044,66 +12394,9 @@ packages: license_family: APACHE purls: - pkg:pypi/nox?source=hash-mapping + run_exports: {} size: 84083 timestamp: 1787548567611 -- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - sha256: 482d94fce136c4352b18c6397b9faf0a3149bfb12499ab1ffebad8db0cb6678f - md5: 3aa4b625f20f55cf68e92df5e5bf3c39 - depends: - - python >=3.10 - - sphinx >=6 - - tomli >=1.1.0 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpydoc?source=hash-mapping - size: 65801 - timestamp: 1764715638266 -- conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.16.0-pyhd8ed1ab_0.conda - sha256: be45f7d7f940769ae8f635e33a070f559368e71357907ade630bb7be8ef3f658 - md5: fed585631136a36d24d4aabcf27fbfed - depends: - - deprecated >=1.2.6 - - python >=3.7 - - setuptools >=16.0 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/opentelemetry-api?source=hash-mapping - size: 40106 - timestamp: 1676680760252 -- conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.44.0-pyhd8ed1ab_0.conda - sha256: 3185d1dfa8250d1e7c37cc23a09dc2b8a362f6407ca8919a66406e1fef570e45 - md5: cdeabb4c6c80399310749b3697f636ad - depends: - - importlib-metadata >=6.0,<8.8.0 - - python >=3.10 - - typing-extensions >=4.5.0 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/opentelemetry-api?source=hash-mapping - size: 52149 - timestamp: 1784225783127 -- conda: https://conda.anaconda.org/conda-forge/noarch/ophyd-1.11.2-pyhd8ed1ab_0.conda - sha256: 704251e284e2ed4766442a5c452fe461e48c1745ba199d49b4e6f10bfce50820 - md5: a28f969b6f7b5af60865bcb87bf77c10 - depends: - - caproto !=1.2.0 - - networkx >=2.5 - - numpy - - opentelemetry-api - - packaging - - pint - - pyepics >=3.4.2 - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/ophyd?source=hash-mapping - size: 217502 - timestamp: 1780613273481 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda sha256: c432626b16768b8dab228bfb706f7060c2d462a21c516d240f68f2f902b5a044 md5: 936687ed80f295a1f5dbcf8bd34c252c @@ -12114,19 +12407,9 @@ packages: license_family: APACHE purls: - pkg:pypi/packaging?source=hash-mapping + run_exports: {} size: 116363 timestamp: 1785888127370 -- conda: https://conda.anaconda.org/conda-forge/noarch/pamela-1.2.0-pyhd8ed1ab_1.conda - sha256: 41b074a35b210b3395ccd10d30c301c0f7c65150353820f3a6a7d2bf8be5beaa - md5: a3a069b6dbf63e1a635f3feeffdaeb4e - depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pamela?source=hash-mapping - size: 12522 - timestamp: 1734511312340 - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda sha256: 611882f7944b467281c46644ffde6c5145d1a7730388bcde26e7e86819b0998e md5: 39894c952938276405a1bd30e4ce2caf @@ -12137,6 +12420,7 @@ packages: license_family: MIT purls: - pkg:pypi/parso?source=hash-mapping + run_exports: {} size: 82472 timestamp: 1777722955579 - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda @@ -12150,6 +12434,7 @@ packages: license_family: BSD purls: - pkg:pypi/partd?source=hash-mapping + run_exports: {} size: 20884 timestamp: 1715026639309 - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-pyhd8ed1ab_0.conda @@ -12163,6 +12448,7 @@ packages: license_family: MIT purls: - pkg:pypi/pbs-installer?source=compressed-mapping + run_exports: {} size: 71847 timestamp: 1788321853258 - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda @@ -12174,26 +12460,9 @@ packages: license: ISC purls: - pkg:pypi/pexpect?source=hash-mapping + run_exports: {} size: 53561 timestamp: 1733302019362 -- conda: https://conda.anaconda.org/conda-forge/noarch/pint-0.25.3-pyhc364b38_0.conda - sha256: f58a03dd2908c15dc65fab7e03a0212c69043466f7f85a4e345470492841782f - md5: 293c4719f6d62778ffecd18e024a8fcd - depends: - - python >=3.11 - - platformdirs >=2.1.0 - - flexcache >=0.3 - - flexparser >=0.4 - - typing_extensions >=4.0.0 - - python - constrains: - - numpy >=1.23 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pint?source=hash-mapping - size: 245230 - timestamp: 1773969991837 - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.6-pyh5ded981_0.conda sha256: 8fe66c78f015fecfe096e4ff78a2626c4d926cde9b6951cf3b8e1ff0aaeb0a6c md5: fb0f75910f804de1d8c6e91f73673d11 @@ -12204,6 +12473,7 @@ packages: license_family: MIT purls: - pkg:pypi/platformdirs?source=compressed-mapping + run_exports: {} size: 27515 timestamp: 1788271419073 - conda: https://conda.anaconda.org/conda-forge/noarch/plotext-5.3.2-pyhff2d567_0.conda @@ -12215,6 +12485,7 @@ packages: license_family: MIT purls: - pkg:pypi/plotext?source=hash-mapping + run_exports: {} size: 60077 timestamp: 1731942133024 - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda @@ -12227,6 +12498,7 @@ packages: license_family: MIT purls: - pkg:pypi/pluggy?source=hash-mapping + run_exports: {} size: 25877 timestamp: 1764896838868 - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda @@ -12243,6 +12515,7 @@ packages: license_family: MIT purls: - pkg:pypi/pre-commit?source=compressed-mapping + run_exports: {} size: 201879 timestamp: 1786408353117 - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.26.0-pyhd8ed1ab_0.conda @@ -12254,6 +12527,7 @@ packages: license_family: Apache purls: - pkg:pypi/prometheus-client?source=hash-mapping + run_exports: {} size: 61554 timestamp: 1785016068982 - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.53-pyha770c72_0.conda @@ -12268,18 +12542,9 @@ packages: license_family: BSD purls: - pkg:pypi/prompt-toolkit?source=hash-mapping + run_exports: {} size: 276081 timestamp: 1785160613307 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.53-hd8ed1ab_0.conda - sha256: 59628c765189e99ca5d3c51f0758a325bc020dfafb8fef6068045595aaae1baf - md5: 4c7171dde29a2f2b1dac681c1154a291 - depends: - - prompt-toolkit >=3.0.53,<3.0.54.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 7083 - timestamp: 1785160614678 - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 md5: 7d9daffbb8d8e0af0f769dbbcd173a54 @@ -12288,6 +12553,7 @@ packages: license: ISC purls: - pkg:pypi/ptyprocess?source=hash-mapping + run_exports: {} size: 19457 timestamp: 1733302371990 - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda @@ -12299,6 +12565,7 @@ packages: license_family: MIT purls: - pkg:pypi/pure-eval?source=hash-mapping + run_exports: {} size: 16668 timestamp: 1733569518868 - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.4-pyhcf101f3_0.conda @@ -12311,6 +12578,7 @@ packages: license_family: BSD purls: - pkg:pypi/pyasn1?source=hash-mapping + run_exports: {} size: 66722 timestamp: 1783572312166 - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda @@ -12323,6 +12591,7 @@ packages: license_family: BSD purls: - pkg:pypi/pycparser?source=hash-mapping + run_exports: {} size: 55886 timestamp: 1779293633166 - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.5-pyhcf101f3_0.conda @@ -12339,6 +12608,7 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic?source=compressed-mapping + run_exports: {} size: 346633 timestamp: 1787941273167 - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-extra-types-2.11.1-pyhcf101f3_0.conda @@ -12360,6 +12630,7 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic-extra-types?source=hash-mapping + run_exports: {} size: 72040 timestamp: 1773664659868 - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.11.0-pyh3cfb1c2_0.conda @@ -12374,6 +12645,7 @@ packages: license_family: MIT purls: - pkg:pypi/pydantic-settings?source=hash-mapping + run_exports: {} size: 41378 timestamp: 1758734155852 - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda @@ -12386,6 +12658,7 @@ packages: license_family: BSD purls: - pkg:pypi/pygments?source=compressed-mapping + run_exports: {} size: 959376 timestamp: 1786995678795 - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda @@ -12398,6 +12671,7 @@ packages: license_family: MIT purls: - pkg:pypi/pyparsing?source=hash-mapping + run_exports: {} size: 110893 timestamp: 1769003998136 - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-api-1.11.0-pyhcf101f3_0.conda @@ -12412,6 +12686,7 @@ packages: license_family: MIT purls: - pkg:pypi/pyproject-api?source=hash-mapping + run_exports: {} size: 26725 timestamp: 1784658382151 - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda @@ -12424,6 +12699,7 @@ packages: license_family: MIT purls: - pkg:pypi/pyproject-hooks?source=hash-mapping + run_exports: {} size: 15528 timestamp: 1733710122949 - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda @@ -12436,6 +12712,7 @@ packages: license_family: BSD purls: - pkg:pypi/pysocks?source=hash-mapping + run_exports: {} size: 21085 timestamp: 1733217331982 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -12457,6 +12734,7 @@ packages: license_family: MIT purls: - pkg:pypi/pytest?source=hash-mapping + run_exports: {} size: 306724 timestamp: 1782127176429 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-asyncio-1.4.0-pyhcf101f3_0.conda @@ -12472,6 +12750,7 @@ packages: license_family: APACHE purls: - pkg:pypi/pytest-asyncio?source=hash-mapping + run_exports: {} size: 43101 timestamp: 1779802443053 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.1.0-pyhcf101f3_0.conda @@ -12487,6 +12766,7 @@ packages: license_family: MIT purls: - pkg:pypi/pytest-cov?source=hash-mapping + run_exports: {} size: 29559 timestamp: 1774139250481 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.15.1-pyhd8ed1ab_0.conda @@ -12499,6 +12779,7 @@ packages: license_family: MIT purls: - pkg:pypi/pytest-mock?source=hash-mapping + run_exports: {} size: 22968 timestamp: 1758101248317 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-timeout-2.4.0-pyhd8ed1ab_0.conda @@ -12511,6 +12792,7 @@ packages: license_family: MIT purls: - pkg:pypi/pytest-timeout?source=hash-mapping + run_exports: {} size: 20137 timestamp: 1746533140824 - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.6.0-pyhc364b38_0.conda @@ -12530,6 +12812,7 @@ packages: license_family: MIT purls: - pkg:pypi/build?source=compressed-mapping + run_exports: {} size: 33461 timestamp: 1787910624806 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda @@ -12543,6 +12826,7 @@ packages: license_family: APACHE purls: - pkg:pypi/python-dateutil?source=hash-mapping + run_exports: {} size: 233310 timestamp: 1751104122689 - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.6.0-pyhcf101f3_0.conda @@ -12556,6 +12840,7 @@ packages: license_family: MIT purls: - pkg:pypi/python-discovery?source=compressed-mapping + run_exports: {} size: 38928 timestamp: 1787953569064 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.3-pyhcf101f3_0.conda @@ -12568,6 +12853,7 @@ packages: license_family: BSD purls: - pkg:pypi/python-dotenv?source=compressed-mapping + run_exports: {} size: 28328 timestamp: 1787003234261 - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.11.16-hd8ed1ab_2.conda @@ -12578,6 +12864,7 @@ packages: - python_abi * *_cp311 license: Python-2.0 purls: [] + run_exports: {} size: 48553 timestamp: 1788392053631 - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.14-hd8ed1ab_3.conda @@ -12588,6 +12875,7 @@ packages: - python_abi * *_cp312 license: Python-2.0 purls: [] + run_exports: {} size: 47142 timestamp: 1788391303150 - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.15-h4df99d1_103.conda @@ -12598,6 +12886,7 @@ packages: - python_abi * *_cp313 license: Python-2.0 purls: [] + run_exports: {} size: 49529 timestamp: 1788386202638 - conda: https://conda.anaconda.org/conda-forge/noarch/python-jose-3.5.0-pyhff2d567_0.conda @@ -12613,6 +12902,7 @@ packages: license_family: MIT purls: - pkg:pypi/python-jose?source=hash-mapping + run_exports: {} size: 76008 timestamp: 1748530600158 - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.32-pyhcf101f3_0.conda @@ -12625,6 +12915,7 @@ packages: license_family: APACHE purls: - pkg:pypi/python-multipart?source=hash-mapping + run_exports: {} size: 38132 timestamp: 1780610429919 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.11-9_cp311.conda @@ -12636,6 +12927,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 6770 timestamp: 1788302830198 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda @@ -12647,6 +12939,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 6751 timestamp: 1788302823694 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-9_cp313.conda @@ -12658,6 +12951,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 6769 timestamp: 1788302828005 - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.3.post1-pyhcf101f3_0.conda @@ -12670,6 +12964,7 @@ packages: license_family: MIT purls: - pkg:pypi/pytz?source=hash-mapping + run_exports: {} size: 201126 timestamp: 1785077087428 - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.3-pyhd8ed1ab_1.conda @@ -12682,6 +12977,7 @@ packages: license_family: MIT purls: - pkg:pypi/qtpy?source=hash-mapping + run_exports: {} size: 63041 timestamp: 1749167192680 - conda: https://conda.anaconda.org/conda-forge/noarch/ragged-0.3.0-pyhd8ed1ab_0.conda @@ -12695,6 +12991,7 @@ packages: license_family: BSD purls: - pkg:pypi/ragged?source=hash-mapping + run_exports: {} size: 56506 timestamp: 1780484568632 - conda: https://conda.anaconda.org/conda-forge/noarch/redis-json-dict-0.2.2-pyhd8ed1ab_0.conda @@ -12708,6 +13005,7 @@ packages: license_family: BSD purls: - pkg:pypi/redis-json-dict?source=hash-mapping + run_exports: {} size: 12623 timestamp: 1768344324167 - conda: https://conda.anaconda.org/conda-forge/noarch/redis-py-8.1.0-pyhd8ed1ab_0.conda @@ -12720,6 +13018,7 @@ packages: license_family: MIT purls: - pkg:pypi/redis?source=hash-mapping + run_exports: {} size: 352998 timestamp: 1785493803310 - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda @@ -12735,6 +13034,7 @@ packages: license_family: MIT purls: - pkg:pypi/referencing?source=hash-mapping + run_exports: {} size: 51788 timestamp: 1760379115194 - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda @@ -12753,6 +13053,7 @@ packages: license_family: APACHE purls: - pkg:pypi/requests?source=hash-mapping + run_exports: {} size: 68709 timestamp: 1778851103479 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda @@ -12768,6 +13069,7 @@ packages: license_family: MIT purls: - pkg:pypi/rich?source=hash-mapping + run_exports: {} size: 208577 timestamp: 1775991661559 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-toolkit-0.20.3-pyhcf101f3_0.conda @@ -12783,6 +13085,7 @@ packages: license_family: MIT purls: - pkg:pypi/rich-toolkit?source=hash-mapping + run_exports: {} size: 34824 timestamp: 1784024058693 - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda @@ -12793,6 +13096,7 @@ packages: license: 0BSD OR CC0-1.0 purls: - pkg:pypi/roman-numerals?source=hash-mapping + run_exports: {} size: 13814 timestamp: 1766003022813 - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda @@ -12805,6 +13109,7 @@ packages: license_family: APACHE purls: - pkg:pypi/rsa?source=hash-mapping + run_exports: {} size: 31709 timestamp: 1744825527634 - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda @@ -12816,6 +13121,7 @@ packages: license_family: MIT purls: - pkg:pypi/setuptools?source=compressed-mapping + run_exports: {} size: 524488 timestamp: 1786282924579 - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda @@ -12827,6 +13133,7 @@ packages: license_family: MIT purls: - pkg:pypi/shellingham?source=hash-mapping + run_exports: {} size: 15018 timestamp: 1762858315311 - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda @@ -12839,6 +13146,7 @@ packages: license_family: MIT purls: - pkg:pypi/six?source=hash-mapping + run_exports: {} size: 18455 timestamp: 1753199211006 - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda @@ -12850,6 +13158,7 @@ packages: license_family: Apache purls: - pkg:pypi/sniffio?source=hash-mapping + run_exports: {} size: 15698 timestamp: 1762941572482 - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda @@ -12861,6 +13170,7 @@ packages: license_family: BSD purls: - pkg:pypi/snowballstemmer?source=hash-mapping + run_exports: {} size: 74456 timestamp: 1780468201547 - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda @@ -12872,6 +13182,7 @@ packages: license_family: APACHE purls: - pkg:pypi/sortedcontainers?source=hash-mapping + run_exports: {} size: 28657 timestamp: 1738440459037 - conda: https://conda.anaconda.org/conda-forge/noarch/sparse-0.19.2-pyhc364b38_0.conda @@ -12886,6 +13197,7 @@ packages: license_family: BSD purls: - pkg:pypi/sparse?source=hash-mapping + run_exports: {} size: 127112 timestamp: 1786701071577 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-9.0.4-pyhd8ed1ab_0.conda @@ -12914,6 +13226,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinx?source=hash-mapping + run_exports: {} size: 1558918 timestamp: 1764850397790 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-9.1.0-pyhd8ed1ab_0.conda @@ -12942,6 +13255,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinx?source=hash-mapping + run_exports: {} size: 1584836 timestamp: 1767271941650 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda @@ -12954,6 +13268,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping + run_exports: {} size: 29752 timestamp: 1733754216334 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda @@ -12966,6 +13281,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping + run_exports: {} size: 24536 timestamp: 1733754232002 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda @@ -12978,6 +13294,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping + run_exports: {} size: 32895 timestamp: 1733754385092 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda @@ -12989,6 +13306,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping + run_exports: {} size: 10462 timestamp: 1733753857224 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda @@ -13001,6 +13319,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping + run_exports: {} size: 26959 timestamp: 1733753505008 - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda @@ -13013,6 +13332,7 @@ packages: license_family: BSD purls: - pkg:pypi/sphinxcontrib-serializinghtml?source=hash-mapping + run_exports: {} size: 30640 timestamp: 1781260357443 - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda @@ -13027,6 +13347,7 @@ packages: license_family: MIT purls: - pkg:pypi/stack-data?source=hash-mapping + run_exports: {} size: 26988 timestamp: 1733569565672 - conda: https://conda.anaconda.org/conda-forge/noarch/stamina-26.1.0-pyhcf101f3_1.conda @@ -13040,6 +13361,7 @@ packages: license_family: MIT purls: - pkg:pypi/stamina?source=hash-mapping + run_exports: {} size: 24175 timestamp: 1776172479398 - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-1.6.0-pyhcf101f3_0.conda @@ -13054,6 +13376,7 @@ packages: license_family: BSD purls: - pkg:pypi/starlette?source=compressed-mapping + run_exports: {} size: 65974 timestamp: 1786315934415 - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.2-pyh5ded981_0.conda @@ -13069,8 +13392,10 @@ packages: - wheel - python license: MIT + license_family: MIT purls: - pkg:pypi/strawberry-graphql?source=compressed-mapping + run_exports: {} size: 231169 timestamp: 1788441807648 - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda @@ -13083,6 +13408,7 @@ packages: license_family: BSD purls: - pkg:pypi/tblib?source=hash-mapping + run_exports: {} size: 19397 timestamp: 1762956379123 - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda @@ -13095,6 +13421,7 @@ packages: license_family: APACHE purls: - pkg:pypi/tenacity?source=hash-mapping + run_exports: {} size: 31404 timestamp: 1770510172846 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.8-pyhcf101f3_0.conda @@ -13117,6 +13444,7 @@ packages: license_family: MIT purls: - pkg:pypi/textual?source=hash-mapping + run_exports: {} size: 538351 timestamp: 1782808451993 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda @@ -13130,6 +13458,7 @@ packages: license_family: MIT purls: - pkg:pypi/textual-plotext?source=hash-mapping + run_exports: {} size: 20304 timestamp: 1735071100022 - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda @@ -13141,6 +13470,7 @@ packages: license_family: BSD purls: - pkg:pypi/threadpoolctl?source=hash-mapping + run_exports: {} size: 23869 timestamp: 1741878358548 - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.3.3-pyhd8ed1ab_0.conda @@ -13156,6 +13486,7 @@ packages: license_family: BSD purls: - pkg:pypi/tifffile?source=hash-mapping + run_exports: {} size: 193137 timestamp: 1772701074188 - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda @@ -13172,6 +13503,7 @@ packages: license_family: BSD purls: - pkg:pypi/tifffile?source=compressed-mapping + run_exports: {} size: 231923 timestamp: 1787572590018 - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda @@ -13203,8 +13535,10 @@ packages: - xarray - zstandard license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/tiled?source=hash-mapping + run_exports: {} size: 1525585 timestamp: 1788390024083 - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda @@ -13220,7 +13554,9 @@ packages: - tiled-base 0.2.18 pyhd8ed1ab_0 - websockets license: BSD-3-Clause + license_family: BSD purls: [] + run_exports: {} size: 8327 timestamp: 1788390031240 - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-server-0.2.18-pyhd8ed1ab_0.conda @@ -13263,7 +13599,9 @@ packages: - watchfiles - zarr license: BSD-3-Clause + license_family: BSD purls: [] + run_exports: {} size: 8626 timestamp: 1788390042123 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda @@ -13276,6 +13614,7 @@ packages: license_family: MIT purls: - pkg:pypi/tomli?source=hash-mapping + run_exports: {} size: 21561 timestamp: 1774492402955 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-w-1.2.0-pyhd8ed1ab_0.conda @@ -13287,6 +13626,7 @@ packages: license_family: MIT purls: - pkg:pypi/tomli-w?source=hash-mapping + run_exports: {} size: 12680 timestamp: 1736962345843 - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda @@ -13298,6 +13638,7 @@ packages: license_family: BSD purls: - pkg:pypi/toolz?source=hash-mapping + run_exports: {} size: 53978 timestamp: 1760707830681 - conda: https://conda.anaconda.org/conda-forge/noarch/tox-4.61.2-pyhcf101f3_0.conda @@ -13324,23 +13665,9 @@ packages: license_family: MIT purls: - pkg:pypi/tox?source=hash-mapping + run_exports: {} size: 283402 timestamp: 1788292619139 -- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.70.0-pyh8f84b5b_0.conda - sha256: a4d9e9da15b13f1ab047e7db412e2ed564bc615832e80213cf129b973c3abf4a - md5: 00953c3b729e03b0ae21f49fdf3441bb - depends: - - python >=3.10 - - __unix - - python - constrains: - - envwrap >=0.2 - - ipywidgets >=6.0 - license: MPL-2.0 and MIT - purls: - - pkg:pypi/tqdm?source=hash-mapping - size: 98184 - timestamp: 1785172528905 - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.16.1-pyhcf101f3_0.conda sha256: 03dba5917f944c6684ab44c81daacac1624cd148e4b2cae215dcec594a210c48 md5: a79bf97561232a31447b6246c2153ab5 @@ -13351,6 +13678,7 @@ packages: license_family: BSD purls: - pkg:pypi/traitlets?source=hash-mapping + run_exports: {} size: 116935 timestamp: 1785761789772 - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.27.2-pyhcf101f3_0.conda @@ -13366,6 +13694,7 @@ packages: license: MIT AND BSD-3-Clause purls: - pkg:pypi/typer?source=compressed-mapping + run_exports: {} size: 188056 timestamp: 1787921102267 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda @@ -13376,6 +13705,7 @@ packages: license: PSF-2.0 license_family: PSF purls: [] + run_exports: {} size: 94080 timestamp: 1783002732887 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.4-pyhcf101f3_0.conda @@ -13389,6 +13719,7 @@ packages: license_family: MIT purls: - pkg:pypi/typing-inspection?source=compressed-mapping + run_exports: {} size: 21070 timestamp: 1786818918217 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda @@ -13401,6 +13732,7 @@ packages: license_family: PSF purls: - pkg:pypi/typing-extensions?source=hash-mapping + run_exports: {} size: 52631 timestamp: 1783002732887 - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda @@ -13408,6 +13740,7 @@ packages: md5: fcb489df604d100968b737f2cb6076c6 license: LicenseRef-Public-Domain purls: [] + run_exports: {} size: 118849 timestamp: 1784250406640 - conda: https://conda.anaconda.org/conda-forge/noarch/tzlocal-5.4.4-pyh8f84b5b_0.conda @@ -13421,6 +13754,7 @@ packages: license_family: MIT purls: - pkg:pypi/tzlocal?source=hash-mapping + run_exports: {} size: 24057 timestamp: 1782759572367 - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda @@ -13432,6 +13766,7 @@ packages: license_family: MIT purls: - pkg:pypi/uc-micro-py?source=hash-mapping + run_exports: {} size: 13378 timestamp: 1772479008776 - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda @@ -13447,6 +13782,7 @@ packages: license_family: MIT purls: - pkg:pypi/urllib3?source=hash-mapping + run_exports: {} size: 103560 timestamp: 1778188657149 - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.52.4-pyhc90fa1f_0.conda @@ -13463,6 +13799,7 @@ packages: license_family: BSD purls: - pkg:pypi/uvicorn?source=compressed-mapping + run_exports: {} size: 60189 timestamp: 1787133003107 - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.52.4-h9be8d4e_0.conda @@ -13480,6 +13817,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 4152 timestamp: 1787133003107 - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.8-pyh5ded981_0.conda @@ -13497,6 +13835,7 @@ packages: license_family: MIT purls: - pkg:pypi/virtualenv?source=compressed-mapping + run_exports: {} size: 3895299 timestamp: 1788296993944 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda @@ -13509,6 +13848,7 @@ packages: license_family: MIT purls: - pkg:pypi/wcwidth?source=compressed-mapping + run_exports: {} size: 146490 timestamp: 1788174996551 - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda @@ -13521,6 +13861,7 @@ packages: license_family: MIT purls: - pkg:pypi/wheel?source=compressed-mapping + run_exports: {} size: 34528 timestamp: 1786613220176 - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2026.7.0-pyhc364b38_0.conda @@ -13559,19 +13900,21 @@ packages: license_family: APACHE purls: - pkg:pypi/xarray?source=hash-mapping + run_exports: {} size: 1027069 timestamp: 1783633473025 -- conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda - sha256: 663ea9b00d68c2da309114923924686ab6d3f59ef1b196c5029ba16799e7bb07 - md5: 4487b9c371d0161d54b5c7bbd890c0fc +- conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.9.1-pyhd8ed1ab_0.conda + sha256: b9439f1716ff580ce56e9b4a4df7ea92e5ed2bdc9567d25cdff223d62c3183a8 + md5: 5d7c149ba9c728d4951f3fe6d3ce0f84 depends: - python >=3.9 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/xyzservices?source=hash-mapping - size: 51732 - timestamp: 1774900074457 + - pkg:pypi/xyzservices?source=compressed-mapping + run_exports: {} + size: 53963 + timestamp: 1788530754725 - conda: https://conda.anaconda.org/conda-forge/noarch/yamale-6.1.0-pyhd8ed1ab_0.conda sha256: c4b7d034adfa2009ced2584c0db47052a3c18868074fa3a6c362714c2d7a22dc md5: 305b5b626d10c990cb7b59788c0c9862 @@ -13582,6 +13925,7 @@ packages: license_family: MIT purls: - pkg:pypi/yamale?source=hash-mapping + run_exports: {} size: 47564 timestamp: 1763729031524 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.6-pyhc364b38_0.conda @@ -13603,6 +13947,7 @@ packages: license_family: MIT purls: - pkg:pypi/zarr?source=hash-mapping + run_exports: {} size: 320675 timestamp: 1775744500266 - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda @@ -13624,6 +13969,7 @@ packages: license_family: MIT purls: - pkg:pypi/zarr?source=hash-mapping + run_exports: {} size: 471664 timestamp: 1785511642744 - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda @@ -13635,6 +13981,7 @@ packages: license_family: BSD purls: - pkg:pypi/zict?source=hash-mapping + run_exports: {} size: 36341 timestamp: 1733261642963 - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda @@ -13647,19 +13994,21 @@ packages: license_family: MIT purls: - pkg:pypi/zipp?source=hash-mapping + run_exports: {} size: 24190 timestamp: 1779159948016 - pypi: ./ name: hextools requires_dist: - algotom + - bluesky - ipython + - nslsii - numpy - ophyd-async[ca,pva] - rich>=15.0.0 - scikit-image>=0.26.0 - scipy>=1.17.1 - - caproto ; extra == 'iocs' requires_python: '>=3.11' - pypi: git+https://github.com/NSLS2/nslsii?rev=main#93ef2e4a24892699debc56d6f9891e57dc2205d5 name: nslsii @@ -13693,9 +14042,97 @@ packages: - requests - shortuuid requires_python: '>=3.11' -- pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#5495b4d80acd7a98b69bdb7dab73f137a3dcc3ca +- pypi: git+https://github.com/bluesky/bluesky?rev=main#a6a9ecfb6aefa849eeab84867e88e6025a0a6075 + name: bluesky + version: 1.15.2.dev103+ga6a9ecfb6 + requires_dist: + - cycler + - event-model>=1.24.0 + - historydict + - msgpack + - msgpack-numpy + - numpy + - opentelemetry-api + - toolz + - tqdm>=4.44 + - typing-extensions>=4.10.0 + - attrs ; extra == 'dev' + - bluesky-tiled-plugins ; 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' + - mongomock ; extra == 'dev' + - multiprocess ; extra == 'dev' + - mypy ; extra == 'dev' + - myst-parser ; extra == 'dev' + - networkx ; extra == 'dev' + - numpydoc ; extra == 'dev' + - opentelemetry-sdk ; extra == 'dev' + - ophyd ; extra == 'dev' + - ophyd-async ; python_full_version >= '3.11' and 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 ; 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' + - tiled[server] ; extra == 'dev' + - tox-direct ; extra == 'dev' + - types-mock ; extra == 'dev' + - vendoring ; extra == 'dev' + - zict ; extra == 'dev' + - pytest-mock>=3.15.1 ; 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.10' +- pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d346f4c26f87808f06554571bc4b3e0fd388fb41 name: ophyd-async - version: 0.1.dev1025+g5495b4d80 + version: 0.1.dev1037+gd346f4c26 requires_dist: - numpy - bluesky>=1.13.1rc2 @@ -13716,6 +14153,64 @@ packages: - pyqt6 ; extra == 'demo' - pytest ; extra == 'demo' requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/01/f9/575c8d760eae1fc99651b7cc5efd96ad5379ca4d6b53750b0fb4fe983f34/imagesize-2.0.1-py3-none-any.whl + name: imagesize + version: 2.0.1 + sha256: ea0c9a0384df69ed86a943a15cde37d0360b82491b3910dc2215e202e62b5b02 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl + name: docutils + version: 0.22.4 + sha256: d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl + name: roman-numerals + version: 4.1.0 + sha256: 647ba99caddc2cc1e55a51e4360689115551bf4476d90e8162cf8c345fe233c7 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl + name: sphinxcontrib-htmlhelp + version: 2.1.0 + sha256: 166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8 + requires_dist: + - ruff==0.5.5 ; extra == 'lint' + - mypy ; extra == 'lint' + - types-docutils ; extra == 'lint' + - sphinx>=5 ; extra == 'standalone' + - pytest ; extra == 'test' + - html5lib ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/0f/88/7c548de1f6c2ade7c931a3282da73f9274fa6a1531091be682f89c85efb9/jupyter_client-8.10.0-py3-none-any.whl + name: jupyter-client + version: 8.10.0 + sha256: 5f73f24f22fa25192cfff6b23c051932a2473a797b05734aff495b392103e14e + requires_dist: + - jupyter-core>=5.1 + - python-dateutil>=2.8.2 + - pyzmq>=25.0 + - tornado>=6.4.1 + - traitlets>=5.3 + - typing-extensions>=4.13.0 + - 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' + - orjson ; extra == 'orjson' + - anyio ; extra == 'test' + - coverage ; extra == 'test' + - ipykernel>=6.14 ; extra == 'test' + - msgpack ; extra == 'test' + - mypy ; platform_python_implementation != 'PyPy' and extra == 'test' + - paramiko ; sys_platform == 'win32' and extra == 'test' + - pre-commit ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-jupyter[client]>=0.6.2 ; extra == 'test' + - pytest-timeout ; extra == 'test' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl name: pyparsing version: 3.3.2 @@ -13724,35 +14219,6 @@ packages: - railroad-diagrams ; extra == 'diagrams' - jinja2 ; extra == 'diagrams' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: pymongo - version: 4.17.0 - sha256: faf03e4c2aafd6de626dbd30ba246d369ae33f47f10629d1bbe40f72115027a6 - requires_dist: - - dnspython>=2.6.1,<3.0.0 - - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' - - furo==2025.12.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>=2023.7.22 ; (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>=1.2.4 ; os_name != 'nt' and extra == 'gssapi' - - winkerberos>=0.5.0 ; os_name == 'nt' and extra == 'gssapi' - - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') - - cryptography>=42.0.0 ; extra == 'ocsp' - - pyopenssl>=23.2.0 ; extra == 'ocsp' - - requests>=2.23.0,<3.0 ; extra == 'ocsp' - - service-identity>=23.1.0 ; extra == 'ocsp' - - python-snappy>=0.6.0 ; extra == 'snappy' - - importlib-metadata>=7.0 ; python_full_version < '3.13' and extra == 'test' - - pytest-asyncio>=0.24.0 ; extra == 'test' - - pytest>=8.2 ; extra == 'test' - - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/12/29/ce9c8e81a6b9be7722ac00cb592ce6b652405eecb178bf410810732957ec/epicscorelibs-7.0.10.99.0.1-cp311-cp311-manylinux2014_x86_64.whl name: epicscorelibs version: 7.0.10.99.0.1 @@ -13901,6 +14367,18 @@ packages: requires_dist: - setuptools requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl + name: sphinxcontrib-qthelp + version: 2.0.0 + sha256: b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb + requires_dist: + - ruff==0.5.5 ; extra == 'lint' + - mypy ; extra == 'lint' + - types-docutils ; extra == 'lint' + - sphinx>=5 ; extra == 'standalone' + - pytest ; extra == 'test' + - defusedxml>=0.7.1 ; extra == 'test' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl name: flexcache version: '0.3' @@ -13912,35 +14390,6 @@ packages: - pytest-cov ; extra == 'test' - pytest-subtests ; extra == 'test' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: pymongo - version: 4.17.0 - sha256: 8e97e03fa13327c87e3fdc5656acd01e71817f0c1dc3221cd8f30de136bf4ec3 - requires_dist: - - dnspython>=2.6.1,<3.0.0 - - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' - - furo==2025.12.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>=2023.7.22 ; (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>=1.2.4 ; os_name != 'nt' and extra == 'gssapi' - - winkerberos>=0.5.0 ; os_name == 'nt' and extra == 'gssapi' - - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') - - cryptography>=42.0.0 ; extra == 'ocsp' - - pyopenssl>=23.2.0 ; extra == 'ocsp' - - requests>=2.23.0,<3.0 ; extra == 'ocsp' - - service-identity>=23.1.0 ; extra == 'ocsp' - - python-snappy>=0.6.0 ; extra == 'snappy' - - importlib-metadata>=7.0 ; python_full_version < '3.13' and extra == 'test' - - pytest-asyncio>=0.24.0 ; extra == 'test' - - pytest>=8.2 ; extra == 'test' - - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl name: jupyterlab-widgets version: 3.0.17 @@ -13951,6 +14400,17 @@ packages: version: 4.0.16 sha256: a31a8774885b96fe825462f5d6496166f0c7cae111195b6465c801d230eb5a4e requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl + name: sphinxcontrib-devhelp + version: 2.0.0 + sha256: aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2 + requires_dist: + - ruff==0.5.5 ; extra == 'lint' + - mypy ; extra == 'lint' + - types-docutils ; extra == 'lint' + - sphinx>=5 ; extra == 'standalone' + - pytest ; extra == 'test' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/3a/47/b45332d3d6427811909d934f8675956ee5b9e10e46f689464d6ea23ab858/pvxslibs-1.5.2-cp312-cp312-manylinux2014_x86_64.whl name: pvxslibs version: 1.5.2 @@ -13959,6 +14419,46 @@ packages: - setuptools-dso>=2.7a1 - epicscorelibs>=7.0.10.99.0.1,<7.0.10.99.1 requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/3d/02/77b271f5dc58bfbc0b577c877b2365d1ffea2afe66a80c13f2312820348c/ipykernel-7.3.0-py3-none-any.whl + name: ipykernel + version: 7.3.0 + sha256: 897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057 + requires_dist: + - appnope>=0.1.2 ; sys_platform == 'darwin' + - comm>=0.1.1 + - debugpy>=1.6.5 + - ipython>=7.23.1 + - jupyter-client>=8.9.0 + - jupyter-core>=5.1,!=6.0.* + - matplotlib-inline>=0.1 + - nest-asyncio2>=1.7.0 + - packaging>=22 + - psutil>=5.7 + - pyzmq>=25 + - tornado>=6.4.1 + - 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 ; extra == 'docs' + - sphinx-autodoc-typehints ; 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,<10 ; extra == 'test' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/40/79/5be34236697e8fabbed5534a67100b9d9d11c210de55ba3ba2590d7d7634/confluent_kafka-2.15.0-cp313-cp313-manylinux_2_28_x86_64.whl name: confluent-kafka version: 2.15.0 @@ -14277,6 +14777,11 @@ packages: - protobuf ; extra == 'all' - boto3>=1.42.25 ; extra == 'all' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/4c/07/2ebca9b11fb9be7340a818d8d6f63feaebb146be2c4afbd6061701d6df6e/snowballstemmer-3.1.1-py3-none-any.whl + name: snowballstemmer + version: 3.1.1 + sha256: 7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752 + requires_python: '>=3.3' - pypi: https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl name: ldap3 version: 2.9.1 @@ -14292,6 +14797,15 @@ packages: - setuptools-dso>=2.11a2 - numpy requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/51/79/119091c98e2bf49e24ed9f3ae69f816d715d2904aefa6a2baa039a2ba0b0/ecdsa-0.19.2-py2.py3-none-any.whl + name: ecdsa + version: 0.19.2 + sha256: 840f5dc5e375c68f36c1a7a5b9caad28f95daa65185c9253c0c08dd952bb7399 + requires_dist: + - six>=1.9.0 + - gmpy ; extra == 'gmpy' + - gmpy2 ; extra == 'gmpy2' + requires_python: '>=2.6,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' - pypi: https://files.pythonhosted.org/packages/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.whl name: aioca version: '2.1' @@ -14300,6 +14814,66 @@ packages: - numpy - epicscorelibs>=7.0.3.99.4.0 requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl + name: sphinxcontrib-serializinghtml + version: 2.0.0 + sha256: 6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331 + requires_dist: + - ruff==0.5.5 ; extra == 'lint' + - mypy ; extra == 'lint' + - types-docutils ; extra == 'lint' + - sphinx>=5 ; extra == 'standalone' + - pytest ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl + name: sphinxcontrib-applehelp + version: 2.0.0 + sha256: 4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5 + requires_dist: + - ruff==0.5.5 ; extra == 'lint' + - mypy ; extra == 'lint' + - types-docutils ; extra == 'lint' + - sphinx>=5 ; extra == 'standalone' + - pytest ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5d/fa/c21e7fe8f480538c58f718b49bd1370e81f2ebaae91c6b4844378d17c24e/pymongo-4.18.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pymongo + version: 4.18.0 + sha256: b3ef22f72013934c1a688f42c3dc629b2c8215d03e313ec45f00e4f9a80ef2c8 + requires_dist: + - dnspython>=2.7.0,<3.0.0 + - pymongo-auth-aws>=1.3.0,<2.0.0 ; extra == 'aws' + - furo==2025.12.19 ; extra == 'docs' + - readthedocs-sphinx-search~=0.3 ; extra == 'docs' + - sphinx-autobuild>=2024.10.3 ; extra == 'docs' + - sphinx-rtd-theme>=3.1.0,<4 ; extra == 'docs' + - sphinx>=5.3,<9 ; extra == 'docs' + - sphinxcontrib-shellcheck>=1.1.2,<2 ; extra == 'docs' + - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'encryption') or (os_name == 'nt' and extra == 'encryption') + - pymongo-auth-aws>=1.3.0,<2.0.0 ; extra == 'encryption' + - pymongocrypt>=1.18.1,<2.0.0 ; extra == 'encryption' + - pykerberos>=1.2.4 ; os_name != 'nt' and extra == 'gssapi' + - winkerberos>=0.12.2 ; os_name == 'nt' and extra == 'gssapi' + - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') + - cryptography>=47.0.0 ; extra == 'ocsp' + - pyopenssl>=26.2.0 ; extra == 'ocsp' + - requests>=2.23.0,<3.0 ; extra == 'ocsp' + - service-identity>=24.2.0 ; extra == 'ocsp' + - python-snappy>=0.7.3 ; extra == 'snappy' + - importlib-metadata>=7.0 ; python_full_version < '3.13' and extra == 'test' + - pytest-asyncio>=0.24.0 ; extra == 'test' + - pytest>=8.2 ; extra == 'test' + - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5f/85/115246eeec396feedc81bed42f832c97bf433a803688a4bf0e5d763e808a/bluesky_queueserver_api-0.0.13-py3-none-any.whl + name: bluesky-queueserver-api + version: 0.0.13 + sha256: e00c22e611f47dbcd464f7a7c28d764422366d04b9f9cbfc4012fc1b1ba7056c + requires_dist: + - bluesky-queueserver + - websockets + - httpx + requires_python: '>=3.7' - 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 @@ -14327,6 +14901,72 @@ packages: version: 0.2.15 sha256: 11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/62/2c/d5828306f795e8d34676d266823b74e2101e0ad3760d12083de3e02abbb2/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + name: pyzmq + version: 27.2.0 + sha256: dea74fd65f1fc5f7fe167916a473ebe6ed6174e5e5d9de11ea6583661be6cf43 + requires_dist: + - cffi ; implementation_name == 'pypy' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/62/5e/3a6a3e90f35cea3853c45e5d5fb9b7192ce4384616f932cf7591298ab6e1/numpydoc-1.10.0-py3-none-any.whl + name: numpydoc + version: 1.10.0 + sha256: 3149da9874af890bcc2a82ef7aae5484e5aa81cb2778f08e3c307ba6d963721b + requires_dist: + - sphinx>=6 + - tomli>=1.1.0 ; python_full_version < '3.11' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl + name: rsa + version: 4.9.1 + sha256: 68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762 + requires_dist: + - pyasn1>=0.1.3 + requires_python: '>=3.6,<4' +- pypi: https://files.pythonhosted.org/packages/66/a3/54b9d35d9f2e6b4a2546212c1b0df4412a97c4323223a1f9ace8ee22689f/bluesky_queueserver-0.0.25-py3-none-any.whl + name: bluesky-queueserver + version: 0.0.25 + sha256: 489a0304343c52942cdef52357895c1dc0c38b18931c3c9e924e5762ff0eea05 + requires_dist: + - bluesky>=1.7.0 + - ipykernel + - jsonschema + - jupyter-client>=7.4.2 + - jupyter-console + - numpydoc + - openpyxl + - ophyd + - packaging + - pydantic + - python-multipart + - pyyaml + - pyzmq + - redis[hiredis] + - requests + - coverage ; extra == 'dev' + - ruff ; extra == 'dev' + - happi>=1.14.0 ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-xprocess ; extra == 'dev' + - pytest-split ; extra == 'dev' + - py ; extra == 'dev' + - ipython ; extra == 'dev' + - matplotlib ; extra == 'dev' + - numpy ; extra == 'dev' + - intake ; extra == 'dev' + - numpydoc ; extra == 'dev' + - scikit-image ; extra == 'dev' + - sphinx ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - pandas ; extra == 'dev' + - pyarrow ; extra == 'dev' + - h5py ; extra == 'dev' + - aioca ; extra == 'dev' + - ophyd-async ; extra == 'dev' + - build ; extra == 'dev' + - twine ; extra == 'dev' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.0-py3-none-any.whl name: scanspec version: 1.0.0 @@ -14340,6 +14980,11 @@ packages: - fastapi>=0.100.0 ; extra == 'service' - uvicorn ; extra == 'service' requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: charset-normalizer + version: 3.5.1 + sha256: b9af956078716df40d985fb0dfeb2c2120c5ca92ba4ff4b388acfd01cdc14d08 + requires_python: '>=3.7' - 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 @@ -14358,6 +15003,55 @@ packages: - scanspec ; extra == 'dev' - pydantic<2.0 ; extra == 'dev' requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl + name: sphinx + version: 9.1.0 + sha256: c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978 + requires_dist: + - 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 + - jinja2>=3.1 + - pygments>=2.17 + - docutils>=0.21,<0.23 + - snowballstemmer>=2.2 + - babel>=2.13 + - alabaster>=0.7.14 + - imagesize>=1.3 + - requests>=2.30.0 + - roman-numerals>=1.0.0 + - packaging>=23.0 + - colorama>=0.4.6 ; sys_platform == 'win32' + requires_python: '>=3.12' +- pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl + name: babel + version: 2.18.0 + sha256: e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35 + requires_dist: + - pytz>=2015.7 ; python_full_version < '3.9' + - tzdata ; sys_platform == 'win32' and extra == 'dev' + - backports-zoneinfo ; python_full_version < '3.9' and extra == 'dev' + - freezegun~=1.0 ; extra == 'dev' + - jinja2>=3.0 ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest>=6.0 ; extra == 'dev' + - pytz ; extra == 'dev' + - setuptools ; extra == 'dev' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/78/ac/5c5b959999b6f09c3026b5dfe171575bc3121c5236ce74f495096f25b203/greenlet-3.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: greenlet + version: 3.5.5 + sha256: 147b25a42e5ca5be3d42356e8f608b37af715a1c196e9bf9d1627f3341adfe1d + requires_dist: + - sphinx ; extra == 'docs' + - furo ; extra == 'docs' + - objgraph ; extra == 'test' + - psutil ; extra == 'test' + - setuptools ; extra == 'test' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/7a/dd/4d3911049680da7b3aecf97cb5094e3a05554f5d94829358fc7664640456/fonttools-4.64.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: fonttools version: 4.64.0 @@ -14401,6 +15095,22 @@ packages: - setuptools-dso>=2.11a2 - numpy requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl + name: alabaster + version: 1.0.0 + sha256: fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl + name: urllib3 + version: 2.7.0 + sha256: 9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897 + requires_dist: + - brotli>=1.2.0 ; platform_python_implementation == 'CPython' and extra == 'brotli' + - brotlicffi>=1.2.0.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' + - h2>=4,<5 ; extra == 'h2' + - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' + - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/89/00/05c2d0369ac322d22d5c05f84b5c4a6856fa6207fbae42869108a28f0383/kiwisolver-1.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: kiwisolver version: 1.5.1 @@ -14735,6 +15445,90 @@ packages: - 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/95/51/67e7cf11a53e40694f720457d5b3a1cdaaa3d5a9a633e482f225456b93ff/debugpy-1.8.21-py2.py3-none-any.whl + name: debugpy + version: 1.8.21 + sha256: b1e37d333663c8851516a47364ef473da127f9caebe4417e6df6f5825a7e9a92 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl + name: setuptools + version: 84.0.0 + sha256: 51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670 + 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' + - jaraco-functools>=4 ; extra == 'core' + - more-itertools ; extra == 'core' + - pytest-checkdocs>=2.14 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - ruff>=0.13.0 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=3.4 ; extra == 'enabler' + - pytest-mypy>=1.0.1 ; platform_python_implementation != 'PyPy' and extra == 'type' + - mypy==1.18.* ; 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.10' +- pypi: https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-py3-none-any.whl + name: pyasn1 + version: 0.6.4 + sha256: deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b + requires_python: '>=3.8' +- 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 +- pypi: https://files.pythonhosted.org/packages/9c/cb/9014784dcb0585977ae23b6f43331d0a33c51ac0d692506d12b4f5ee9f3b/alembic-1.19.2-py3-none-any.whl + name: alembic + version: 1.19.2 + sha256: 32d553dcd577e6fe5c3c63e91468526d35e4dcecafe865d7db4e9b328fa93cb2 + requires_dist: + - sqlalchemy>=1.4.23 + - mako + - typing-extensions>=4.12 + - tomli ; python_full_version < '3.11' + - tzdata ; extra == 'tz' + requires_python: '>=3.10' - 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 @@ -14755,10 +15549,32 @@ packages: - numpy<3 - qtpy ; extra == 'qt' requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl + name: requests + version: 2.34.2 + sha256: 2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 + requires_dist: + - charset-normalizer>=2,<4 + - idna>=2.5,<4 + - urllib3>=1.26,<3 + - certifi>=2023.5.7 + - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks' + - chardet>=3.0.2,<8 ; extra == 'use-chardet-on-py3' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl name: ply version: '3.11' sha256: 096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce +- pypi: https://files.pythonhosted.org/packages/a5/54/12ed58d458474aaab5c3d180173e745a4fe131bb330370596876d19ff60f/mako-1.4.1-py3-none-any.whl + name: mako + version: 1.4.1 + sha256: a359d9a94a541213958742b2698d0a7757bb83551767bc468a74b9905aba9617 + requires_dist: + - markupsafe>=2.0 + - pytest ; extra == 'testing' + - babel ; extra == 'babel' + - lingua>=4.16 ; extra == 'lingua' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl name: semver version: 3.0.4 @@ -14795,6 +15611,33 @@ packages: - msgpack-numpy - suitcase-mongo requires_python: '>=3.6' +- 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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_x86_64.whl name: pvxslibs version: 1.5.2 @@ -14803,11 +15646,99 @@ packages: - setuptools-dso>=2.7a1 - epicscorelibs>=7.0.10.99.0.1,<7.0.10.99.1 requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/bd/dc/7c620995d4dff3eb1fdf62236844f3cb67d3042ed1a6d4f4059ef5dc79a6/pymongo-4.18.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pymongo + version: 4.18.0 + sha256: c9b8e25f672f5b2b30c6b834e162454e721cf1f782e753f0e9ea3bca225900f3 + requires_dist: + - dnspython>=2.7.0,<3.0.0 + - pymongo-auth-aws>=1.3.0,<2.0.0 ; extra == 'aws' + - furo==2025.12.19 ; extra == 'docs' + - readthedocs-sphinx-search~=0.3 ; extra == 'docs' + - sphinx-autobuild>=2024.10.3 ; extra == 'docs' + - sphinx-rtd-theme>=3.1.0,<4 ; extra == 'docs' + - sphinx>=5.3,<9 ; extra == 'docs' + - sphinxcontrib-shellcheck>=1.1.2,<2 ; extra == 'docs' + - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'encryption') or (os_name == 'nt' and extra == 'encryption') + - pymongo-auth-aws>=1.3.0,<2.0.0 ; extra == 'encryption' + - pymongocrypt>=1.18.1,<2.0.0 ; extra == 'encryption' + - pykerberos>=1.2.4 ; os_name != 'nt' and extra == 'gssapi' + - winkerberos>=0.12.2 ; os_name == 'nt' and extra == 'gssapi' + - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') + - cryptography>=47.0.0 ; extra == 'ocsp' + - pyopenssl>=26.2.0 ; extra == 'ocsp' + - requests>=2.23.0,<3.0 ; extra == 'ocsp' + - service-identity>=24.2.0 ; extra == 'ocsp' + - python-snappy>=0.7.3 ; extra == 'snappy' + - importlib-metadata>=7.0 ; python_full_version < '3.13' and extra == 'test' + - pytest-asyncio>=0.24.0 ; extra == 'test' + - pytest>=8.2 ; extra == 'test' + - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/be/57/2eadf93a552568c57e8680b7e58bb5e9770d80942a1bdbaf4f2f63f0d7c8/sqlalchemy-2.0.52-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: sqlalchemy + version: 2.0.52 + sha256: 8738008376d22f30f411ea3efecf39b51110b6996d80bb73786f30bcfdd5fd3b + requires_dist: + - importlib-metadata ; python_full_version < '3.8' + - greenlet>=1 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' + - typing-extensions>=4.6.0 + - greenlet>=1 ; extra == 'asyncio' + - mypy>=0.910 ; extra == 'mypy' + - pyodbc ; extra == 'mssql' + - pymssql ; extra == 'mssql-pymssql' + - pyodbc ; extra == 'mssql-pyodbc' + - mysqlclient>=1.4.0 ; extra == 'mysql' + - mysql-connector-python ; extra == 'mysql-connector' + - mariadb>=1.0.1,!=1.1.2,!=1.1.5,!=1.1.10 ; extra == 'mariadb-connector' + - cx-oracle>=8 ; extra == 'oracle' + - oracledb>=1.0.1 ; extra == 'oracle-oracledb' + - psycopg2>=2.7 ; extra == 'postgresql' + - pg8000>=1.29.1 ; extra == 'postgresql-pg8000' + - greenlet>=1 ; extra == 'postgresql-asyncpg' + - asyncpg ; extra == 'postgresql-asyncpg' + - psycopg2-binary ; extra == 'postgresql-psycopg2binary' + - psycopg2cffi ; extra == 'postgresql-psycopg2cffi' + - psycopg>=3.0.7 ; extra == 'postgresql-psycopg' + - psycopg[binary]>=3.0.7 ; extra == 'postgresql-psycopgbinary' + - pymysql ; extra == 'pymysql' + - greenlet>=1 ; extra == 'aiomysql' + - aiomysql>=0.2.0 ; extra == 'aiomysql' + - greenlet>=1 ; extra == 'aioodbc' + - aioodbc ; extra == 'aioodbc' + - greenlet>=1 ; extra == 'asyncmy' + - asyncmy>=0.2.12 ; extra == 'asyncmy' + - greenlet>=1 ; extra == 'aiosqlite' + - aiosqlite ; extra == 'aiosqlite' + - typing-extensions!=3.10.0.1 ; extra == 'aiosqlite' + - sqlcipher3-binary ; extra == 'sqlcipher' + requires_python: '>=3.7' - 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/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl + name: openpyxl + version: 3.1.5 + sha256: 5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2 + requires_dist: + - et-xmlfile + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl + name: et-xmlfile + version: 2.0.0 + sha256: 7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl + name: sphinxcontrib-jsmath + version: 1.0.1 + sha256: 2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178 + requires_dist: + - pytest ; extra == 'test' + - flake8 ; extra == 'test' + - mypy ; extra == 'test' + requires_python: '>=3.5' - pypi: https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl name: ipywidgets version: 8.1.9 @@ -14824,6 +15755,11 @@ packages: - pytest-cov ; extra == 'test' - pytz ; extra == 'test' requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/c5/3c/3179b85b0e1c3659f0369940200cd6d0fa900e6cefcc7ea0bc6dd0e29ffb/nest_asyncio2-1.7.2-py3-none-any.whl + name: nest-asyncio2 + version: 1.7.2 + sha256: f5dfa702f3f81f6a03857e9a19e2ba578c0946a4ad417b4c50a24d7ba641fe01 + requires_python: '>=3.5' - pypi: https://files.pythonhosted.org/packages/c6/18/fe516c9e158556b59c16b92da948186ba240925f80242d39795d94255b27/confluent_kafka-2.15.0-cp311-cp311-manylinux_2_28_x86_64.whl name: confluent-kafka version: 2.15.0 @@ -15142,6 +16078,20 @@ packages: - protobuf ; extra == 'all' - boto3>=1.42.25 ; extra == 'all' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/c8/cb/6a6a47d5b464bd08695d254f3da6e7986cc70c9fa5d778eda57538edfe56/starlette-1.6.0-py3-none-any.whl + name: starlette + version: 1.6.0 + sha256: a86dd39d14bb45f85a3d18525215a9ef0cfd1f192ac793220e72598c90335f0c + requires_dist: + - anyio>=3.6.2,<5 + - typing-extensions>=4.10.0 ; python_full_version < '3.13' + - httpx2>=2.0.0 ; extra == 'full' + - httpx>=0.27.0,<0.29.0 ; extra == 'full' + - itsdangerous ; extra == 'full' + - jinja2 ; extra == 'full' + - python-multipart>=0.0.18 ; extra == 'full' + - pyyaml ; extra == 'full' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/c9/cf/b4ad2cc81b6672ea29ea04e64e350a9f9b493b0908ccd884c67eeff8f7b2/matplotlib-3.11.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: matplotlib version: 3.11.1 @@ -15157,6 +16107,89 @@ packages: - pyparsing>=3 - python-dateutil>=2.7 requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl + name: opentelemetry-api + version: 1.44.0 + sha256: 94b98c893a91b88657eaac1e3ba89618cdb85be6918196705354f34728b2cdef + requires_dist: + - typing-extensions>=4.5.0 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl + name: jupyter-console + version: 6.6.3 + sha256: 309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485 + requires_dist: + - ipykernel>=6.14 + - ipython + - jupyter-client>=7.0.0 + - jupyter-core>=4.12,!=5.0.* + - prompt-toolkit>=3.0.30 + - pygments + - pyzmq>=17 + - traitlets>=5.4 + - flaky ; extra == 'test' + - pexpect ; extra == 'test' + - pytest ; extra == 'test' + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/ca/9f/c0d4811ce61696113b7b0b2f8dfa1218c4b47caad8383ce8269555884d90/bluesky_httpserver-0.0.12-py3-none-any.whl + name: bluesky-httpserver + version: 0.0.12 + sha256: c953d3ab969b256a117b6a44d57bd0ee4d85caea4242966078c6ac17116ffc90 + requires_dist: + - alembic + - bluesky-queueserver + - bluesky-queueserver-api + - fastapi + - ldap3 + - orjson + - pamela + - pydantic + - pydantic-settings + - python-jose + - pyzmq + - sqlalchemy + - starlette + - uvicorn + - typing-extensions ; python_full_version < '3.8' + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/cb/03/10388a42375ee7e4ac9b94eb2c5c569c8b5795e377e701c9ac3ad63de890/fastapi-0.141.1-py3-none-any.whl + name: fastapi + version: 0.141.1 + sha256: bfb91aa2d334c61cb35ba9a116fc123b3d3df31640b801cf57a7a78ec3f603b3 + requires_dist: + - starlette>=0.46.0 + - pydantic>=2.9.0 + - typing-extensions>=4.8.0 + - typing-inspection>=0.4.2 + - annotated-doc>=0.0.2 + - fastapi-cli[standard]>=0.0.32 ; extra == 'standard' + - fastar>=0.9.0 ; extra == 'standard' + - httpx>=0.23.0,<1.0.0 ; extra == 'standard' + - jinja2>=3.1.5 ; extra == 'standard' + - python-multipart>=0.0.18 ; extra == 'standard' + - email-validator>=2.0.0 ; extra == 'standard' + - uvicorn[standard]>=0.12.0 ; extra == 'standard' + - pydantic-settings>=2.0.0 ; extra == 'standard' + - pydantic-extra-types>=2.0.0 ; extra == 'standard' + - fastapi-cli[standard-no-fastapi-cloud-cli]>=0.0.32 ; extra == 'standard-no-fastapi-cloud-cli' + - httpx>=0.23.0,<1.0.0 ; extra == 'standard-no-fastapi-cloud-cli' + - jinja2>=3.1.5 ; extra == 'standard-no-fastapi-cloud-cli' + - python-multipart>=0.0.18 ; extra == 'standard-no-fastapi-cloud-cli' + - email-validator>=2.0.0 ; extra == 'standard-no-fastapi-cloud-cli' + - uvicorn[standard]>=0.12.0 ; extra == 'standard-no-fastapi-cloud-cli' + - pydantic-settings>=2.0.0 ; extra == 'standard-no-fastapi-cloud-cli' + - pydantic-extra-types>=2.0.0 ; extra == 'standard-no-fastapi-cloud-cli' + - fastapi-cli[standard]>=0.0.32 ; extra == 'all' + - httpx>=0.23.0,<1.0.0 ; extra == 'all' + - jinja2>=3.1.5 ; extra == 'all' + - python-multipart>=0.0.18 ; extra == 'all' + - itsdangerous>=1.1.0 ; extra == 'all' + - pyyaml>=5.3.1 ; extra == 'all' + - email-validator>=2.0.0 ; extra == 'all' + - uvicorn[standard]>=0.12.0 ; extra == 'all' + - pydantic-settings>=2.0.0 ; extra == 'all' + - pydantic-extra-types>=2.0.0 ; extra == 'all' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/cf/4c/c73f828fdbcd37eaf21d08fa852544a3ca7c2dbb3ea76873d64f2ea413d1/opencv_python-5.0.0.93-cp37-abi3-manylinux_2_28_x86_64.whl name: opencv-python version: 5.0.0.93 @@ -15185,6 +16218,20 @@ packages: - setuptools-dso>=2.7a1 - epicscorelibs>=7.0.10.99.0.1,<7.0.10.99.1 requires_python: '>=2.7' +- pypi: https://files.pythonhosted.org/packages/d9/c3/0bd11992072e6a1c513b16500a5d07f91a24017c5909b02c72c62d7ad024/python_jose-3.5.0-py2.py3-none-any.whl + name: python-jose + version: 3.5.0 + sha256: abd1202f23d34dfad2c3d28cb8617b90acf34132c7afd60abd0b0b7d3cb55771 + requires_dist: + - ecdsa!=0.15 + - rsa>=4.0,!=4.1.1,!=4.4,<5.0 + - pyasn1>=0.5.0 + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - cryptography>=3.4.0 ; extra == 'cryptography' + - pycrypto>=2.6.0,<2.7.0 ; extra == 'pycrypto' + - pycryptodome>=3.3.1,<4.0.0 ; extra == 'pycryptodome' + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/dc/8f/e5f2906ea833d362916c64a2f6b1922a07b19442744fd3cd89563f429bff/fonttools-4.64.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: fonttools version: 4.64.0 @@ -15261,6 +16308,11 @@ packages: - pytest>=8.2 ; extra == 'test' - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl + name: python-multipart + version: 0.0.32 + sha256: ff6d3f776f16878c894e52e107296ffc890e913c611b1a4ec6c44e2821fe2e23 + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/e1/c1/a314376de17d02eb3e798929114cefeea29776174dab06b8162ce65ca82d/databroker-2.0.1-py2.py3-none-any.whl name: databroker version: 2.0.1 @@ -15360,6 +16412,38 @@ packages: - tzlocal ; extra == 'all' - zarr ; extra == 'all' requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl + name: cycler + version: 0.12.1 + sha256: 85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 + requires_dist: + - ipython ; extra == 'docs' + - matplotlib ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - pytest ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - pytest-xdist ; extra == 'tests' + 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' - pypi: https://files.pythonhosted.org/packages/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl name: p4p version: 4.2.2 @@ -15373,35 +16457,10 @@ packages: - numpy<3 - qtpy ; extra == 'qt' requires_python: '>=2.7' -- pypi: https://files.pythonhosted.org/packages/e9/c2/6855a07aafa7b894929af23675b6fb9634800ce43122b76a62f6eeb8da2a/pymongo-4.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: pymongo - version: 4.17.0 - sha256: b2dfcc795f5b9fedbe179a11fdf6051581479d196582a3fe819a92a00e9b9969 - requires_dist: - - dnspython>=2.6.1,<3.0.0 - - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' - - furo==2025.12.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>=2023.7.22 ; (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>=1.2.4 ; os_name != 'nt' and extra == 'gssapi' - - winkerberos>=0.5.0 ; os_name == 'nt' and extra == 'gssapi' - - certifi>=2023.7.22 ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') - - cryptography>=42.0.0 ; extra == 'ocsp' - - pyopenssl>=23.2.0 ; extra == 'ocsp' - - requests>=2.23.0,<3.0 ; extra == 'ocsp' - - service-identity>=23.1.0 ; extra == 'ocsp' - - python-snappy>=0.6.0 ; extra == 'snappy' - - importlib-metadata>=7.0 ; python_full_version < '3.13' and extra == 'test' - - pytest-asyncio>=0.24.0 ; extra == 'test' - - pytest>=8.2 ; extra == 'test' - - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' - requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/ec/14/1c52a2a3ca612d77550fef0404a496f080bfd600cf4c7c6a2a8ab4be2dc6/pamela-1.2.0-py2.py3-none-any.whl + name: pamela + version: 1.2.0 + sha256: 27e543f1059bab1d7bc35b322d97705b4653869d1a06fe867d8c2b5206ed9d28 - pypi: https://files.pythonhosted.org/packages/ef/80/c6dbf1f8d14fbb5615d2e99b798d61b76eb937f09e1e948d0e8aaf8873b2/ophyd-1.11.2-py3-none-any.whl name: ophyd version: 1.11.2 @@ -15461,6 +16520,21 @@ packages: - pyparsing>=3 - python-dateutil>=2.7 requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/f1/79/4a20b54ab0491485ccd8c077db2d39187c7f12b3e15485d38a7be37c81b4/uvicorn-0.52.4-py3-none-any.whl + name: uvicorn + version: 0.52.4 + sha256: f86e41a149d7d05a9969337e3946a9c171c06a5d42680896daaba624aeac8da1 + requires_dist: + - click>=7.0 + - h11>=0.8 + - typing-extensions>=4.0 ; python_full_version < '3.11' + - httptools>=0.8.0 ; extra == 'standard' + - python-dotenv>=0.13 ; extra == 'standard' + - pyyaml>=5.1 ; extra == 'standard' + - uvloop>=0.15.1 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32' and extra == 'standard' + - watchfiles>=0.20 ; extra == 'standard' + - websockets>=13.0 ; extra == 'standard' + requires_python: '>=3.10' - 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 @@ -15507,11 +16581,29 @@ packages: - skia-pathops>=0.5.0 ; extra == 'all' - uharfbuzz>=0.45.0 ; extra == 'all' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl + name: tqdm + version: 4.70.0 + sha256: 7f585706bfddbdebf89daac705b2dfcc16890130727d3197ca62c732b4310953 + requires_dist: + - colorama ; sys_platform == 'win32' + - requests ; extra == 'discord' + - envwrap ; extra == 'discord' + - slack-sdk ; extra == 'slack' + - envwrap ; extra == 'slack' + - requests ; extra == 'telegram' + - envwrap ; extra == 'telegram' + - ipywidgets>=6 ; extra == 'notebook' + requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/fc/f4/dadfec469313c7f428efa7e84b4aba9732f813c13ea7131a24b7b008ef57/kiwisolver-1.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: kiwisolver version: 1.5.1 sha256: 34633ecf50d16187ab8e5528b7a2530f2feb4e23f300db4672538b51cfc5cd38 requires_python: '>=3.10' +- 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/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl name: flexparser version: '0.4' diff --git a/pixi.toml b/pixi.toml index c62b08d..2397f46 100644 --- a/pixi.toml +++ b/pixi.toml @@ -6,7 +6,6 @@ platforms = ["linux-64"] python = ">=3.11,<3.14" algotom = ">=1.7.0,<2" ipython = ">=9.16.1,<10" -bluesky-base = ">=1.15.1,<2" tiled-client = ">=0.2.14,<0.3" bluesky-tiled-plugins = ">=2.0.9,<3" rich = ">=15.0.0,<16" @@ -20,12 +19,13 @@ scikit-image = ">=0.26.0,<0.27" [pypi-dependencies] hextools = { path = ".", editable = true } nslsii = { git = "https://github.com/NSLS2/nslsii", rev = "main" } +bluesky = { git = "https://github.com/bluesky/bluesky", rev = "main" } ophyd-async = { git = "https://github.com/jwlodek/ophyd-async", rev = "add-codec-and-process-plugin-allow-for-filtering" } [feature.profile.dependencies] redis-json-dict = ">=0.2.2,<0.3" -[feature.qs.dependencies] +[feature.qs.pypi-dependencies] bluesky-queueserver = ">=0.0.25,<0.0.26" bluesky-queueserver-api = ">=0.0.13,<0.0.14" bluesky-httpserver = ">=0.0.12,<0.0.13" diff --git a/pyproject.toml b/pyproject.toml index 6786757..a6bf8fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,8 @@ dependencies = [ "algotom", "ipython", "numpy", + "bluesky", + "nslsii", "ophyd-async[ca, pva]", "rich>=15.0.0", "scikit-image>=0.26.0", @@ -39,9 +41,6 @@ dependencies = [ ] [project.optional-dependencies] -iocs = [ - "caproto", -] gui = [ # "ntnda-qt-viewer", ] diff --git a/src/hextools/detectors/kinetix.py b/src/hextools/detectors/kinetix.py index b826236..824d89f 100644 --- a/src/hextools/detectors/kinetix.py +++ b/src/hextools/detectors/kinetix.py @@ -1 +1,13 @@ """Kinetix detector support for HEX beamline.""" + +from ophyd_async.epics.adkinetix import KinetixDetector +from ophyd_async.epics.adcore import ADWriterFactory + +def kinetix_factory(num: int, path_provider, name: str): + """Factory function to create a KinetixDetector with HDF writer.""" + return KinetixDetector( + f"XF:27ID1-BI{{Kinetix-Det:{num}}}", + ADWriterFactory.hdf(path_provider), + proc_suffix="Proc1:", + name=name, + ) \ No newline at end of file diff --git a/src/hextools/motors.py b/src/hextools/motors.py index e8c551f..ce0676e 100644 --- a/src/hextools/motors.py +++ b/src/hextools/motors.py @@ -21,6 +21,7 @@ from ophyd_async.epics.core import ( EpicsDevice, epics_signal_r, + epics_signal_rw, epics_triggerable_command, ) from ophyd_async.epics.motor import Motor as AsyncEpicsMotor @@ -56,11 +57,11 @@ def __init__(self, prefix: str, name="optics_table"): with self.add_children_as_readables(Format.CHILD): self.x2 = AsyncEpicsMotor(prefix + "X2}Mtr", name="x2") self.y2 = AsyncEpicsMotor(prefix + "Y2}Mtr", name="y2") - self.rx3 = AsyncEpicsMotor(prefix + "RX3}Mtr", name="rx3") - self.ry3 = AsyncEpicsMotor(prefix + "RY3}Mtr", name="ry3") + self.rx3 = AsyncEpicsMotor(prefix + "Rx3}Mtr", name="rx3") + self.ry3 = AsyncEpicsMotor(prefix + "Ry3}Mtr", name="ry3") self.x3 = AsyncEpicsMotor(prefix + "X3}Mtr", name="x3") self.y3 = AsyncEpicsMotor(prefix + "Y3}Mtr", name="y3") - self.ry4 = AsyncEpicsMotor(prefix + "RY4}Mtr", name="ry4") + self.ry4 = AsyncEpicsMotor(prefix + "Ry4}Mtr", name="ry4") self.x4 = AsyncEpicsMotor(prefix + "X4}Mtr", name="x4") self.a1 = AsyncEpicsMotor(prefix + "A1}Mtr", name="a1") self.z0 = AsyncEpicsMotor(prefix + "Z0}Mtr", name="z0") @@ -161,8 +162,8 @@ def __init__(self, prefix: str, name: str = "sample_tower"): class CameraObjective(StrictEnum): """Represents the camera objective in use.""" - LEFT_4MM = "left_4mm" - RIGHT_2MM = "right_2mm" + RIGHT_2MM = "Right Objective" + LEFT_4MM = "Left Objective" class HomeStatus(StrictEnum): @@ -172,7 +173,7 @@ class HomeStatus(StrictEnum): HOMED = "Homed" -class DoubleObjCamera(StandardReadable, EpicsDevice, AsyncMovable[CameraObjective]): +class FOV_2_4_mm_Camera(StandardReadable, EpicsDevice, AsyncMovable[CameraObjective | str]): """HEX double objective camera.""" def __init__(self, prefix: str, name: str = "double_obj_camera"): @@ -189,21 +190,18 @@ def __init__(self, prefix: str, name: str = "double_obj_camera"): prefix + "ObjSel}Sts:HomeCmplt-Sts", name="obj_selector_home_sts", ) + self.objective = epics_signal_rw(CameraObjective, prefix + "ObjSel}Objective", name="objective") + self._at_right_objective = epics_signal_r( bool, prefix + "ObjSel}AtRightObj", name="at_right_objective" ) self._at_left_objective = epics_signal_r( bool, prefix + "ObjSel}AtLeftObj", name="at_left_objective" ) - self._goto_right_objective = epics_triggerable_command( - prefix + "ObjSel}Cmd:GotoRight-Cmd", name="goto_right_objective" - ) - self._goto_left_objective = epics_triggerable_command( - prefix + "ObjSel}Cmd:GotoLeft-Cmd", name="goto_left_objective" - ) + @AsyncStatus.wrap - async def set(self, value: CameraObjective): + async def set(self, value: CameraObjective | str): """Move the camera to the specified objective. Parameters @@ -222,20 +220,32 @@ async def set(self, value: CameraObjective): "Please home it before moving to a specific objective." ) - if value == CameraObjective.LEFT_4MM: - await self._goto_left_objective.execute() - rb_check = self._at_left_objective - else: - await self._goto_right_objective.execute() - rb_check = self._at_right_objective + # Attempt to auto-deduce the CameraObjective from a string input. + if isinstance(value, str): + for possible_value in CameraObjective: + if value.upper() in possible_value.name: + value = possible_value + break + + if not isinstance(value, CameraObjective): + raise ValueError( + f"Invalid objective value: {value}. " + "Must be a CameraObjective or a string matching" \ + "one of its names." + ) + await self.objective.set(value) + if value == CameraObjective.RIGHT_2MM: + rb_check = self._at_right_objective + else: + rb_check = self._at_left_objective await wait_for_value(rb_check, True, timeout=None) -class WideFOVCamera(StandardReadable, EpicsDevice): +class FOV_20_40_mm_Camera(StandardReadable, EpicsDevice): """HEX wide field of view camera.""" - def __init__(self, prefix: str, name: str = "wide_fov_camera"): + def __init__(self, prefix: str, name: str = "fov_20_40_mm_camera"): super().__init__(prefix, name=name) with self.add_children_as_readables(Format.CHILD): self.focus = AsyncEpicsMotor(prefix + "Focus}Mtr", name="focus") diff --git a/src/hextools/photon_delivery_system.py b/src/hextools/photon_delivery_system.py deleted file mode 100644 index f0a848b..0000000 --- a/src/hextools/photon_delivery_system.py +++ /dev/null @@ -1,458 +0,0 @@ -"""Device classes and plans for the photon delivery system (PDS) at the HEX beamline.""" - -import asyncio -from dataclasses import dataclass -from enum import IntEnum -from importlib import resources -from typing import Final - -import numpy as np -import yaml -from bluesky import plan_stubs as bps -from bluesky import plans as bp -from bluesky.callbacks.fitting import PeakStats -from bluesky.preprocessors import subs_decorator -from ophyd_async.core import ( - AsyncMovable, - AsyncStatus, - StandardReadable, - StrictEnum, - derived_signal_r, - wait_for_value, -) -from ophyd_async.core import ( - StandardReadableFormat as Format, -) -from ophyd_async.epics.adcore import AreaDetector, NDStatsIO -from ophyd_async.epics.core import ( - EpicsDevice, - epics_signal_r, - epics_triggerable_command, -) -from ophyd_async.epics.motor import Motor as AsyncEpicsMotor - - -class Shutter(EpicsDevice, AsyncMovable[bool]): - """Photon shutter device.""" - - def __init__(self, prefix: str, name: str = ""): - - super().__init__(prefix, name=name) - self.status = epics_signal_r(bool, f"{prefix}Pos-Sts") - self.open_cmd = epics_triggerable_command(f"{prefix}Cmd:Opn-Cmd") - self.close_cmd = epics_triggerable_command(f"{prefix}Cmd:Cls-Cmd") - - @AsyncStatus.wrap - async def set(self, value: bool): - if value: - cmd_sig = self.open_cmd - else: - cmd_sig = self.close_cmd - - await cmd_sig.execute() - await wait_for_value(self.status, value, timeout=10) - - -class BeamMode(StrictEnum): - """Beam modes.""" - - MONOCHROMATIC = "Monochromatic" - WHITE = "White" - - -@dataclass -class FilterSetting: - """Description and motor position for a filter setting.""" - - position: float - description: str | None = None - - -class FilterPosition(IntEnum): - """Filter positions.""" - - UPPER_LIMIT = 0 - PASS_THROUGH = 1 - POS_1 = 2 # Thickest filter - POS_2 = 3 - POS_3 = 4 - POS_4 = 5 # Thinnest filter - LOWER_LIMIT = 6 - - -class Filter(StandardReadable, EpicsDevice, AsyncMovable[FilterPosition]): - """Filter device with multiple positions. - - This class represents a filter device with multiple positions, each corresponding - to a specific filter setting. It provides methods to set the filter position and - retrieve the description of the current filter setting. - - Attributes - ---------- - in_position : epics_signal_r - Signal indicating whether the filter is in position. - positions : dict - Dictionary mapping FilterPosition to FilterSetting. - filter_motor : AsyncEpicsMotor - Motor controlling the filter position. - description : derived_signal_r - Derived signal providing the description of the current filter setting. - """ - - def __init__( - self, - motor_pv: str, - positions: dict[FilterPosition, FilterSetting], - in_pos_switch_pv: str, - name: str = "", - ): - self.in_position = epics_signal_r(bool, in_pos_switch_pv) - self.positions = positions - self.filter_motor = AsyncEpicsMotor(motor_pv) - with self.add_children_as_readables(Format.CONFIG_SIGNAL): - self.description = derived_signal_r( - self._get_description, - in_pos=self.in_position, - motor_pos=self.filter_motor.user_readback, - ) - super().__init__(name=name) - - def _get_description(self, in_pos: int, motor_pos: float) -> str: - """Get the description of the current filter setting based on motor position. - - Parameters - ---------- - in_pos : int - Indicates whether the filter is in position. - motor_pos : float - Current position of the filter motor. - - Returns - ------- - str - Description of the current filter setting. - """ - if not in_pos: - return "out of position" - closest = min( - self.positions.items(), key=lambda item: abs(item[1].position - motor_pos) - ) - return closest[1].description or closest[0].name.lower().replace("_", " ") - - @AsyncStatus.wrap - async def set(self, value: FilterPosition): - """Set the filter to the specified position. - - Parameters - ---------- - value : FilterPosition - The desired filter position to set. - """ - if value not in self.positions: - raise ValueError( - f"Invalid filter position: {value}. " - f"Defined positions are: {list(self.positions.keys())}" - ) - - await self.filter_motor.set(self.positions[value].position) - await wait_for_value(self.in_position, True, timeout=10) - - -FILTERS_CONFIG_RESOURCE: str = "filters.yml" - - -def load_filters() -> list[Filter]: - """Create Filter devices from the packaged YAML configuration file. - - The ``filters.yml`` file bundled with the ``hextools`` package is used. - Each top-level key defines a filter with its ``motor_pv``, - ``in_position_switch`` PV, and a ``positions`` mapping. The ``positions`` - mapping must contain exactly one entry per :class:`FilterPosition`, keyed by - the lowercased enum name (``upper_limit``, ``pass_through``, ``pos_1`` .. - ``pos_4``, ``lower_limit``). Each value is either a number (the motor - position) or a mapping with ``position`` and optional ``description`` keys. - - Returns - ------- - list[Filter] - One configured Filter device per top-level entry, named after its key. - """ - source = resources.files(__package__ or "hextools").joinpath( - FILTERS_CONFIG_RESOURCE - ) - config = yaml.safe_load(source.read_text(encoding="utf-8")) - - filters: list[Filter] = [] - for name, spec in config["filters"].items(): - positions_spec = spec["positions"] - if len(positions_spec) != len(FilterPosition): - raise ValueError( - f"Filter {name!r} must define exactly {len(FilterPosition)} " - f"positions (one per FilterPosition), got {len(positions_spec)}." - ) - positions: dict[FilterPosition, FilterSetting] = {} - for key, value in positions_spec.items(): - filter_position = FilterPosition[key.upper()] - if isinstance(value, dict): - setting = FilterSetting(value["position"], value.get("description")) - else: - setting = FilterSetting(value) - positions[filter_position] = setting - filters.append( - Filter( - motor_pv=spec["motor_pv"], - positions=positions, - in_pos_switch_pv=spec["in_position_switch"], - name=name, - ) - ) - return filters - - -class Slits(StandardReadable, EpicsDevice): - """Generic slits with inboard, outboard, bottom, and top motors.""" - - def __init__(self, prefix: str, num: int, name: str = ""): - super().__init__(f"{prefix}{{Slt:{num}-Ax:", name=name or f"slits{num}") - with self.add_children_as_readables(Format.CONFIG_SIGNAL): - self.inboard = AsyncEpicsMotor(prefix + "I}Mtr", name="inboard") - self.outboard = AsyncEpicsMotor(prefix + "O}Mtr", name="outboard") - self.bottom = AsyncEpicsMotor(prefix + "B}Mtr", name="bottom") - self.top = AsyncEpicsMotor(prefix + "T}Mtr", name="top") - - -class DCLM(StandardReadable, EpicsDevice, AsyncMovable[BeamMode]): - """Double crystal Laue monochromator device. - - This class represents a double crystal laue monochromator (DCLM) device, - which is used to select a specific energy of X-rays from a white beam. - It provides methods to set the beam mode (white or monochromatic) and to - change the energy of the monochromatic beam. - - Attributes - ---------- - xtal1_vertical_trans : AsyncEpicsMotor - Motor for the vertical translation of the first crystal. - cooled_beam_stop : AsyncEpicsMotor - Motor for the cooled beam stop. - xtal1_pitch : AsyncEpicsMotor - Motor for the pitch of the first crystal. - xtal2_pitch : AsyncEpicsMotor - Motor for the pitch of the second crystal. - flourescence_screen : AsyncEpicsMotor - Motor for the fluorescence screen. - xtal2_z : AsyncEpicsMotor - Motor for the z-position of the second crystal. - beam_mode : derived_signal_r - Derived signal representing the current beam mode (white or monochromatic). - energy : derived_signal_r - Derived signal representing the current energy of the monochromatic beam. - beam_stop_in : float - Position of the beam stop when it is in the beam path. - beam_stop_out : float - Position of the beam stop when it is out of the beam path. - crystal_1_in : float - Position of the first crystal when it is in the beam path. - crystal_1_out : float - Position of the first crystal when it is out of the beam path. - fluo_y_direct : float - Position of the fluorescence screen when it is in the direct beam path. - fluo_y_direct_out : float - Position of the fluorescence screen when it is out of the beam path. - - Methods - ------- - set(value: BeamMode) - Set the beam mode to either white or monochromatic. - """ - - # Constants for in/out positions of the monochromator components - beam_stop_in: Final[float] = 0.0 - beam_stop_out: Final[float] = 48.3 - xtal1_in: Final[float] = 0.0 - xtal1_out: Final[float] = -36.0 - fs_in: Final[float] = 25.0 - fs_out: Final[float] = 46.0 - - # Constants for the monochromator geometry - bragg_factor: Final[float] = 1.977 # Energy in keV for Si(111) at 2d = 6.271 Å - bragg_angle_offset: Final[float] = ( - 35.2544 # Bragg angle offset in degrees for Si(111) - ) - fixed_beam_offset: Final[float] = ( - 25.0 # Crystal 2 z offset in mm for fixed beam offset - ) - fs_distance: Final[float] = 1428.0 # Distance to fluorescence screen in mm - - def __init__(self, prefix: str, name: str = ""): - - self.xtal1_vertical_trans = AsyncEpicsMotor(prefix + "C1Y}Mtr") - self.cooled_beam_stop = AsyncEpicsMotor( - prefix + "BS}Mtr", - ) - self.xtal1_pitch = AsyncEpicsMotor(prefix + "C1P}Mtr") - self.xtal2_pitch = AsyncEpicsMotor(prefix + "C2P}Mtr") - self.flourescence_screen = AsyncEpicsMotor(prefix + "FS}Mtr") - self.xtal2_z = AsyncEpicsMotor(prefix + "Z2}Mtr") - with self.add_children_as_readables(Format.CONFIG_SIGNAL): - self.beam_mode = derived_signal_r( - self._get_beam_mode, - xtal1_pos=self.xtal1_vertical_trans.user_readback, - beam_stop_pos=self.cooled_beam_stop.user_readback, - ) - self.energy = derived_signal_r( - self._get_energy, - pitch_angle=self.xtal1_pitch.user_readback, - ) - - super().__init__(name=name) - - def _get_beam_mode(self, xtal1_pos: float, beam_stop_pos: float) -> BeamMode: - """Determine the current beam mode.""" - xtal1_out = abs(xtal1_pos - self.xtal1_out) < 0.01 - beam_stop_out = abs(beam_stop_pos - self.beam_stop_out) < 0.01 - if xtal1_out and beam_stop_out: - return BeamMode.WHITE - return BeamMode.MONOCHROMATIC - - def _get_energy(self, pitch_angle: float) -> float: - """Compute the energy of the monochromatic beam based on the pitch angle.""" - bragg_angle = np.deg2rad(self.bragg_angle_offset - pitch_angle) - return self.bragg_factor / np.sin(bragg_angle) - - @AsyncStatus.wrap - async def set(self, value: BeamMode): - if value == BeamMode.WHITE: - xtal1_target, bs_target = self.xtal1_out, self.beam_stop_out - else: - xtal1_target, bs_target = self.xtal1_in, self.beam_stop_in - coros = ( - self.xtal1_vertical_trans.set(xtal1_target), - self.cooled_beam_stop.set(bs_target), - ) - await asyncio.gather(*coros) - - -def change_energy( - dclm: DCLM, - energy: float = 0.0, - fs_camera: AreaDetector | None = None, - coarse_angle_range: float = 0.1, - coarse_num_steps: int = 41, - fine_angle_range: float = 0.025, - fine_num_steps: int = 26, -): - """Bluesky plan to change monochromator energy for Si(111). - - Computes Bragg geometry and moves all crystal and beam stop motors. - If an area detector is provided, performs coarse and fine pitch scans - to auto-tune the crystal 2 pitch to the fluorescence peak. - - Parameters - ---------- - monochromator : DCLM - Must be in monochromatic mode. - energy : float - Target energy in keV. - fs_camera : AreaDetector, optional - Fluorescence screen camera for auto-tuning. If None, motors are - moved without feedback. - coarse_angle_range : float - Half-width of the coarse pitch scan in degrees. - coarse_num_steps : int - Number of points in the coarse scan. - fine_angle_range : float - Half-width of the fine pitch scan in degrees. - fine_num_steps : int - Number of points in the fine scan. - - Raises - ------ - RuntimeError - If the monochromator is not in monochromatic mode. - """ - mode = yield from bps.rd(dclm.beam_mode) - if mode != BeamMode.MONOCHROMATIC: - raise RuntimeError("Monochromator is not in monochromatic mode.") - - if not np.isfinite(energy) or energy <= dclm.bragg_factor: - raise ValueError( - f"Energy must be finite and greater than {dclm.bragg_factor} keV." - ) - bragg_angle = np.arcsin( - dclm.bragg_factor / energy - ) # Si(111), 2d = 6.271 Å, energy in keV - angle = dclm.bragg_angle_offset - np.rad2deg( - bragg_angle - ) # Bragg angle to motor coordinate - z = dclm.fixed_beam_offset / np.tan( - 2 * bragg_angle - ) # Crystal 2 z for fixed beam offset of 25 mm - if fs_camera is not None: - fluo_y = dclm.fs_distance * np.tan( - 2 * bragg_angle - ) # Fluorescence screen y at 1428 mm downstream - else: - fluo_y = dclm.fs_in - - # fmt: off - yield from bps.mv( - dclm.xtal2_z, z, - dclm.xtal2_pitch, angle, - dclm.xtal1_pitch, angle, - dclm.xtal1_vertical_trans, dclm.xtal1_in, - dclm.cooled_beam_stop, dclm.beam_stop_in, - dclm.flourescence_screen, fluo_y, - ) - # fmt: on - - # No feedback available without a camera, so just move the motors and return. - if fs_camera is None: - return - - # Create a PeakStats object to monitor the fluorescence screen camera signal - # and find the position of the crystal 2 pitch that produces a peak. - ps = PeakStats( - dclm.xtal2_pitch.name, - fs_camera.get_plugin_by_name("stats1", NDStatsIO).total.name, - ) - - # Perform a scan around the current position of the crystal 2 pitch, - # and feed the produced events into the PeakStats object to find the peak position. - @subs_decorator(ps) - def auto_tune(angle_range: float, num_steps: int): - yield from bp.scan( - [fs_camera], - dclm.xtal2_pitch, - angle - angle_range, - angle + angle_range, - num_steps, - md={"plan_name": "change_energy_auto_tune"}, - ) - - yield from auto_tune(coarse_angle_range, coarse_num_steps) # Coarse scan - - peak: float | None = ps.com # ty: ignore[unresolved-attribute] - if peak is None: - raise RuntimeError( - "No peak found in coarse scan. Check the fluorescence screen." - ) - - # Move to the peak found by the coarse scan - yield from bps.mv(dclm.xtal2_pitch, peak) - - # Clear coarse scan events so the fine scan computes from its own data only - ps.reset() - - yield from auto_tune(fine_angle_range, fine_num_steps) # Fine scan - - peak = ps.com # ty: ignore[unresolved-attribute] - if peak is None: - raise RuntimeError("No peak found in fine scan. Check the fluorescence screen.") - - # To minimize issues with backlash, always approach the final position from below. - yield from bps.mv(dclm.xtal2_pitch, peak - 0.05) - yield from bps.mv(dclm.xtal2_pitch, peak) - - # Move the fluorescence screen out of the beam path - yield from bps.mv(dclm.flourescence_screen, dclm.fs_out) diff --git a/src/hextools/photon_delivery_system/__init__.py b/src/hextools/photon_delivery_system/__init__.py new file mode 100644 index 0000000..414cc73 --- /dev/null +++ b/src/hextools/photon_delivery_system/__init__.py @@ -0,0 +1,16 @@ +"""Photon delivery system (PDS) devices and plans.""" + +from .dclm import DCLM, change_energy +from .filters import Filter, FilterPosition, load_filters +from .shutter import Shutter +from .slits import Slits + +__all__ = [ + "Shutter", + "Filter", + "load_filters", + "FilterPosition", + "Slits", + "DCLM", + "change_energy", +] diff --git a/src/hextools/photon_delivery_system/dclm.py b/src/hextools/photon_delivery_system/dclm.py new file mode 100644 index 0000000..9d87d6d --- /dev/null +++ b/src/hextools/photon_delivery_system/dclm.py @@ -0,0 +1,314 @@ +"""Double crystal Laue monochromator (DCLM) device and energy change plan.""" + +import asyncio +from typing import Final + +import numpy as np +from bluesky import plan_stubs as bps +from bluesky import plans as bp +from bluesky.callbacks.fitting import PeakStats +from bluesky.preprocessors import finalize_wrapper, subs_decorator +from ophyd_async.core import ( + AsyncMovable, + AsyncStatus, + StandardReadable, + StrictEnum, + derived_signal_r, +) +from ophyd_async.core import StandardReadableFormat as Format +from ophyd_async.epics.adcore import AreaDetector, NDStatsIO +from ophyd_async.epics.core import EpicsDevice +from ophyd_async.epics.motor import Motor as AsyncEpicsMotor + +from ..utils import get_obj_from_ipython_ns +from .shutter import Shutter + + +class BeamMode(StrictEnum): + """Beam modes.""" + + MONOCHROMATIC = "Monochromatic" + WHITE = "White" + + +class DCLM(StandardReadable, EpicsDevice, AsyncMovable[BeamMode]): + """Double crystal Laue monochromator device. + + This class represents a double crystal laue monochromator (DCLM) device, + which is used to select a specific energy of X-rays from a white beam. + It provides methods to set the beam mode (white or monochromatic) and to + change the energy of the monochromatic beam. + + Attributes + ---------- + xtal1_vertical_trans : AsyncEpicsMotor + Motor for the vertical translation of the first crystal. + cooled_beam_stop : AsyncEpicsMotor + Motor for the cooled beam stop. + xtal1_pitch : AsyncEpicsMotor + Motor for the pitch of the first crystal. + xtal2_pitch : AsyncEpicsMotor + Motor for the pitch of the second crystal. + flourescence_screen : AsyncEpicsMotor + Motor for the fluorescence screen. + xtal2_z : AsyncEpicsMotor + Motor for the z-position of the second crystal. + beam_mode : derived_signal_r + Derived signal representing the current beam mode (white or monochromatic). + energy : derived_signal_r + Derived signal representing the current energy of the monochromatic beam. + beam_stop_in : float + Position of the beam stop when it is in the beam path. + beam_stop_out : float + Position of the beam stop when it is out of the beam path. + crystal_1_in : float + Position of the first crystal when it is in the beam path. + crystal_1_out : float + Position of the first crystal when it is out of the beam path. + fluo_y_direct : float + Position of the fluorescence screen when it is in the direct beam path. + fluo_y_direct_out : float + Position of the fluorescence screen when it is out of the beam path. + + Methods + ------- + set(value: BeamMode) + Set the beam mode to either white or monochromatic. + """ + + # Constants for in/out positions of the monochromator components + beam_stop_in: Final[float] = 0.0 + beam_stop_out: Final[float] = 48.3 + xtal1_in: Final[float] = 0.0 + xtal1_out: Final[float] = -36.0 + fs_in: Final[float] = 25.0 + fs_out: Final[float] = 46.0 + + # Constants for the monochromator geometry + bragg_factor: Final[float] = 1.977 # Energy in keV for Si(111) at 2d = 6.271 Å + bragg_angle_offset: Final[float] = ( + 35.2544 # Bragg angle offset in degrees for Si(111) + ) + fixed_beam_offset: Final[float] = ( + 25.0 # Crystal 2 z offset in mm for fixed beam offset + ) + fs_distance: Final[float] = 1428.0 # Distance to fluorescence screen in mm + + def __init__(self, prefix: str, name: str = ""): + + self.xtal1_vertical_trans = AsyncEpicsMotor(prefix + "C1Y}Mtr") + self.cooled_beam_stop = AsyncEpicsMotor( + prefix + "BS}Mtr", + ) + self.xtal1_pitch = AsyncEpicsMotor(prefix + "C1P}Mtr") + self.xtal2_pitch = AsyncEpicsMotor(prefix + "C2P}Mtr") + self.flourescence_screen = AsyncEpicsMotor(prefix + "FS}Mtr") + self.xtal2_z = AsyncEpicsMotor(prefix + "Z2}Mtr") + with self.add_children_as_readables(Format.CONFIG_SIGNAL): + self.beam_mode = derived_signal_r( + self._get_beam_mode, + xtal1_pos=self.xtal1_vertical_trans.user_readback, + beam_stop_pos=self.cooled_beam_stop.user_readback, + ) + self.energy = derived_signal_r( + self._get_energy, + pitch_angle=self.xtal1_pitch.user_readback, + ) + + super().__init__(name=name) + + def _get_beam_mode(self, xtal1_pos: float, beam_stop_pos: float) -> BeamMode: + """Determine the current beam mode.""" + xtal1_out = abs(xtal1_pos - self.xtal1_out) < 0.01 + beam_stop_out = abs(beam_stop_pos - self.beam_stop_out) < 0.01 + if xtal1_out and beam_stop_out: + return BeamMode.WHITE + return BeamMode.MONOCHROMATIC + + def _get_energy(self, pitch_angle: float) -> float: + """Compute the energy of the monochromatic beam based on the pitch angle.""" + bragg_angle = np.deg2rad(self.bragg_angle_offset - pitch_angle) + return self.bragg_factor / np.sin(bragg_angle) + + @AsyncStatus.wrap + async def set(self, value: BeamMode): + if value == BeamMode.WHITE: + xtal1_target, bs_target = self.xtal1_out, self.beam_stop_out + else: + xtal1_target, bs_target = self.xtal1_in, self.beam_stop_in + coros = ( + self.xtal1_vertical_trans.set(xtal1_target), + self.cooled_beam_stop.set(bs_target), + ) + await asyncio.gather(*coros) + + +def change_energy( + energy: float, + dclm: DCLM | None = None, + fs_camera: AreaDetector | None = None, + coarse_angle_range: float = 0.1, + coarse_num_steps: int = 41, + fine_angle_range: float = 0.025, + fine_num_steps: int = 26, + fs_stats_plugin_name: str = "stats1", + photon_shutter: Shutter | None = None, +): + """Bluesky plan to change monochromator energy for Si(111). + + Computes Bragg geometry and moves all crystal and beam stop motors. + If an area detector is provided, performs coarse and fine pitch scans + to auto-tune the crystal 2 pitch to the fluorescence peak. + + Parameters + ---------- + energy : float + Target energy in keV. + dclm : DCLM, optional + Must be in monochromatic mode. If None, the function will attempt to + retrieve it from the IPython namespace. + fs_camera : AreaDetector, optional + Fluorescence screen camera for auto-tuning. If None, motors are + moved without feedback. + coarse_angle_range : float + Half-width of the coarse pitch scan in degrees. + coarse_num_steps : int + Number of points in the coarse scan. + fine_angle_range : float + Half-width of the fine pitch scan in degrees. + fine_num_steps : int + Number of points in the fine scan. + photon_shutter : Shutter, optional + Shutter to close on exit. Falls back to the ``photon_shutter`` in the + IPython namespace when not provided. + + Raises + ------ + RuntimeError + If the monochromator is not in monochromatic mode. + """ + if dclm is None: + dclm = get_obj_from_ipython_ns("dclm", DCLM) + if dclm is None: + raise RuntimeError( + "No DCLM provided and no valid 'dclm' var found in the IPython ns." + ) + + if photon_shutter is None: + photon_shutter = get_obj_from_ipython_ns("photon_shutter", Shutter) + if photon_shutter is None and fs_camera is not None: + raise RuntimeError( + "No photon shutter provided and no valid 'photon_shutter' var found " + "in the IPython ns. Photon shutter is required for auto-tuning with " + "a camera." + ) + + def _reset_and_close(): + # Reset the fluorescence screen and close the shutter on the way out. + yield from bps.mv(dclm.flourescence_screen, dclm.fs_out) + if photon_shutter is not None: + yield from bps.mv(photon_shutter, False) # Close the photon shutter on exit + + def _inner_change_energy(): + mode = yield from bps.rd(dclm.beam_mode) + if mode != BeamMode.MONOCHROMATIC: + raise RuntimeError("Monochromator is not in monochromatic mode.") + + if not np.isfinite(energy) or energy <= dclm.bragg_factor: + raise ValueError( + f"Energy must be finite and greater than {dclm.bragg_factor} keV." + ) + bragg_angle = np.arcsin( + dclm.bragg_factor / energy + ) # Si(111), 2d = 6.271 Å, energy in keV + angle = dclm.bragg_angle_offset - np.rad2deg( + bragg_angle + ) # Bragg angle to motor coordinate + z = dclm.fixed_beam_offset / np.tan( + 2 * bragg_angle + ) # Crystal 2 z for fixed beam offset of 25 mm + if fs_camera is not None: + fluo_y = dclm.fs_distance * np.tan( + 2 * bragg_angle + ) # Fluorescence screen y at 1428 mm downstream + else: + fluo_y = dclm.fs_in + + # fmt: off + yield from bps.mv( + dclm.xtal2_z, z, + dclm.xtal2_pitch, angle, + dclm.xtal1_pitch, angle, + dclm.xtal1_vertical_trans, dclm.xtal1_in, + dclm.cooled_beam_stop, dclm.beam_stop_in, + dclm.flourescence_screen, fluo_y, + ) + # fmt: on + + # No feedback available without a camera, so just move the motors and return. + if fs_camera is None or photon_shutter is None: + return + + fs_stats = fs_camera.get_plugin_by_name(fs_stats_plugin_name, NDStatsIO) + if fs_stats is None: + raise RuntimeError( + "Fluorescence screen camera does not have a " + f"'{fs_stats_plugin_name}' plugin configured!" + ) + + photon_shutter_sts = yield from bps.rd(photon_shutter.status) + if not photon_shutter_sts: + yield from bps.mv(photon_shutter, True) + + # Create a PeakStats object to monitor the fluorescence screen camera signal + # and find the position of the crystal 2 pitch that produces a peak. + ps = PeakStats( + dclm.xtal2_pitch.name, + fs_camera.get_plugin_by_name(fs_stats_plugin_name, NDStatsIO).total.name, + ) + + # Perform a scan around the current position of the crystal 2 pitch, + # and feed the produced events into the PeakStats object to find the peak + # position. + @subs_decorator(ps) + def auto_tune(angle_range: float, num_steps: int): + yield from bp.scan( + [fs_camera], + dclm.xtal2_pitch, + angle - angle_range, + angle + angle_range, + num_steps, + md={"plan_name": "change_energy_auto_tune"}, + ) + + yield from auto_tune(coarse_angle_range, coarse_num_steps) # Coarse scan + + peak: float | None = ps.com # ty: ignore[unresolved-attribute] + if peak is None: + raise RuntimeError( + "No peak found in coarse scan. Check the fluorescence screen." + ) + + # Move to the peak found by the coarse scan + yield from bps.mv(dclm.xtal2_pitch, peak) + + # Clear coarse scan events so the fine scan computes from its own data only + ps.reset() + + yield from auto_tune(fine_angle_range, fine_num_steps) # Fine scan + + peak = ps.com # ty: ignore[unresolved-attribute] + if peak is None: + raise RuntimeError( + "No peak found in fine scan. Check the fluorescence screen." + ) + + # To minimize issues with backlash, always approach the final position + # from below. + yield from bps.mv(dclm.xtal2_pitch, peak - 0.05) + yield from bps.mv(dclm.xtal2_pitch, peak) + + yield from finalize_wrapper( + _inner_change_energy(), + _reset_and_close(), + ) diff --git a/src/hextools/photon_delivery_system/filters.py b/src/hextools/photon_delivery_system/filters.py new file mode 100644 index 0000000..b3f382c --- /dev/null +++ b/src/hextools/photon_delivery_system/filters.py @@ -0,0 +1,166 @@ +"""Filter device with multiple positions.""" + +from dataclasses import dataclass +from enum import IntEnum +from importlib import resources + +import yaml +from ophyd_async.core import ( + AsyncMovable, + AsyncStatus, + StandardReadable, + derived_signal_r, + wait_for_value, +) +from ophyd_async.core import StandardReadableFormat as Format +from ophyd_async.epics.core import EpicsDevice, epics_signal_r +from ophyd_async.epics.motor import Motor as AsyncEpicsMotor + + +@dataclass +class FilterSetting: + """Description and motor position for a filter setting.""" + + position: float + description: str | None = None + + +class FilterPosition(IntEnum): + """Filter positions.""" + + UPPER_LIMIT = 0 + PASS_THROUGH = 1 + POS_1 = 2 # Thickest filter + POS_2 = 3 + POS_3 = 4 + POS_4 = 5 # Thinnest filter + LOWER_LIMIT = 6 + + +class Filter(StandardReadable, EpicsDevice, AsyncMovable[FilterPosition]): + """Filter device with multiple positions. + + This class represents a filter device with multiple positions, each corresponding + to a specific filter setting. It provides methods to set the filter position and + retrieve the description of the current filter setting. + + Attributes + ---------- + in_position : epics_signal_r + Signal indicating whether the filter is in position. + positions : dict + Dictionary mapping FilterPosition to FilterSetting. + filter_motor : AsyncEpicsMotor + Motor controlling the filter position. + description : derived_signal_r + Derived signal providing the description of the current filter setting. + """ + + def __init__( + self, + motor_pv: str, + positions: dict[FilterPosition, FilterSetting], + in_pos_switch_pv: str, + name: str = "", + ): + self.in_position = epics_signal_r(bool, in_pos_switch_pv) + self.positions = positions + self.filter_motor = AsyncEpicsMotor(motor_pv) + with self.add_children_as_readables(Format.CONFIG_SIGNAL): + self.description = derived_signal_r( + self._get_description, + in_pos=self.in_position, + motor_pos=self.filter_motor.user_readback, + ) + super().__init__(name=name) + + def _get_description(self, in_pos: bool, motor_pos: float) -> str: + """Get the description of the current filter setting based on motor position. + + Parameters + ---------- + in_pos : int + Indicates whether the filter is in position. + motor_pos : float + Current position of the filter motor. + + Returns + ------- + str + Description of the current filter setting. + """ + if not in_pos: + return "out of position" + closest = min( + self.positions.items(), key=lambda item: abs(item[1].position - motor_pos) + ) + return closest[1].description or closest[0].name.lower().replace("_", " ") + + @AsyncStatus.wrap + async def set(self, value: FilterPosition): + """Set the filter to the specified position. + + Parameters + ---------- + value : FilterPosition + The desired filter position to set. + """ + if value not in self.positions: + raise ValueError( + f"Invalid filter position: {value}. " + f"Defined positions are: {list(self.positions.keys())}" + ) + + await self.filter_motor.set(self.positions[value].position) + await wait_for_value(self.in_position, True, timeout=10) + + +FILTERS_CONFIG_RESOURCE: str = "filters.yml" + + +def load_filters() -> list[Filter]: + """Create Filter devices from the packaged YAML configuration file. + + The ``filters.yml`` file bundled with the ``hextools`` package is used. + Each top-level key defines a filter with its ``motor_pv``, + ``in_position_switch`` PV, and a ``positions`` mapping. The ``positions`` + mapping must contain exactly one entry per :class:`FilterPosition`, keyed by + the lowercased enum name (``upper_limit``, ``pass_through``, ``pos_1`` .. + ``pos_4``, ``lower_limit``). Each value is either a number (the motor + position) or a mapping with ``position`` and optional ``description`` keys. + + Returns + ------- + list[Filter] + One configured Filter device per top-level entry, named after its key. + """ + source = resources.files(__package__ or "hextools").joinpath( + FILTERS_CONFIG_RESOURCE + ) + config = yaml.safe_load(source.read_text(encoding="utf-8")) + + filters: list[Filter] = [] + for name, spec in config["filters"].items(): + positions_spec = spec["positions"] + if len(positions_spec) != len(FilterPosition): + raise ValueError( + f"Filter {name!r} must define exactly {len(FilterPosition)} " + f"positions (one per FilterPosition), got {len(positions_spec)}." + ) + positions: dict[FilterPosition, FilterSetting] = {} + for key, value in positions_spec.items(): + filter_position = FilterPosition[key.upper()] + if isinstance(value, dict): + setting = FilterSetting(value["position"], value.get("description")) + else: + setting = FilterSetting(value) + positions[filter_position] = setting + filters.append( + Filter( + motor_pv=spec["motor_pv"], + positions=positions, + in_pos_switch_pv=spec["in_position_switch"], + name=name, + ) + ) + return filters diff --git a/src/hextools/filters.yml b/src/hextools/photon_delivery_system/filters.yml similarity index 96% rename from src/hextools/filters.yml rename to src/hextools/photon_delivery_system/filters.yml index 99ae786..1b7f950 100644 --- a/src/hextools/filters.yml +++ b/src/hextools/photon_delivery_system/filters.yml @@ -52,7 +52,7 @@ filters: lower_limit: -61.2 filter3: - motor_pv: XF:27IDA-OP:1{Fltr:3-Ax:Y}Mtr + motor_pv: XF:27IDA-OP:3{Fltr:3-Ax:Y}Mtr in_position_switch: XF:27IDA-OP:0{Fltr:3}Sw:InPos-Sts positions: upper_limit: 66.6 @@ -64,7 +64,7 @@ filters: lower_limit: -64.9 filter4: - motor_pv: XF:27IDA-OP:1{Fltr:4-Ax:Y}Mtr + motor_pv: XF:27IDA-OP:2{Fltr:4-Ax:Y}Mtr in_position_switch: XF:27IDA-OP:0{Fltr:4}Sw:InPos-Sts positions: upper_limit: 71.8 diff --git a/src/hextools/photon_delivery_system/shutter.py b/src/hextools/photon_delivery_system/shutter.py new file mode 100644 index 0000000..a2e92c3 --- /dev/null +++ b/src/hextools/photon_delivery_system/shutter.py @@ -0,0 +1,29 @@ +"""Shutter/GV device for the photon delivery system.""" + +from ophyd_async.core import AsyncMovable, AsyncStatus, wait_for_value +from ophyd_async.epics.core import ( + EpicsDevice, + epics_signal_r, + epics_triggerable_command, +) + + +class Shutter(EpicsDevice, AsyncMovable[bool]): + """Photon shutter device.""" + + def __init__(self, prefix: str, name: str = ""): + + super().__init__(prefix, name=name) + self.status = epics_signal_r(bool, f"{prefix}Pos-Sts") + self.open_cmd = epics_triggerable_command(f"{prefix}Cmd:Opn-Cmd") + self.close_cmd = epics_triggerable_command(f"{prefix}Cmd:Cls-Cmd") + + @AsyncStatus.wrap + async def set(self, value: bool): + if value: + cmd_sig = self.open_cmd + else: + cmd_sig = self.close_cmd + + await cmd_sig.execute() + await wait_for_value(self.status, value, timeout=10) diff --git a/src/hextools/photon_delivery_system/slits.py b/src/hextools/photon_delivery_system/slits.py new file mode 100644 index 0000000..dbd4714 --- /dev/null +++ b/src/hextools/photon_delivery_system/slits.py @@ -0,0 +1,191 @@ +"""Slit device for the photon delivery system.""" + +import asyncio +from functools import partial + +from ophyd_async.core import ( + AsyncMovable, + AsyncStatus, + StandardReadable, + derived_signal_rw, +) +from ophyd_async.core import StandardReadableFormat as Format +from ophyd_async.epics.core import EpicsDevice +from ophyd_async.epics.motor import Motor as AsyncEpicsMotor + + +class Slits( + StandardReadable, + EpicsDevice, + AsyncMovable[ + tuple[tuple[float, float], tuple[float, float]] + | tuple[float, float, float, float] + ], +): + """Generic slits with inboard, outboard, bottom, and top motors. + + Exposes gap and center as read-write derived signals for both the horizontal + (inboard/outboard) and vertical (bottom/top) axes. Setting a gap keeps the + center fixed; setting a center keeps the gap fixed. + """ + + def __init__(self, prefix: str, name: str = ""): + with self.add_children_as_readables(Format.CHILD): + self.inboard = AsyncEpicsMotor(prefix + "I}Mtr") + self.outboard = AsyncEpicsMotor(prefix + "O}Mtr") + self.bottom = AsyncEpicsMotor(prefix + "B}Mtr") + self.top = AsyncEpicsMotor(prefix + "T}Mtr") + + with self.add_children_as_readables(Format.HINTED_SIGNAL): + self.horizontal_gap = derived_signal_rw( + self._get_gap, + partial(self._set_gap, self.inboard, self.outboard), + derived_units="mm", + derived_precision=3, + low=self.inboard.user_readback, + high=self.outboard.user_readback, + ) + self.horizontal_center = derived_signal_rw( + self._get_center, + partial(self._set_center, self.inboard, self.outboard), + derived_units="mm", + derived_precision=3, + low=self.inboard.user_readback, + high=self.outboard.user_readback, + ) + self.vertical_gap = derived_signal_rw( + self._get_gap, + partial(self._set_gap, self.bottom, self.top), + derived_units="mm", + derived_precision=3, + low=self.bottom.user_readback, + high=self.top.user_readback, + ) + self.vertical_center = derived_signal_rw( + self._get_center, + partial(self._set_center, self.bottom, self.top), + derived_units="mm", + derived_precision=3, + low=self.bottom.user_readback, + high=self.top.user_readback, + ) + + super().__init__(name=name) + + def _get_gap(self, low: float, high: float) -> float: + """Gap is the separation between the low and high blades. + + Parameters + ---------- + low : float + The position of the low blade (inboard or bottom). + high : float + The position of the high blade (outboard or top). + + Returns + ------- + float + The gap between the low and high blades. + """ + return high - low + + def _get_center(self, low: float, high: float) -> float: + """Center is the midpoint between the low and high blades. + + Parameters + ---------- + low : float + The position of the low blade (inboard or bottom). + high : float + The position of the high blade (outboard or top). + + Returns + ------- + float + The center position between the low and high blades. + """ + return (low + high) / 2 + + @AsyncStatus.wrap + async def _set_gap( + self, low_motor: AsyncEpicsMotor, high_motor: AsyncEpicsMotor, gap: float + ) -> None: + """Set the gap while holding the center fixed. + + Parameters + ---------- + low_motor : AsyncEpicsMotor + The motor controlling the low blade (inboard or bottom). + high_motor : AsyncEpicsMotor + The motor controlling the high blade (outboard or top). + gap : float + The desired gap between the low and high blades. + """ + low, high = await asyncio.gather( + low_motor.user_readback.get_value(), + high_motor.user_readback.get_value(), + ) + center = (low + high) / 2 + await asyncio.gather( + low_motor.set(center - gap / 2), + high_motor.set(center + gap / 2), + ) + + @AsyncStatus.wrap + async def _set_center( + self, low_motor: AsyncEpicsMotor, high_motor: AsyncEpicsMotor, center: float + ) -> None: + """Set the center while holding the gap fixed. + + Parameters + ---------- + low_motor : AsyncEpicsMotor + The motor controlling the low blade (inboard or bottom). + high_motor : AsyncEpicsMotor + The motor controlling the high blade (outboard or top). + center : float + The desired center position for the blades. + """ + low, high = await asyncio.gather( + low_motor.user_readback.get_value(), + high_motor.user_readback.get_value(), + ) + shift = center - (low + high) / 2 + await asyncio.gather( + low_motor.set(low + shift), + high_motor.set(high + shift), + ) + + @AsyncStatus.wrap + async def set( + self, + value: tuple[tuple[float, float], tuple[float, float]] + | tuple[float, float, float, float], + ): + """Set the horizontal and vertical gaps and centers. + + Parameters + ---------- + value : tuple[tuple[float, float], tuple[float, float]] + ((horizontal_gap, horizontal_center), (vertical_gap, vertical_center)) + """ + if len(value) == 2 and all(len(v) == 2 for v in value): + (h_gap, h_center), (v_gap, v_center) = value + elif len(value) == 4: + h_gap, h_center, v_gap, v_center = value + else: + raise ValueError( + "Slit set value must be ((h_gap, h_center), (v_gap, v_center)) " + "or (h_gap, h_center, v_gap, v_center)" + ) + + # Set gaps first to preserve centers, then set centers to preserve gaps. + await asyncio.gather( + self.horizontal_gap.set(h_gap), + self.vertical_gap.set(v_gap), + ) + + await asyncio.gather( + self.horizontal_center.set(h_center), + self.vertical_center.set(v_center), + ) diff --git a/src/hextools/profiles/collection.py b/src/hextools/profiles/collection.py index 63beb0e..ed20b25 100644 --- a/src/hextools/profiles/collection.py +++ b/src/hextools/profiles/collection.py @@ -14,25 +14,30 @@ RunEngine, autoawait_in_bluesky_event_loop, ) -from bluesky.suspenders import SuspendFloor from bluesky.utils import ProgressBarManager from bluesky_tiled_plugins import TiledWriter from IPython.core.getipython import get_ipython from IPython.terminal.interactiveshell import TerminalInteractiveShell +from pathlib import PureWindowsPath from nslsii.ophyd_async.providers import NSLS2PathProvider -from ophyd_async.epics.adcore import ADWriterFactory, NDStatsIO, PluginSignalDataLogic +from ophyd_async.epics.adcore import ADWriterFactory, NDStatsIO, PluginSignalDataLogic, ContAcqDetector from ophyd_async.epics.adkinetix import KinetixDetector from ophyd_async.epics.advimba import VimbaDetector from ophyd_async.fastcs.panda import HDFPanda from tiled.client import from_uri, simple +from bluesky import plans as bp, plan_stubs as bps, preprocessors as bpp +from bluesky.suspenders import SuspendFloor +from hextools.utils import show_docs from hextools.detectors.phantom import PhantomDetector +from hextools.detectors.kinetix import kinetix_factory from hextools.machine import NSLS2StorageRing -from hextools.motors import DoubleObjCamera, OpticsTable, SampleTower, WideFOVCamera +from hextools.motors import FOV_2_4_mm_Camera, OpticsTable, SampleTower, FOV_20_40_mm_Camera from hextools.photon_delivery_system import ( DCLM, Filter, Shutter, + Slits, load_filters, ) from hextools.utils import ( @@ -97,17 +102,21 @@ fe_shutter = Shutter("XF:27IDA-PPS{Sh:FE}", name="front_end_shutter") photon_shutter = Shutter("XF:27IDA-PPS{L1-S1}", name="photon_shutter") + # Slits + a_slits = Slits("XF:27IDA-OP:1{Slt:1-Ax:", name="a_slits") + f_slits = Slits("XF:27IDF-OP:1{Slt:2-Ax:", name="f_slits") + # Storage ring information storage_ring = NSLS2StorageRing() # Monochromator DCLM (Double Crystal Laue Monochromator) - dclm = DCLM("XF:27IDA-OP:1{Mono:DCLM-Ax:", name="dclm") + monochromator = mono = dclm = DCLM("XF:27IDA-OP:1{Mono:DCLM-Ax:", name="monochromator") # Motors for the optics table - optics_table = OpticsTable("XF:27ID1A-OP:1{OPT:1-Ax:", name="optics_table") + optics_table = OpticsTable("XF:27IDF-OP:1{OPT:1-Ax:", name="optics_table") # Sample tower - sample_tower = SampleTower("XF:27ID1A-OP:1{SMPL:1-Ax:", name="sample_tower") + sample_tower = SampleTower("XF:27IDF-OP:1{SMPL:1-Ax:", name="sample_tower") # Generate filter objects from the configuration file filters: list[Filter] = load_filters() @@ -118,35 +127,19 @@ ipython.user_ns[filter.name] = filter # PandABox - panda1 = HDFPanda("XF:27ID1-ES{PANDA:1}", path_provider, name="panda1") + panda1 = HDFPanda("XF:27ID1-ES{PANDA:1}:", path_provider, name="panda1") # Kinetix and Phantom detectors - kinetix1 = KinetixDetector( - "XF:27ID1-BI{Kinetix-Det:1}", - ADWriterFactory.hdf(path_provider), - name="kinetix1", - ) - kinetix2 = KinetixDetector( - "XF:27ID1-BI{Kinetix-Det:2}", - ADWriterFactory.hdf(path_provider), - name="kinetix2", - ) - kinetix3 = KinetixDetector( - "XF:27ID1-BI{Kinetix-Det:3}", - ADWriterFactory.hdf(path_provider), - name="kinetix3", - ) - kinetix4 = KinetixDetector( - "XF:27ID1-BI{Kinetix-Det:4}", - ADWriterFactory.hdf(path_provider), - name="kinetix4", - ) + kinetix1 = kinetix_factory(1, path_provider, name="kinetix1") + # kinetix2 = kinetix_factory(2, path_provider, name="kinetix2") + # kinetix3 = kinetix_factory(3, path_provider, name="kinetix3") + # kinetix4 = kinetix_factory(4, path_provider, name="kinetix4") # Optique-Peter microscope optics - double_obj_camera = DoubleObjCamera( + double_obj_camera = FOV_2_4_mm_Camera( "XF:27IDF-OP:1{OPT:1-Ax:", name="double_obj_camera" ) - wide_fov_camera = WideFOVCamera("XF:27IDF-OP:1{OPT:2-Ax:", name="wide_fov_camera") + wide_fov_camera = FOV_20_40_mm_Camera("XF:27IDF-OP:1{OPT:2-Ax:", name="wide_fov_camera") phantom = PhantomDetector( "XF:27ID1-ES{Phantom-Det:1}", @@ -154,52 +147,65 @@ name="phantom", ) - diamond_window_camera = VimbaDetector( - "XF:27IDA-BI{FAM:1-Cam:1}cam1:", - ADWriterFactory.hdf(path_provider), - name="diamond_window_camera", - ) + # TODO: Re-install with ADVimba + # diamond_window_camera = VimbaDetector( + # "XF:27IDA-BI{FAM:1-Cam:1}", + # ADWriterFactory.hdf(path_provider), + # name="diamond_window_camera", + # ) sample_camera = VimbaDetector( - "XF:27ID1-ES{Sample-Cam:1}cam1:", + "XF:27ID1-ES{Sample-Cam:1}", ADWriterFactory.hdf(path_provider), name="sample_camera", ) - fs_window_stats = NDStatsIO( - "XF:27IDA-BI{FS:1-Cam:1}Stats1:", name="fs_window_stats" - ) - fs_window = VimbaDetector( - "XF:27IDA-BI{FS:1-Cam:1}cam1:", - ADWriterFactory.hdf(path_provider), - name="fs_window", - plugins={"stats1": fs_window_stats}, - ) - # TODO: Remove this once the StandardDetector -> StandardReadble change is merged. - # TODO: Use mean rather than total, once available. - fs_window.add_detector_logics( - PluginSignalDataLogic(fs_window.driver, fs_window_stats.total) - ) + # TODO: Re-install with ADVimba + # fs_window_stats = NDStatsIO( + # "XF:27IDA-BI{FS:1-Cam:1}Stats1:", name="fs_window_stats" + # ) + # fs_window = VimbaDetector( + # "XF:27IDA-BI{FS:1-Cam:1}", + # ADWriterFactory.hdf(path_provider), + # name="fs_window", + # plugins={"stats1": fs_window_stats}, + # ) + # # TODO: Remove this once the StandardDetector -> StandardReadble change is merged. + # # TODO: Use mean rather than total, once available. + # fs_window.add_detector_logics( + # PluginSignalDataLogic(fs_window.driver, fs_window_stats.total) + # ) f_hutch_camera = VimbaDetector( - "XF:27IDA-BI{GigE-Cam:5}cam1:", + "XF:27IDA-BI{GigE-Cam:5}", ADWriterFactory.hdf(path_provider), name="f_hutch_camera", ) - # TODO: Perkin elmer. + pe_path_provider = NSLS2PathProvider(RE.md, base_write_dir=PureWindowsPath("Z:\\proposals")) + perkin_elmer = ContAcqDetector( + "XF:27ID1-ES{PE-Det:1}", + ADWriterFactory.hdf(pe_path_provider), + name="perkin-elmer", + proc_suffix="Proc1:", + ) +# TODO: Figure out why the '-' character in the name is being +# replaced with '_' in the ctx manager +perkin_elmer._name = "perkin-elmer" # Install a suspender to pause the RunEngine if the beam current drops below 100 mA # and resume when it rises above 300 mA. -RE.install_suspender(SuspendFloor(storage_ring.beam_current, 100, resume_thresh=390)) +# RE.install_suspender(SuspendFloor(storage_ring.beam_current, 100, resume_thresh=390)) # Configure baseline supplemental data to include in the metadata of every run. -sd = bpp.SupplementalData( - baseline=[ - storage_ring.beam_current, - sample_tower, - dclm, - optics_table, - ] -) -RE.preprocessors.append(sd) +# sd = bpp.SupplementalData( +# baseline=[ +# storage_ring.beam_current, +# wb_slits, +# pb_slits, +# sample_tower, +# #dclm, +# optics_table, +# ] +# ) +# RE.preprocessors.append(sd) diff --git a/src/hextools/utils.py b/src/hextools/utils.py index 18c7c17..90faac0 100644 --- a/src/hextools/utils.py +++ b/src/hextools/utils.py @@ -4,9 +4,10 @@ import os from collections.abc import MutableMapping from datetime import datetime -from typing import Any +from typing import Any, TypeVar from bluesky.run_engine import RunEngine +from IPython.core.getipython import get_ipython from IPython.terminal.interactiveshell import TerminalInteractiveShell from IPython.terminal.prompts import Prompts from nslsii.sync_experiment import sync_experiment @@ -14,6 +15,7 @@ from ophyd_async.core import ( Device, DeviceProcessor, + DeviceVector, NotConnectedError, wait_for_connection, ) @@ -22,6 +24,18 @@ from rich import print as rprint from rich.console import Console +NSVarT = TypeVar("NSVarT") + + +def get_obj_from_ipython_ns(var_name: str, var_type: type[NSVarT]) -> NSVarT | None: + """Get an obj from the IPython ns if it exists and is of the correct type.""" + ipython = get_ipython() + if ipython is not None: + obj = ipython.user_ns.get(var_name) + if isinstance(obj, var_type): + return obj + return None + async def merge_async_iterables(*aiterables): """Merge multiple async iterables into a single async iterable.""" @@ -141,7 +155,7 @@ def start_beamtime(proposal_id: int, verbose: bool = True) -> None: print_proposal_info(md) -def auto_init_devices(timeout: float = 1.0): +def auto_init_devices(timeout: float = 1.0, verbose: bool = False) -> DeviceProcessor: """Create a DeviceProcessor that connects devices, printing status for each. Parameters @@ -166,10 +180,12 @@ async def _process_devices(devices: dict[str, Device]): name: device.connect(mock, timeout) for name, device in devices.items() } failed: set[str] = set() + reasons: dict[str, str] = {} try: await wait_for_connection(**coros) except NotConnectedError as e: failed = set(e.sub_errors.keys()) + reasons = {name: str(err) for name, err in e.sub_errors.items()} for name in devices: dots = "." * (40 - len(name)) @@ -180,5 +196,61 @@ async def _process_devices(devices: dict[str, Device]): else: status = rf"\[[bold green]{'OK'.center(6)}[/bold green]]" console.print(f" {name} {dots} {status}") + if verbose: + console.print("\n".join(f"{name}: {reason}" for name, reason in reasons.items()) if reasons else "") return DeviceProcessor(_process_devices) + + +PIPE = "│" +ELBOW = "└──" +TEE = "├──" +PIPE_PREFIX = "│ " +SPACE_PREFIX = " " + + +def _get_children(device: Device) -> list[tuple[str, Device]]: + """ + Supplementary method for building the tree view of a device. + Return the (name, child) pairs of a device, sorted for display. + """ + children = [ + (name, child) for name, child in device.children() if isinstance(child, Device) + ] + if isinstance(device, DeviceVector): + # DeviceVector children are stringified integer indices. + return sorted(children, key=lambda item: int(item[0])) + return sorted(children, key=lambda item: item[0]) + + +def _make_tree_body(tree: list[str], device: Device, prefix=""): + """ + Supplementary method for building the tree view of a device. + Create the tree body. + """ + entries = _get_children(device) + last_index = len(entries) - 1 + for index, (name, child) in enumerate(entries): + if index == 0: + tree.append(prefix + PIPE) + connector = ELBOW if index == last_index else TEE + tree.append(f"{prefix}{connector} {name}") + child_prefix = prefix + ( + SPACE_PREFIX if index == last_index else PIPE_PREFIX + ) + _make_tree_body(tree, child, prefix=child_prefix) + + +def print_device_tree(device: Device, indent: int = 0) -> None: + """Print the device tree for a given device. + + Parameters + ---------- + device : Device + The device whose tree is to be printed. + indent : int + The indentation level for the current device. + """ + x = [] + _make_tree_body(x, device) + print("\n".join(x)) \ No newline at end of file diff --git a/tests/photon_delivery_system/test_dclm.py b/tests/photon_delivery_system/test_dclm.py new file mode 100644 index 0000000..6397660 --- /dev/null +++ b/tests/photon_delivery_system/test_dclm.py @@ -0,0 +1,211 @@ +import bluesky.plan_stubs as bps +import numpy as np +import pytest +from bluesky.run_engine import RunEngine +from ophyd_async.core import ( + callback_on_mock_execute, + callback_on_mock_put, + init_devices, + set_mock_value, +) +from ophyd_async.epics.adcore import ( + ADAcquireLogic, + ADBaseIO, + ADState, + AreaDetector, + NDStatsIO, + PluginSignalDataLogic, +) + +from hextools.photon_delivery_system.dclm import DCLM, BeamMode, change_energy +from hextools.photon_delivery_system.shutter import Shutter + + +@pytest.fixture +def dclm() -> DCLM: + with init_devices(mock=True, child_name_separator="_"): + dclm = DCLM("TEST:{") + return dclm + + +@pytest.fixture +def photon_shutter() -> Shutter: + with init_devices(mock=True): + shutter = Shutter("TEST:PSH:", name="photon_shutter") + set_mock_value(shutter.status, False) + callback_on_mock_execute( + shutter.open_cmd, lambda *_: set_mock_value(shutter.status, True) + ) + callback_on_mock_execute( + shutter.close_cmd, lambda *_: set_mock_value(shutter.status, False) + ) + return shutter + + +@pytest.mark.parametrize( + "mode, expected_xtal1, expected_bs", + [ + (BeamMode.WHITE, DCLM.xtal1_out, DCLM.beam_stop_out), + ( + BeamMode.MONOCHROMATIC, + DCLM.xtal1_in, + DCLM.beam_stop_in, + ), + ], +) +async def test_monochromator_beam_mode_switch( + RE: RunEngine, + dclm: DCLM, + mode: BeamMode, + expected_xtal1: float, + expected_bs: float, +): + RE(bps.mv(dclm, mode)) + + xtal1_pos = await dclm.xtal1_vertical_trans.user_readback.get_value() + bs_pos = await dclm.cooled_beam_stop.user_readback.get_value() + assert xtal1_pos == pytest.approx(expected_xtal1) + assert bs_pos == pytest.approx(expected_bs) + + beam_mode = await dclm.beam_mode.get_value() + assert beam_mode == mode + + +@pytest.mark.parametrize("energy", [8.0, 10.0, 12.0]) +async def test_change_energy_moves_motors( + RE: RunEngine, dclm: DCLM, photon_shutter: Shutter, energy: float +): + bragg_angle = np.arcsin(1.977 / energy) + expected_angle = 35.2544 - np.rad2deg(bragg_angle) + expected_z = 25.0 / np.tan(2 * bragg_angle) + + RE(change_energy(energy, dclm=dclm, photon_shutter=photon_shutter)) + + assert await dclm.xtal1_pitch.user_readback.get_value() == pytest.approx( + expected_angle + ) + assert await dclm.xtal2_pitch.user_readback.get_value() == pytest.approx( + expected_angle + ) + assert await dclm.xtal2_z.user_readback.get_value() == pytest.approx(expected_z) + # The reset finalizer moves the fluorescence screen out at the end. + assert await dclm.flourescence_screen.user_readback.get_value() == pytest.approx( + dclm.fs_out + ) + assert await dclm.xtal1_vertical_trans.user_readback.get_value() == pytest.approx( + dclm.xtal1_in + ) + assert await dclm.cooled_beam_stop.user_readback.get_value() == pytest.approx( + dclm.beam_stop_in + ) + + +async def test_change_energy_raises_if_not_monochromatic( + RE: RunEngine, dclm: DCLM, photon_shutter: Shutter +): + set_mock_value(dclm.xtal1_vertical_trans.user_readback, dclm.xtal1_out) + set_mock_value(dclm.cooled_beam_stop.user_readback, dclm.beam_stop_out) + + with pytest.raises(RuntimeError, match="not in monochromatic mode"): + RE(change_energy(10.0, dclm=dclm, photon_shutter=photon_shutter)) + + +def _make_fs_camera() -> AreaDetector: + with init_devices(mock=True, child_name_separator="_"): + driver = ADBaseIO("TEST:CAM:cam1:") + stats1 = NDStatsIO("TEST:CAM:Stats1:") + fs_camera = AreaDetector( + driver, + acquire_logic=ADAcquireLogic(driver), + plugins={"stats1": stats1}, + ) + fs_camera.add_detector_logics( + PluginSignalDataLogic(driver=driver, signal=stats1.total) + ) + set_mock_value(driver.detector_state, ADState.IDLE) + return fs_camera + + +async def test_change_energy_with_auto_tune( + RE: RunEngine, dclm: DCLM, photon_shutter: Shutter +): + energy = 10.0 + bragg_angle = np.arcsin(1.977 / energy) + expected_angle = 35.2544 - np.rad2deg(bragg_angle) + sigma = 0.05 + + fs_camera = _make_fs_camera() + driver = fs_camera.driver + stats1 = fs_camera.get_plugin_by_name("stats1", NDStatsIO) + + # Simulate a Gaussian peak: read motor position when acquire fires. + async def on_acquire(value, **_): + if value: + pos = await dclm.xtal2_pitch.user_readback.get_value() + intensity = float(np.exp(-((pos - expected_angle) ** 2) / (2 * sigma**2))) + set_mock_value(stats1.total, intensity) + + callback_on_mock_put(driver.acquire, on_acquire) + + RE( + change_energy( + energy, dclm=dclm, fs_camera=fs_camera, photon_shutter=photon_shutter + ) + ) + + # Auto-tune should converge on the peak center. + assert await dclm.xtal2_pitch.user_readback.get_value() == pytest.approx( + expected_angle, abs=0.01 + ) + # Fluorescence screen moved out after tuning. + assert await dclm.flourescence_screen.user_readback.get_value() == pytest.approx( + dclm.fs_out + ) + + +async def test_change_energy_no_peak_coarse_scan( + RE: RunEngine, dclm: DCLM, photon_shutter: Shutter, mocker +): + fs_camera = _make_fs_camera() + + mock_ps = mocker.patch( + "hextools.photon_delivery_system.dclm.PeakStats", autospec=True + ).return_value + mock_ps.com = None + + with pytest.raises(RuntimeError, match="No peak found in coarse scan"): + RE( + change_energy( + 10.0, dclm=dclm, fs_camera=fs_camera, photon_shutter=photon_shutter + ) + ) + + +async def test_change_energy_no_peak_fine_scan( + RE: RunEngine, dclm: DCLM, photon_shutter: Shutter, mocker +): + fs_camera = _make_fs_camera() + + mock_ps = mocker.patch( + "hextools.photon_delivery_system.dclm.PeakStats", autospec=True + ).return_value + # Coarse scan succeeds, fine scan fails. + mock_ps.com = 5.0 + mock_ps.reset.side_effect = lambda: setattr(mock_ps, "com", None) + + with pytest.raises(RuntimeError, match="No peak found in fine scan"): + RE( + change_energy( + 10.0, dclm=dclm, fs_camera=fs_camera, photon_shutter=photon_shutter + ) + ) + + +@pytest.mark.parametrize("energy", [8.0, 10.0, 12.0]) +async def test_energy_derived_signal(RE: RunEngine, dclm: DCLM, energy: float): + bragg_angle = np.arcsin(1.977 / energy) + pitch_angle = 35.2544 - np.rad2deg(bragg_angle) + set_mock_value(dclm.xtal1_pitch.user_readback, pitch_angle) + + result = await dclm.energy.get_value() + assert result == pytest.approx(energy) diff --git a/tests/photon_delivery_system/test_filters.py b/tests/photon_delivery_system/test_filters.py new file mode 100644 index 0000000..d67508f --- /dev/null +++ b/tests/photon_delivery_system/test_filters.py @@ -0,0 +1,132 @@ +from importlib import resources + +import bluesky.plan_stubs as bps +import pytest +import yaml +from bluesky.run_engine import RunEngine +from bluesky.utils import FailedStatus +from ophyd_async.core import callback_on_mock_put, init_devices, set_mock_value + +from hextools.photon_delivery_system.filters import ( + Filter, + FilterPosition, + FilterSetting, + load_filters, +) + +_TEST_FILTER_POSITIONS = { + FilterPosition.PASS_THROUGH: FilterSetting(0.0, "pass through"), + FilterPosition.POS_1: FilterSetting(10.0, "Cu 100um"), + FilterPosition.POS_2: FilterSetting(20.0, "Cu 50um"), +} + + +@pytest.fixture +def test_filter() -> Filter: + with init_devices(mock=True): + f = Filter( + "TEST:FILTER:MTR", + _TEST_FILTER_POSITIONS, + "TEST:FILTER:IN_POS", + name="test_filter", + ) + set_mock_value(f.in_position, True) + return f + + +@pytest.mark.parametrize( + "position, expected_description", + [ + (FilterPosition.PASS_THROUGH, "pass through"), + (FilterPosition.POS_1, "Cu 100um"), + (FilterPosition.POS_2, "Cu 50um"), + ], +) +async def test_filter_description_changes_with_position( + RE: RunEngine, + test_filter: Filter, + position: FilterPosition, + expected_description: str, +): + callback_on_mock_put( + test_filter.filter_motor.user_setpoint, + lambda value, **_: set_mock_value( + test_filter.filter_motor.user_readback, value + ), + ) + + RE(bps.mv(test_filter, position)) + desc = await test_filter.description.get_value() + assert desc == expected_description + + +async def test_filter_rejects_undefined_position(RE: RunEngine, test_filter: Filter): + with pytest.raises(FailedStatus) as exc_info: + RE(bps.mv(test_filter, FilterPosition.POS_3)) + assert "Invalid filter position" in str(exc_info.value.__cause__) + + +def _raw_filter_config() -> dict: + source = resources.files("hextools.photon_delivery_system").joinpath("filters.yml") + return yaml.safe_load(source.read_text(encoding="utf-8"))["filters"] + + +def test_load_filters_returns_all_entries_in_order(): + raw = _raw_filter_config() + filters = load_filters() + assert [f.name for f in filters] == list(raw.keys()) + assert all(isinstance(f, Filter) for f in filters) + + +def test_load_filters_parses_named_and_described_positions(): + filters = {f.name: f for f in load_filters()} + positions = filters["filter1_upstream"].positions + assert positions[FilterPosition.UPPER_LIMIT] == FilterSetting(68.0, None) + assert positions[FilterPosition.PASS_THROUGH] == FilterSetting(66.6, None) + assert positions[FilterPosition.POS_1] == FilterSetting(41.5, "12 mm SiC") + assert positions[FilterPosition.POS_2] == FilterSetting(6.5, "9 mm SiC") + assert positions[FilterPosition.POS_3] == FilterSetting(-28.5, "6 mm SiC") + assert positions[FilterPosition.POS_4] == FilterSetting(-58.0, "3 mm SiC") + assert positions[FilterPosition.LOWER_LIMIT] == FilterSetting(-63.2, None) + + +def test_load_filters_supports_undescribed_middle_positions(): + positions = {f.name: f for f in load_filters()}["filter3"].positions + for slot in ( + FilterPosition.POS_1, + FilterPosition.POS_2, + FilterPosition.POS_3, + FilterPosition.POS_4, + ): + assert positions[slot].description is None + assert positions[FilterPosition.POS_1].position == pytest.approx(40.0) + + +def test_load_filters_matches_raw_yaml_pvs_and_counts(): + raw = _raw_filter_config() + filters = {f.name: f for f in load_filters()} + for name, spec in raw.items(): + f = filters[name] + assert len(f.positions) == len(spec["positions"]) + assert spec["motor_pv"] in f.filter_motor.user_readback.source + assert f.in_position.source.endswith(spec["in_position_switch"]) + + +def test_load_filters_maps_every_enum_position(): + for f in load_filters(): + assert set(f.positions) == set(FilterPosition) + + +def test_load_filters_requires_one_position_per_enum(monkeypatch): + bad_config = { + "filters": { + "filter_bad": { + "motor_pv": "TEST:MTR", + "in_position_switch": "TEST:IN_POS", + "positions": {"upper_limit": 1.0, "pass_through": 2.0}, + } + } + } + monkeypatch.setattr(yaml, "safe_load", lambda *_a, **_k: bad_config) + with pytest.raises(ValueError, match="exactly 7 positions"): + load_filters() diff --git a/tests/photon_delivery_system/test_shutter.py b/tests/photon_delivery_system/test_shutter.py new file mode 100644 index 0000000..d115da6 --- /dev/null +++ b/tests/photon_delivery_system/test_shutter.py @@ -0,0 +1,51 @@ +import asyncio +import time + +import bluesky.plan_stubs as bps +import pytest +from bluesky.run_engine import RunEngine +from ophyd_async.core import callback_on_mock_execute, init_devices, set_mock_value + +from hextools.photon_delivery_system.shutter import Shutter + + +@pytest.fixture +def shutter() -> Shutter: + with init_devices(mock=True): + ps = Shutter("TEST:SHUTTER:", name="test_shutter") + return ps + + +async def _delayed_readback(ps: Shutter, value: bool, delay: float): + await asyncio.sleep(delay) + set_mock_value(ps.status, value) + + +@pytest.mark.parametrize("delay", [0.0, 0.05, 0.1, 0.15]) +async def test_shutter_open_close_behavior( + RE: RunEngine, shutter: Shutter, delay: float +): + set_mock_value(shutter.status, False) + + callback_on_mock_execute( + shutter.open_cmd, + lambda *_: asyncio.ensure_future(_delayed_readback(shutter, True, delay)), + ) + callback_on_mock_execute( + shutter.close_cmd, + lambda *_: asyncio.ensure_future(_delayed_readback(shutter, False, delay)), + ) + + t0 = time.monotonic() + RE(bps.mv(shutter, True)) + open_duration = time.monotonic() - t0 + assert await shutter.status.get_value() is True + assert open_duration >= delay + assert open_duration < delay + 0.1 + + t0 = time.monotonic() + RE(bps.mv(shutter, False)) + close_duration = time.monotonic() - t0 + assert await shutter.status.get_value() is False + assert close_duration >= delay + assert close_duration < delay + 0.1 diff --git a/tests/photon_delivery_system/test_slits.py b/tests/photon_delivery_system/test_slits.py new file mode 100644 index 0000000..0429b25 --- /dev/null +++ b/tests/photon_delivery_system/test_slits.py @@ -0,0 +1,98 @@ +import bluesky.plan_stubs as bps +import pytest +from bluesky.run_engine import RunEngine +from ophyd_async.core import callback_on_mock_put, init_devices, set_mock_value + +from hextools.photon_delivery_system.slits import Slits + + +@pytest.fixture +async def slits() -> Slits: + async with init_devices(mock=True): + device = Slits("XF:TEST:", 1) + # Mirror each motor setpoint to its readback so moves complete in mock mode. + for motor in (device.inboard, device.outboard, device.bottom, device.top): + callback_on_mock_put( + motor.user_setpoint, + lambda value, motor=motor, **_: set_mock_value(motor.user_readback, value), + ) + return device + + +# axis label, low motor, high motor, gap signal, center signal +_AXES = [ + ("horizontal", "inboard", "outboard", "horizontal_gap", "horizontal_center"), + ("vertical", "bottom", "top", "vertical_gap", "vertical_center"), +] + + +@pytest.mark.parametrize("axis, low, high, gap, center", _AXES) +async def test_slits_gap_and_center_readback( + slits: Slits, axis: str, low: str, high: str, gap: str, center: str +): + set_mock_value(getattr(slits, low).user_readback, -2.0) + set_mock_value(getattr(slits, high).user_readback, 4.0) + + assert await getattr(slits, gap).get_value() == pytest.approx(6.0) + assert await getattr(slits, center).get_value() == pytest.approx(1.0) + + +@pytest.mark.parametrize("axis, low, high, gap, center", _AXES) +async def test_slits_set_gap_keeps_center( + slits: Slits, axis: str, low: str, high: str, gap: str, center: str +): + low_motor, high_motor = getattr(slits, low), getattr(slits, high) + set_mock_value(low_motor.user_readback, -1.0) + set_mock_value(high_motor.user_readback, 3.0) # center 1.0, gap 4.0 + + await getattr(slits, gap).set(10.0) + + # Blades move symmetrically about the unchanged center. + assert await low_motor.user_readback.get_value() == pytest.approx(-4.0) + assert await high_motor.user_readback.get_value() == pytest.approx(6.0) + assert await getattr(slits, center).get_value() == pytest.approx(1.0) + assert await getattr(slits, gap).get_value() == pytest.approx(10.0) + + +@pytest.mark.parametrize("axis, low, high, gap, center", _AXES) +async def test_slits_set_center_keeps_gap( + slits: Slits, axis: str, low: str, high: str, gap: str, center: str +): + low_motor, high_motor = getattr(slits, low), getattr(slits, high) + set_mock_value(low_motor.user_readback, -1.0) + set_mock_value(high_motor.user_readback, 3.0) # center 1.0, gap 4.0 + + await getattr(slits, center).set(5.0) + + # Both blades shift by the same amount, preserving the gap. + assert await low_motor.user_readback.get_value() == pytest.approx(3.0) + assert await high_motor.user_readback.get_value() == pytest.approx(7.0) + assert await getattr(slits, gap).get_value() == pytest.approx(4.0) + assert await getattr(slits, center).get_value() == pytest.approx(5.0) + + +async def test_slits_set_all_gaps_and_centers_via_mv(RE: RunEngine): + # Build under the RE loop so bps.mv can drive the device. + with init_devices(mock=True): + slits = Slits("XF:TEST:", 1) + for motor in (slits.inboard, slits.outboard, slits.bottom, slits.top): + callback_on_mock_put( + motor.user_setpoint, + lambda value, motor=motor, **_: set_mock_value(motor.user_readback, value), + ) + set_mock_value(motor.user_readback, 0.0) + + # Flat (h_gap, h_center, v_gap, v_center). + RE(bps.mv(slits, (10, 10, 4, 2))) + + # Horizontal: gap 10, center 10 -> inboard 5, outboard 15. + assert await slits.inboard.user_readback.get_value() == pytest.approx(5.0) + assert await slits.outboard.user_readback.get_value() == pytest.approx(15.0) + # Vertical: gap 4, center 2 -> bottom 0, top 4. + assert await slits.bottom.user_readback.get_value() == pytest.approx(0.0) + assert await slits.top.user_readback.get_value() == pytest.approx(4.0) + + assert await slits.horizontal_gap.get_value() == pytest.approx(10.0) + assert await slits.horizontal_center.get_value() == pytest.approx(10.0) + assert await slits.vertical_gap.get_value() == pytest.approx(4.0) + assert await slits.vertical_center.get_value() == pytest.approx(2.0) diff --git a/tests/test_photon_delivery_system.py b/tests/test_photon_delivery_system.py deleted file mode 100644 index 7da0bd9..0000000 --- a/tests/test_photon_delivery_system.py +++ /dev/null @@ -1,367 +0,0 @@ -import asyncio -import time -from importlib import resources - -import bluesky.plan_stubs as bps -import numpy as np -import pytest -import yaml -from bluesky.run_engine import RunEngine -from bluesky.utils import FailedStatus -from ophyd_async.core import ( - callback_on_mock_execute, - callback_on_mock_put, - init_devices, - set_mock_value, -) -from ophyd_async.epics.adcore import ( - ADAcquireLogic, - ADBaseIO, - ADState, - AreaDetector, - NDStatsIO, - PluginSignalDataLogic, -) - -from hextools.photon_delivery_system import ( - DCLM, - BeamMode, - Filter, - FilterPosition, - FilterSetting, - Shutter, - change_energy, - load_filters, -) - - -@pytest.fixture -def shutter() -> Shutter: - with init_devices(mock=True): - ps = Shutter("TEST:SHUTTER:", name="test_shutter") - return ps - - -async def _delayed_readback(ps: Shutter, value: bool, delay: float): - await asyncio.sleep(delay) - set_mock_value(ps.status, value) - - -@pytest.mark.parametrize("delay", [0.0, 0.05, 0.1, 0.15]) -async def test_shutter_open_close_behavior( - RE: RunEngine, shutter: Shutter, delay: float -): - set_mock_value(shutter.status, False) - - callback_on_mock_execute( - shutter.open_cmd, - lambda *_: asyncio.ensure_future(_delayed_readback(shutter, True, delay)), - ) - callback_on_mock_execute( - shutter.close_cmd, - lambda *_: asyncio.ensure_future(_delayed_readback(shutter, False, delay)), - ) - - t0 = time.monotonic() - RE(bps.mv(shutter, True)) - open_duration = time.monotonic() - t0 - assert await shutter.status.get_value() is True - assert open_duration >= delay - assert open_duration < delay + 0.1 - - t0 = time.monotonic() - RE(bps.mv(shutter, False)) - close_duration = time.monotonic() - t0 - assert await shutter.status.get_value() is False - assert close_duration >= delay - assert close_duration < delay + 0.1 - - -_TEST_FILTER_POSITIONS = { - FilterPosition.PASS_THROUGH: FilterSetting(0.0, "pass through"), - FilterPosition.POS_1: FilterSetting(10.0, "Cu 100um"), - FilterPosition.POS_2: FilterSetting(20.0, "Cu 50um"), -} - - -@pytest.fixture -def test_filter() -> Filter: - with init_devices(mock=True): - f = Filter( - "TEST:FILTER:MTR", - _TEST_FILTER_POSITIONS, - "TEST:FILTER:IN_POS", - name="test_filter", - ) - set_mock_value(f.in_position, True) - return f - - -@pytest.mark.parametrize( - "position, expected_description", - [ - (FilterPosition.PASS_THROUGH, "pass through"), - (FilterPosition.POS_1, "Cu 100um"), - (FilterPosition.POS_2, "Cu 50um"), - ], -) -async def test_filter_description_changes_with_position( - RE: RunEngine, - test_filter: Filter, - position: FilterPosition, - expected_description: str, -): - callback_on_mock_put( - test_filter.filter_motor.user_setpoint, - lambda value, **_: set_mock_value( - test_filter.filter_motor.user_readback, value - ), - ) - - RE(bps.mv(test_filter, position)) - desc = await test_filter.description.get_value() - assert desc == expected_description - - -async def test_filter_rejects_undefined_position(RE: RunEngine, test_filter: Filter): - with pytest.raises(FailedStatus) as exc_info: - RE(bps.mv(test_filter, FilterPosition.POS_3)) - assert "Invalid filter position" in str(exc_info.value.__cause__) - - -@pytest.fixture -def dclm() -> DCLM: - with init_devices(mock=True, child_name_separator="_"): - dclm = DCLM("TEST:{") - return dclm - - -@pytest.mark.parametrize( - "mode, expected_xtal1, expected_bs", - [ - (BeamMode.WHITE, DCLM.xtal1_out, DCLM.beam_stop_out), - ( - BeamMode.MONOCHROMATIC, - DCLM.xtal1_in, - DCLM.beam_stop_in, - ), - ], -) -async def test_monochromator_beam_mode_switch( - RE: RunEngine, - dclm: DCLM, - mode: BeamMode, - expected_xtal1: float, - expected_bs: float, -): - RE(bps.mv(dclm, mode)) - - xtal1_pos = await dclm.xtal1_vertical_trans.user_readback.get_value() - bs_pos = await dclm.cooled_beam_stop.user_readback.get_value() - assert xtal1_pos == pytest.approx(expected_xtal1) - assert bs_pos == pytest.approx(expected_bs) - - beam_mode = await dclm.beam_mode.get_value() - assert beam_mode == mode - - -def _raw_filter_config() -> dict: - source = resources.files("hextools").joinpath("filters.yml") - return yaml.safe_load(source.read_text(encoding="utf-8"))["filters"] - - -def test_load_filters_returns_all_entries_in_order(): - raw = _raw_filter_config() - filters = load_filters() - assert [f.name for f in filters] == list(raw.keys()) - assert all(isinstance(f, Filter) for f in filters) - - -def test_load_filters_parses_named_and_described_positions(): - filters = {f.name: f for f in load_filters()} - positions = filters["filter1_upstream"].positions - assert positions[FilterPosition.UPPER_LIMIT] == FilterSetting(68.0, None) - assert positions[FilterPosition.PASS_THROUGH] == FilterSetting(66.6, None) - assert positions[FilterPosition.POS_1] == FilterSetting(41.5, "12 mm SiC") - assert positions[FilterPosition.POS_2] == FilterSetting(6.5, "9 mm SiC") - assert positions[FilterPosition.POS_3] == FilterSetting(-28.5, "6 mm SiC") - assert positions[FilterPosition.POS_4] == FilterSetting(-58.0, "3 mm SiC") - assert positions[FilterPosition.LOWER_LIMIT] == FilterSetting(-63.2, None) - - -def test_load_filters_supports_undescribed_middle_positions(): - positions = {f.name: f for f in load_filters()}["filter3"].positions - for slot in ( - FilterPosition.POS_1, - FilterPosition.POS_2, - FilterPosition.POS_3, - FilterPosition.POS_4, - ): - assert positions[slot].description is None - assert positions[FilterPosition.POS_1].position == pytest.approx(40.0) - - -def test_load_filters_matches_raw_yaml_pvs_and_counts(): - raw = _raw_filter_config() - filters = {f.name: f for f in load_filters()} - for name, spec in raw.items(): - f = filters[name] - assert len(f.positions) == len(spec["positions"]) - assert spec["motor_pv"] in f.filter_motor.user_readback.source - assert f.in_position.source.endswith(spec["in_position_switch"]) - - -def test_load_filters_maps_every_enum_position(): - for f in load_filters(): - assert set(f.positions) == set(FilterPosition) - - -def test_load_filters_requires_one_position_per_enum(monkeypatch): - bad_config = { - "filters": { - "filter_bad": { - "motor_pv": "TEST:MTR", - "in_position_switch": "TEST:IN_POS", - "positions": {"upper_limit": 1.0, "pass_through": 2.0}, - } - } - } - monkeypatch.setattr(yaml, "safe_load", lambda *_a, **_k: bad_config) - with pytest.raises(ValueError, match="exactly 7 positions"): - load_filters() - - -@pytest.mark.parametrize("energy", [8.0, 10.0, 12.0]) -async def test_change_energy_moves_motors(RE: RunEngine, dclm: DCLM, energy: float): - bragg_angle = np.arcsin(1.977 / energy) - expected_angle = 35.2544 - np.rad2deg(bragg_angle) - expected_z = 25.0 / np.tan(2 * bragg_angle) - - RE(change_energy(dclm, energy)) - - assert await dclm.xtal1_pitch.user_readback.get_value() == pytest.approx( - expected_angle - ) - assert await dclm.xtal2_pitch.user_readback.get_value() == pytest.approx( - expected_angle - ) - assert await dclm.xtal2_z.user_readback.get_value() == pytest.approx(expected_z) - assert await dclm.flourescence_screen.user_readback.get_value() == pytest.approx( - dclm.fs_in - ) - assert await dclm.xtal1_vertical_trans.user_readback.get_value() == pytest.approx( - dclm.xtal1_in - ) - assert await dclm.cooled_beam_stop.user_readback.get_value() == pytest.approx( - dclm.beam_stop_in - ) - - -async def test_change_energy_raises_if_not_monochromatic(RE: RunEngine, dclm: DCLM): - set_mock_value(dclm.xtal1_vertical_trans.user_readback, dclm.xtal1_out) - set_mock_value(dclm.cooled_beam_stop.user_readback, dclm.beam_stop_out) - - with pytest.raises(RuntimeError, match="not in monochromatic mode"): - RE(change_energy(dclm, 10.0)) - - -# class NDStatsWithMeanIO(NDStatsIO): -# mean: A[SignalR[float], PvSuffix("MeanValue_RBV")] - - -async def test_change_energy_with_auto_tune(RE: RunEngine, dclm: DCLM): - energy = 10.0 - bragg_angle = np.arcsin(1.977 / energy) - expected_angle = 35.2544 - np.rad2deg(bragg_angle) - sigma = 0.05 - - with init_devices(mock=True, child_name_separator="_"): - driver = ADBaseIO("TEST:CAM:cam1:") - stats1 = NDStatsIO("TEST:CAM:Stats1:") - fs_camera = AreaDetector( - driver, - acquire_logic=ADAcquireLogic(driver), - plugins={"stats1": stats1}, - ) - fs_camera.add_detector_logics( - PluginSignalDataLogic(driver=driver, signal=stats1.total) - ) - set_mock_value(driver.detector_state, ADState.IDLE) - - # Simulate a Gaussian peak: read motor position when acquire fires - async def on_acquire(value, **_): - if value: - pos = await dclm.xtal2_pitch.user_readback.get_value() - intensity = float(np.exp(-((pos - expected_angle) ** 2) / (2 * sigma**2))) - set_mock_value(stats1.total, intensity) - - callback_on_mock_put(driver.acquire, on_acquire) - - RE(change_energy(dclm, energy, fs_camera)) - - # Auto-tune should converge on the peak center - assert await dclm.xtal2_pitch.user_readback.get_value() == pytest.approx( - expected_angle, abs=0.01 - ) - # Fluorescence screen moved out after tuning - assert await dclm.flourescence_screen.user_readback.get_value() == pytest.approx( - dclm.fs_out - ) - - -async def test_change_energy_no_peak_coarse_scan(RE: RunEngine, dclm: DCLM, mocker): - with init_devices(mock=True, child_name_separator="_"): - driver = ADBaseIO("TEST:CAM:cam1:") - stats1 = NDStatsIO("TEST:CAM:Stats1:") - fs_camera = AreaDetector( - driver, - acquire_logic=ADAcquireLogic(driver), - plugins={"stats1": stats1}, - ) - fs_camera.add_detector_logics( - PluginSignalDataLogic(driver=driver, signal=stats1.total) - ) - set_mock_value(driver.detector_state, ADState.IDLE) - - mock_ps = mocker.patch( - "hextools.photon_delivery_system.PeakStats", autospec=True - ).return_value - mock_ps.com = None - - with pytest.raises(RuntimeError, match="No peak found in coarse scan"): - RE(change_energy(dclm, 10.0, fs_camera)) - - -async def test_change_energy_no_peak_fine_scan(RE: RunEngine, dclm: DCLM, mocker): - with init_devices(mock=True, child_name_separator="_"): - driver = ADBaseIO("TEST:CAM:cam1:") - stats1 = NDStatsIO("TEST:CAM:Stats1:") - fs_camera = AreaDetector( - driver, - acquire_logic=ADAcquireLogic(driver), - plugins={"stats1": stats1}, - ) - fs_camera.add_detector_logics( - PluginSignalDataLogic(driver=driver, signal=stats1.total) - ) - set_mock_value(driver.detector_state, ADState.IDLE) - - mock_ps = mocker.patch( - "hextools.photon_delivery_system.PeakStats", autospec=True - ).return_value - # Coarse scan succeeds, fine scan fails - mock_ps.com = 5.0 - mock_ps.reset.side_effect = lambda: setattr(mock_ps, "com", None) - - with pytest.raises(RuntimeError, match="No peak found in fine scan"): - RE(change_energy(dclm, 10.0, fs_camera)) - - -@pytest.mark.parametrize("energy", [8.0, 10.0, 12.0]) -async def test_energy_derived_signal(RE: RunEngine, dclm: DCLM, energy: float): - bragg_angle = np.arcsin(1.977 / energy) - pitch_angle = 35.2544 - np.rad2deg(bragg_angle) - set_mock_value(dclm.xtal1_pitch.user_readback, pitch_angle) - - result = await dclm.energy.get_value() - assert result == pytest.approx(energy)