diff --git a/pixi.lock b/pixi.lock index e936b86..7ff7897 100644 --- a/pixi.lock +++ b/pixi.lock @@ -15,8 +15,7 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -35,29 +34,23 @@ 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/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/brunsli-0.1-hd1e3526_2.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/brotli-python-1.2.0-py313h2fc2bef_4.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/charls-2.4.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.4-hea3f660_0.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/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py313h07c4f96_2.conda - 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/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/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 - 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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda @@ -67,19 +60,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/libcblas-3.11.0-10_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_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 - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -92,15 +83,13 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda @@ -119,28 +108,26 @@ environments: - 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/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/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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_0.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/ndindex-1.10.1-py313hbdba758_1.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-py313h901f96d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h24ae7f9_100.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py313hb5f73ae_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h2c65a36_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py313hb5f73ae_0.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/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 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py313hbfd7664_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py313hd42f317_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda @@ -150,71 +137,61 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py313ha296275_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.15-hf47f18c_103_cp313.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py313h2139695_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py313h29aa505_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.10.0-py313hd42f317_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py313h3dea7bd_1.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 - 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/rpds-py-2026.6.3-py313ha296275_2.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py313he2a5f1a_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/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/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/tornado-6.5.8-py313h995f894_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-h7cc23a3_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 - - 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-py313hd42f317_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_4.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/_x86_64-microarch-level-1-5_level1.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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - 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/bluesky-tiled-plugins-2.0.11-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/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/click-8.5.0-pyh5ded981_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/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 - 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/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/imageio-2.37.4-pyh5ded981_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 @@ -236,16 +213,14 @@ 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/narwhals-2.26.0-pyh5ded981_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 - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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 @@ -278,11 +253,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.8-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/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,47 +268,54 @@ 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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - pypi: https://files.pythonhosted.org/packages/08/0f/0daf459b604f61253b914b28f0e6dd16cdc8a7aa962cf901e482f5cbba67/pymongo-4.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - 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 - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/24/ea/65cec46fe241390ccea1b1754207ee28eb71c5ab866bd5f22fe47e538fa4/matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/2e/43/102114edc44314b669904ce51f1473137b2830bf4862dfc6d2b1ad3fcf91/confluent_kafka-2.15.1-cp313-cp313-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/40/79/5be34236697e8fabbed5534a67100b9d9d11c210de55ba3ba2590d7d7634/confluent_kafka-2.15.0-cp313-cp313-manylinux_2_28_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/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/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 + - pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.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/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-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 - 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: @@ -345,12 +326,11 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313h7033f15_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313hbdba758_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py313h995f894_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py313h54dd161_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -369,19 +349,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-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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py313h2af15c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py313h78454fb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hc91d8b8_1.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-py313h07c4f96_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda @@ -389,54 +367,49 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py313h9f4c961_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/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-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/gmpy2-2.3.1-py313ha4a6282_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/grimp-3.17-py313ha296275_1.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 - 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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -447,7 +420,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-h569388d_4.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 @@ -456,24 +429,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 @@ -492,36 +463,35 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/ndindex-1.10.1-py313hbdba758_1.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-py313h901f96d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h24ae7f9_100.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py313hb5f73ae_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h2c65a36_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py313hb5f73ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_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/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 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py313hbfd7664_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/pillow-12.3.0-py313h3b26573_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py313hd42f317_2.conda @@ -530,33 +500,31 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py313h98bfbea_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py313h6123c0d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py313ha296275_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hec6a3d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hd9d88b3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.15-hf47f18c_103_cp313.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py313h2139695_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py313h7033f15_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py313h29aa505_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.10.0-py313hd42f317_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py313h3dea7bd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/rpds-py-2026.6.3-py313ha296275_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py313he2a5f1a_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-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_2.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/websockets-17.1-py313h7f1de9a_1.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 @@ -567,7 +535,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -579,27 +547,25 @@ 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_3.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 - 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-py313hd42f317_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_4.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/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.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/alembic-1.19.2-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda @@ -608,8 +574,7 @@ 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/bluesky-tiled-plugins-2.0.11-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 @@ -619,16 +584,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-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/click-8.5.0-pyh5ded981_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/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 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda @@ -646,7 +608,7 @@ environments: - 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/filelock-3.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -657,17 +619,15 @@ 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 - - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-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/imageio-2.37.4-pyh5ded981_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/import-linter-2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.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 @@ -694,20 +654,16 @@ 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/narwhals-2.26.0-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-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/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda @@ -721,7 +677,6 @@ environments: - 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/pyproject-api-1.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -743,7 +698,7 @@ environments: - 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/rich-toolkit-0.20.5-pyh5ded981_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 @@ -763,21 +718,18 @@ environments: - 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/strawberry-graphql-0.327.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_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 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/tiled-server-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/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 @@ -789,53 +741,60 @@ environments: - 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/virtualenv-21.7.8-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - pypi: https://files.pythonhosted.org/packages/08/0f/0daf459b604f61253b914b28f0e6dd16cdc8a7aa962cf901e482f5cbba67/pymongo-4.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - 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 - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/24/ea/65cec46fe241390ccea1b1754207ee28eb71c5ab866bd5f22fe47e538fa4/matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/2e/43/102114edc44314b669904ce51f1473137b2830bf4862dfc6d2b1ad3fcf91/confluent_kafka-2.15.1-cp313-cp313-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/40/79/5be34236697e8fabbed5534a67100b9d9d11c210de55ba3ba2590d7d7634/confluent_kafka-2.15.0-cp313-cp313-manylinux_2_28_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/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/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 + - pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.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/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-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 - 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: @@ -847,8 +806,7 @@ environments: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -867,41 +825,32 @@ 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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/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/fonttools-4.65.0-py312hfd18d64_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-h7cc23a3_2.conda - 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/graphite2-1.3.15-h54a6638_1.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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda @@ -911,25 +860,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -940,7 +887,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-h569388d_4.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 @@ -949,24 +896,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 @@ -985,34 +930,30 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/ndindex-1.10.1-py312ha6a3dbb_1.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/numexpr-2.14.2-py312h0000c9d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.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/openldap-2.6.13-hbde042b_0.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/pillow-12.3.0-py312h38079b3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -1020,28 +961,25 @@ 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/pyside6-6.11.2-py312hf520645_1.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/pywavelets-1.10.0-py312h1b36aeb_0.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/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/rpds-py-2026.6.3-py312hc767a74_2.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_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/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/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h5cc1888_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/websockets-17.1-py312h89dfda2_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 @@ -1052,7 +990,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -1064,33 +1002,29 @@ 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_3.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 - 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/zstandard-0.25.0-py312h1b36aeb_4.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/_x86_64-microarch-level-1-5_level1.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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - 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/bluesky-tiled-plugins-2.0.11-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/click-8.5.0-pyh5ded981_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 @@ -1098,14 +1032,9 @@ environments: - 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 +1044,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/imageio-2.37.4-pyh5ded981_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 +1064,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 +1071,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/narwhals-2.26.0-pyh5ded981_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/platformdirs-4.11.8-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,7 +1098,6 @@ 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 @@ -1192,11 +1112,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.8-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/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 +1124,57 @@ 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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - 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/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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.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/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/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-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/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/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/ @@ -1249,12 +1183,12 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py311h1ddb823_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py311h5f79a97_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py311h0d48ccd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py311haee01d2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py311h2bf5405_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py311h2bf5405_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -1273,19 +1207,19 @@ 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 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hd6621ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hc91d8b8_1.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-py311h49ec1c0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda @@ -1296,26 +1230,26 @@ environments: - 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-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/gmpy2-2.3.1-py311hbc40be8_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/grimp-3.17-py311ha6e1976_1.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 - 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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda @@ -1323,13 +1257,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda @@ -1340,7 +1274,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -1351,7 +1285,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-h569388d_4.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 @@ -1364,20 +1298,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 @@ -1396,36 +1330,36 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/ndindex-1.10.1-py311h5f79a97_1.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-py311hdfc3925_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py311hed34c8f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py311h3143de2_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py311hd2b4d55_101.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py311h2e04523_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py311h823f2b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py311h823f2b2_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.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py311h8032f78_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/pillow-12.3.0-py311hf303fd3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py311hf303fd3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py311h194be0f_2.conda @@ -1434,7 +1368,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py311h66caee6_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py311hc8f4f90_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py311ha6e1976_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py311hbcd594d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py311h242c0d0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.16-h5f976f7_2_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.1.2-py311hcbcfc3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py311h1ddb823_0.conda @@ -1444,8 +1378,8 @@ environments: - 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 - 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/rpds-py-2026.6.3-py311ha6e1976_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-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 +1387,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_2.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/websockets-17.1-py311h4b93e55_1.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 @@ -1471,7 +1405,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -1483,27 +1417,26 @@ 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_3.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/zfp-1.0.1-h79e284d_6.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-py311h194be0f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311h194be0f_4.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/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.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/alembic-1.19.2-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda @@ -1512,8 +1445,7 @@ 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/bluesky-tiled-plugins-2.0.11-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 - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-2.0.1-pyhcf101f3_0.conda @@ -1523,16 +1455,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-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/click-8.5.0-pyh5ded981_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/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 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda @@ -1550,7 +1479,7 @@ environments: - 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/filelock-3.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -1561,17 +1490,15 @@ 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 - - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-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/imageio-2.37.4-pyh5ded981_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/import-linter-2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.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 @@ -1597,20 +1524,16 @@ 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/narwhals-2.26.0-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-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/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.26.0-pyhd8ed1ab_0.conda @@ -1623,7 +1546,6 @@ environments: - 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/pyproject-api-1.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -1645,7 +1567,7 @@ environments: - 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/rich-toolkit-0.20.5-pyh5ded981_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 @@ -1665,7 +1587,7 @@ environments: - 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/strawberry-graphql-0.327.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_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/tifffile-2026.3.3-pyhd8ed1ab_0.conda @@ -1673,10 +1595,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-client-0.2.18-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-server-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/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 @@ -1687,28 +1606,32 @@ environments: - 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/virtualenv-21.7.8-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 - 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 - 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/22/43/de7ba18948792e128a86236ed5c5d6e4bab6c5bfc2be1b003880afa6dcbb/confluent_kafka-2.15.1-cp311-cp311-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/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/2e/a4/1ca765c63a60e3096ae2ad132eb25f6f7eab0377418cd0472808befd9665/matplotlib-3.11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_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/3f/e1/c1170950f3b87f18f4f54361617cf41be2fe7d56f74e00e05da14dc50cc1/pymongo-4.18.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-py3-none-any.whl @@ -1717,24 +1640,27 @@ 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/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/a1/e6/e48cf0a272a5d4d17a09d44f92727e67f975ddfa94acc8464763d19a654d/fonttools-4.65.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.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/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/aa/ed/3fb20a1a96b8dc645d88c4072df481fe06e0289e4d528ebbdcc044ebc8b3/ruamel_yaml_clib-0.2.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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/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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.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/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: @@ -1744,12 +1670,11 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312ha6a3dbb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -1768,19 +1693,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-python-1.2.0-py312he9c40d5_3.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/brotli-python-1.2.0-py312he9c40d5_4.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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py312h8b7ec3f_0.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/cryptography-50.0.1-py311hc91d8b8_1.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 @@ -1788,54 +1711,49 @@ environments: - 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/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/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_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/grimp-3.17-py312hc767a74_1.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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -1846,7 +1764,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-h569388d_4.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 @@ -1855,24 +1773,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 @@ -1891,36 +1807,35 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/ndindex-1.10.1-py312ha6a3dbb_1.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/numcodecs-0.16.5-py312hf79963d_0.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/obstore-0.11.1-py312h9f92c4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h0000c9d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py312h9f92c4b_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/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 - 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/pillow-12.3.0-py312h38079b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -1929,33 +1844,31 @@ environments: - 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/pycryptodome-3.23.0-py312hf189cdb_2.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/pyside6-6.11.2-py312hf143aa3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf520645_1.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/python-duckdb-1.3.2-py312h1289d80_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/pywavelets-1.10.0-py312h1b36aeb_0.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/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/rpds-py-2026.6.3-py312hc767a74_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_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_2.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/websockets-17.1-py312h89dfda2_1.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 @@ -1966,7 +1879,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -1978,27 +1891,25 @@ 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_3.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 - 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/zstandard-0.25.0-py312h1b36aeb_4.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/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.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/alembic-1.19.2-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda @@ -2007,8 +1918,7 @@ 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/bluesky-tiled-plugins-2.0.11-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 @@ -2018,16 +1928,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-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/click-8.5.0-pyh5ded981_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/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 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda @@ -2045,7 +1952,7 @@ environments: - 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/filelock-3.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -2056,17 +1963,15 @@ 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 - - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-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/imageio-2.37.4-pyh5ded981_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/import-linter-2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.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 @@ -2093,20 +1998,16 @@ 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/narwhals-2.26.0-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-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/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda @@ -2120,7 +2021,6 @@ environments: - 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/pyproject-api-1.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -2142,7 +2042,7 @@ environments: - 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/rich-toolkit-0.20.5-pyh5ded981_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 @@ -2162,21 +2062,18 @@ environments: - 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/strawberry-graphql-0.327.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_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 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/tiled-server-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/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 @@ -2188,26 +2085,25 @@ environments: - 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/virtualenv-21.7.8-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 - 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 - 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/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 @@ -2218,24 +2114,32 @@ environments: - 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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/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 + - pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-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/b5/09/de2c0c20a42c18e565a2617932beb08c06697bbdd0d3f62b108262e11583/fonttools-4.65.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b8/90/2b3fd67ee273163faeda6d514be70b5596eaa0fd77b60ffc294ad0b34f5f/matplotlib-3.11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_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/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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/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: @@ -2245,12 +2149,11 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313h7033f15_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313hbdba758_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py313h995f894_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py313h54dd161_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -2269,19 +2172,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-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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/contourpy-1.3.3-py313hc8edb43_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py313h2af15c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py313h78454fb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hc91d8b8_1.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-py313h07c4f96_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda @@ -2289,54 +2190,49 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py313h9f4c961_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/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-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/gmpy2-2.3.1-py313ha4a6282_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/grimp-3.17-py313ha296275_1.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 - 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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -2347,7 +2243,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-h569388d_4.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 @@ -2356,24 +2252,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 @@ -2392,36 +2286,35 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/ndindex-1.10.1-py313hbdba758_1.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-py313h901f96d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py313h08cd8bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h24ae7f9_100.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py313hb5f73ae_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h2c65a36_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py313hb5f73ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_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/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 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.5-py313hbfd7664_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/pillow-12.3.0-py313h3b26573_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py313hd42f317_2.conda @@ -2430,33 +2323,31 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-25.0.0-py313h98bfbea_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pycryptodome-3.23.0-py313h6123c0d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.5-py313ha296275_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hec6a3d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hd9d88b3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.15-hf47f18c_103_cp313.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-blosc2-4.12.0-py313h2139695_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-duckdb-1.3.2-py313h7033f15_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py313h29aa505_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.10.0-py313hd42f317_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py313h3dea7bd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/rpds-py-2026.6.3-py313ha296275_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py313he2a5f1a_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-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_2.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/websockets-17.1-py313h7f1de9a_1.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 @@ -2467,7 +2358,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -2479,27 +2370,25 @@ 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_3.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 - 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-py313hd42f317_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_4.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/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.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/alembic-1.19.2-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda @@ -2508,8 +2397,7 @@ 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/bluesky-tiled-plugins-2.0.11-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 @@ -2519,16 +2407,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-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/click-8.5.0-pyh5ded981_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/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 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.8.0-pyhc364b38_0.conda @@ -2546,7 +2431,7 @@ environments: - 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/filelock-3.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -2557,17 +2442,15 @@ 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 - - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-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/imageio-2.37.4-pyh5ded981_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/import-linter-2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.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 @@ -2594,20 +2477,16 @@ 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/narwhals-2.26.0-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-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/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda @@ -2621,7 +2500,6 @@ environments: - 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/pyproject-api-1.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -2643,7 +2521,7 @@ environments: - 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/rich-toolkit-0.20.5-pyh5ded981_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 @@ -2663,21 +2541,18 @@ environments: - 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/strawberry-graphql-0.327.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_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 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/tiled-server-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/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 @@ -2689,53 +2564,60 @@ environments: - 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/virtualenv-21.7.8-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - pypi: https://files.pythonhosted.org/packages/08/0f/0daf459b604f61253b914b28f0e6dd16cdc8a7aa962cf901e482f5cbba67/pymongo-4.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - 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 - pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/24/ea/65cec46fe241390ccea1b1754207ee28eb71c5ab866bd5f22fe47e538fa4/matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/2e/43/102114edc44314b669904ce51f1473137b2830bf4862dfc6d2b1ad3fcf91/confluent_kafka-2.15.1-cp313-cp313-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/40/79/5be34236697e8fabbed5534a67100b9d9d11c210de55ba3ba2590d7d7634/confluent_kafka-2.15.0-cp313-cp313-manylinux_2_28_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/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/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 + - pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.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/bc/68/c45fbb7bfe21b81ccf923b02549e2b1504539dacdbbb3444c01aa00c2ee2/pvxslibs-1.5.2-cp313-cp313-manylinux2014_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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.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/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-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 - 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: @@ -2746,8 +2628,7 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -2766,46 +2647,30 @@ 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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/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/debugpy-1.8.21-py312h80505a6_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/fonttools-4.65.0-py312hfd18d64_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-h7cc23a3_2.conda - 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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda @@ -2815,19 +2680,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/libcblas-3.11.0-10_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_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 - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -2836,21 +2699,19 @@ 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-h569388d_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-25.0.0-h7376487_4_cpu.conda @@ -2860,7 +2721,7 @@ 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/libsodium-1.0.22-hebe6cf0_3.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,39 +2730,31 @@ 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 - - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_0.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/ndindex-1.10.1-py312ha6a3dbb_1.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/numexpr-2.14.2-py312h0000c9d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.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/pillow-12.3.0-py312h38079b3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -2909,70 +2762,54 @@ 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/pywavelets-1.10.0-py312h1b36aeb_0.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/pyzmq-27.2.0-py312h8a5ba0d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.8.1-h1fbca29_0.conda - 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/rpds-py-2026.6.3-py312hc767a74_2.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_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/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/tornado-6.5.8-py312h5cc1888_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h5cc1888_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_1.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_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/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/zeromq-4.3.5-h901266b_12.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/zstandard-0.25.0-py312h1b36aeb_4.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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - 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/bluesky-tiled-plugins-2.0.11-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/click-8.5.0-pyh5ded981_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 @@ -2981,22 +2818,9 @@ environments: - 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,15 +2830,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/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/imageio-2.37.4-pyh5ded981_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 @@ -3029,91 +2851,61 @@ 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/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/narwhals-2.26.0-pyh5ded981_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/platformdirs-4.11.8-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 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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 +2914,89 @@ 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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - 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/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/3f/27/78a89b55b0904d222183164e079b4ca56208e94eff1d35ad1f1ad5be9b06/alembic-1.20.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/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/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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_x86_64.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/90/cb/c13d8a74419dde9590ed6fab293b516f68316ac87d06569b79b5f446d519/pydantic_numpy-8.0.1-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/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/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-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/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/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-manylinux_2_28_x86_64.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/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/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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/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/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/ @@ -3169,8 +3006,7 @@ environments: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -3189,41 +3025,36 @@ 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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/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/debugpy-1.8.21-py312h80505a6_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/fabio-2025.10.0-py312h4f23490_1.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/fonttools-4.65.0-py312hfd18d64_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-h7cc23a3_2.conda - 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/graphite2-1.3.15-h54a6638_1.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/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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda @@ -3233,25 +3064,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -3262,7 +3091,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-h569388d_4.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 @@ -3271,29 +3100,28 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 - 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_3.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 @@ -3307,25 +3135,24 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/lxml-6.1.3-py312h663fcd5_0.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/ndindex-1.10.1-py312ha6a3dbb_1.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/numexpr-2.14.2-py312h0000c9d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.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/openldap-2.6.13-hbde042b_0.conda @@ -3334,8 +3161,7 @@ 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/pillow-12.3.0-py312h38079b3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -3343,28 +3169,27 @@ 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/pyside6-6.11.2-py312hf520645_1.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/pywavelets-1.10.0-py312h1b36aeb_0.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_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/regex-2026.9.10-py312h5cc1888_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_2.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_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/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/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h5cc1888_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/websockets-17.1-py312h89dfda2_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 @@ -3375,7 +3200,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -3387,48 +3212,48 @@ 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_3.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/zeromq-4.3.5-h901266b_12.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/zstandard-0.25.0-py312h1b36aeb_4.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/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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ansi2html-1.9.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asteval-1.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - 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/bluesky-tiled-plugins-2.0.11-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/click-8.5.0-pyh5ded981_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/colored-2.3.2-pyhcf101f3_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/darkdetect-0.8.0-pyhd8ed1ab_1.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/dateparser-1.4.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_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 @@ -3436,18 +3261,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/future-1.0.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/glymur-0.14.8-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/imageio-2.37.4-pyh5ded981_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 @@ -3458,51 +3285,55 @@ 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_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/lmfit-1.3.4-pyhd8ed1ab_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 - 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/mplcursors-0.7.1-pyhd8ed1ab_0.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/narwhals-2.26.0-pyh5ded981_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/nexpy-2.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nexusformat-2.0.3-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/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/pip-26.2.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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/pylatexenc-2.11-pyhd8ed1ab_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_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/qtconsole-base-5.7.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.3-pyhd8ed1ab_1.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/setuptools-84.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.3-pyh5ded981_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 @@ -3515,11 +3346,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.8-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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 @@ -3528,42 +3359,60 @@ 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/uncertainties-3.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.3.4-pyh5ded981_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/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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 + - 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/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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.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/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/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-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/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/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/ @@ -3572,12 +3421,11 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312ha6a3dbb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h57e6904_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-26.1.0-py312h5cc1888_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/asyncpg-0.31.0-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.14-h2aa3ae6_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.14.2-hb03c661_0.conda @@ -3596,80 +3444,75 @@ 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/brunsli-0.1-hd1e3526_2.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/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/c-blosc2-3.3.4-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/charls-2.4.4-hecca717_0.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/contourpy-1.3.3-py312h0a2e395_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.0-py312h8b7ec3f_0.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/cryptography-50.0.1-py311hc91d8b8_1.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/debugpy-1.8.21-py312h80505a6_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/fabio-2025.10.0-py312h4f23490_1.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/fonttools-4.65.0-py312hfd18d64_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-h7cc23a3_2.conda - 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/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_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/grimp-3.17-py312hc767a74_1.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/lcms2-2.19.1-h9073bf1_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.2.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h0dc7533_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hedb09cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-25.0.0-hcc2f0d9_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-25.0.0-h635bf11_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-25.0.0-h53684a4_4_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-25.0.0-h635bf11_4_cpu.conda - 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/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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.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-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdav1d7-1.5.4-hebe6cf0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.129-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -3680,7 +3523,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-h569388d_4.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 @@ -3689,29 +3532,28 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.8.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.82.1-h792040b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.4.0-h23af247_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h57c4cff_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-heb2dce7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hcf972fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.27.0-h3133023_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.27.0-ha770c72_1.conda - 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 - 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_3.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 @@ -3726,12 +3568,12 @@ environments: - 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 - 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/libxml2-16-2.15.4-hf3af7cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_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/lxml-6.1.3-py312h663fcd5_0.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,25 +3581,25 @@ 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/ndindex-1.10.1-py312ha6a3dbb_1.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/numcodecs-0.16.5-py312hf79963d_0.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/obstore-0.11.1-py312h9f92c4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h0000c9d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py312h9f92c4b_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/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 - 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/pillow-12.3.0-py312h38079b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_4.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 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_2.conda @@ -3766,35 +3608,35 @@ environments: - 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/pycryptodome-3.23.0-py312hf189cdb_2.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/pyside6-6.11.2-py312hf143aa3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf520645_1.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/python-duckdb-1.3.2-py312h1289d80_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/pywavelets-1.10.0-py312h1b36aeb_0.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_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.2-pl5321h9df5c37_0.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 - 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/regex-2026.9.10-py312h5cc1888_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_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_2.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h5cc1888_1.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/websockets-17.1-py312h89dfda2_1.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 @@ -3805,7 +3647,7 @@ environments: - 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 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.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-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda @@ -3817,37 +3659,37 @@ 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-hebe6cf0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.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/zeromq-4.3.5-h901266b_12.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/zstandard-0.25.0-py312h1b36aeb_4.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/adbc-driver-postgresql-1.12.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.22.1-pyhcf101f3_1.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/alembic-1.19.2-pyh5ded981_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ansi2html-1.9.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asgi-correlation-id-5.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asteval-1.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - 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/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/bluesky-tiled-plugins-2.0.11-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 @@ -3857,17 +3699,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-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/click-8.5.0-pyh5ded981_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/colorlog-6.11.0-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colored-2.3.2-pyhcf101f3_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/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/darkdetect-0.8.0-pyhd8ed1ab_1.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 + - conda: https://conda.anaconda.org/conda-forge/noarch/dateparser-1.4.3-pyh5ded981_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/dill-0.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_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 @@ -3884,7 +3729,7 @@ environments: - 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/filelock-3.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -3892,25 +3737,26 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/future-1.0.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/glymur-0.14.8-pyhd8ed1ab_0.conda - 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 - - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-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/imageio-2.37.4-pyh5ded981_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/import-linter-2.14-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.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/inflection-0.5.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/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 @@ -3922,8 +3768,11 @@ 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_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/linkify-it-py-2.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lmfit-1.3.4-pyhd8ed1ab_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 @@ -3932,21 +3781,22 @@ 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/mplcursors-0.7.1-pyhd8ed1ab_0.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 + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.26.0-pyh5ded981_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/nexpy-2.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nexusformat-2.0.3-pyhd8ed1ab_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 - - conda: https://conda.anaconda.org/conda-forge/noarch/pbs-installer-2026.9.1-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/platformdirs-4.11.6-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-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/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda @@ -3960,8 +3810,8 @@ environments: - 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/pylatexenc-2.11-pyhd8ed1ab_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/pyproject-api-1.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda @@ -3978,6 +3828,7 @@ environments: - 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/qtconsole-base-5.7.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.3-pyhd8ed1ab_1.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 @@ -3985,10 +3836,11 @@ environments: - 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/rich-toolkit-0.20.5-pyh5ded981_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/setuptools-scm-10.2.3-pyh5ded981_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 @@ -4005,21 +3857,18 @@ environments: - 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/strawberry-graphql-0.327.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_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 - conda: https://conda.anaconda.org/conda-forge/noarch/textual-plotext-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.8.23-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-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/tiled-server-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/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 @@ -4028,22 +3877,24 @@ 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/uncertainties-3.2.3-pyhd8ed1ab_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/virtualenv-21.7.8-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.3.4-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_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/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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 - - pypi: https://files.pythonhosted.org/packages/1b/dd/a9fe6a0a09512da23951c68bf36466aeecd89def3183dc095edbc807ddc5/pint-0.25.3-py3-none-any.whl + - pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + - pypi: git+https://github.com/jwlodek/ophyd-async?rev=add-codec-and-process-plugin-allow-for-filtering#d148390b321cd2d711d5de72ab07d2616c26ee39 - 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 @@ -4055,25 +3906,30 @@ environments: - 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/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/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-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/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 + - pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-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/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/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_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/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,15 +3944,18 @@ 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 - sha256: f47947282fc094cfe0e58427b6094959b2b3e2986939bf0c75cf567aa766ac5c - md5: ffb2cbaa407a3ec27349431380771036 +- conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py311h5f79a97_1.conda + sha256: 8436aa34f6a5cb5aa207b2b912db1b87bc68fc1b5eea4818e23a7b45a65edcf2 + md5: 252feb1fd8803f5f97d743da6565450b depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 constrains: @@ -4105,15 +3964,16 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping - size: 425628 - timestamp: 1785224150270 -- conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312h1289d80_0.conda - sha256: 9c7abbf4b3c0702960bc51c960ebea534cae7b308339001b7a828a5293dd81e0 - md5: b4ce9ab942248b66d036c835a03fc0a9 + run_exports: {} + size: 432689 + timestamp: 1788737799176 +- conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py312ha6a3dbb_1.conda + sha256: 2f9f4bce2ae0742672775726cbbdf8070f67c0681617414e8a524765bf2a630f + md5: 5f93c042250de4703e399cc5780affc6 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 constrains: @@ -4122,15 +3982,16 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping - size: 425683 - timestamp: 1785224332826 -- conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313h7033f15_0.conda - sha256: 605b6a4f81e3f76f29169435c769e899d012864a804320c82aac9aa8df1c798d - md5: 02fd748c55dbca6697071ef1e688d218 + run_exports: {} + size: 432267 + timestamp: 1788737753170 +- conda: https://conda.anaconda.org/conda-forge/linux-64/adbc-driver-manager-1.12.0-py313hbdba758_1.conda + sha256: 6a22f42a3518698eb26e0a7a1474c43ca6e166cf6a8357f9e5e79c31ac9b1a3c + md5: b4957af4c6cc41d775901b5b0fac32be depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 constrains: @@ -4139,8 +4000,9 @@ packages: license_family: APACHE purls: - pkg:pypi/adbc-driver-manager?source=hash-mapping - size: 427560 - timestamp: 1785224195950 + run_exports: {} + size: 432647 + timestamp: 1788737844791 - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-h7cc23a3_1.conda sha256: a35bddac04be093769e81814465a537961c6ed0f8d3cc23d6dce6ecdfaf71821 md5: 7094e0d8d14de0eff6d83f0d2f1f661e @@ -4150,6 +4012,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 +4027,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 +4045,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 +4061,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 +4077,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 +4093,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 +4109,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,28 +4125,29 @@ 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 - sha256: fa7d1e9eb970a76de2f8a799b850a6311f751682a72ce3c336aaec30aa9cba84 - md5: fb8abf8966930282492ff0621399e34d +- conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py311h2bf5405_1.conda + sha256: 3708510da1014f09be9e37e1608d1430d49a9358f517ddeb61b3ee846ec76c4f + md5: c03687e0167efb9d9d6b301cf3a42580 depends: - python - numpy >=1.21.3 - __glibc >=2.17,<3.0.a0 - - _x86_64-microarch-level >=1 - libstdcxx >=15 - libgcc >=15 + - _x86_64-microarch-level >=1 - python_abi 3.11.* *_cp311 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/awkward-cpp?source=hash-mapping - size: 672852 - timestamp: 1786811060508 -- conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_0.conda - sha256: bc4f76ce8d6d8ee76e663b91f25603803237b8006d18c22137d06386b8bf78ca - md5: d1a96e6eb25a85ccaa6e186556289767 + - pkg:pypi/awkward-cpp?source=compressed-mapping + run_exports: {} + size: 672986 + timestamp: 1789109787265 +- conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py312h9b2b4d3_1.conda + sha256: fdb95ff5c6aad46acf813a9924f6803c9577c001ca592465da4fb67ac3a81abc + md5: 25eb3b77fa709c92e84f668d9845ee5b depends: - python - numpy >=1.21.3 @@ -4283,28 +4157,28 @@ packages: - libgcc >=15 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/awkward-cpp?source=hash-mapping - size: 675504 - timestamp: 1786811065993 -- conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_0.conda - sha256: 38acf3705c90fd9985cbb7dfad6d7cc2197a0b02796a6858e7abaf39a71fa099 - md5: 2ccc9890b8357b1ce5a32c093b8356e8 + - pkg:pypi/awkward-cpp?source=compressed-mapping + run_exports: {} + size: 675591 + timestamp: 1789109774658 +- conda: https://conda.anaconda.org/conda-forge/linux-64/awkward-cpp-56-py313h8debf8b_1.conda + sha256: 16d2f23864588b98bf1030b094f49150aebd874e5bc010a3133dfb448005ff2d + md5: a24b87882f36c91eea935c9f7d4084d9 depends: - python - numpy >=1.21.3 - - _x86_64-microarch-level >=1 - - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 + - _x86_64-microarch-level >=1 + - __glibc >=2.17,<3.0.a0 - python_abi 3.13.* *_cp313 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/awkward-cpp?source=hash-mapping - size: 674326 - timestamp: 1786811066070 + - pkg:pypi/awkward-cpp?source=compressed-mapping + run_exports: {} + size: 674352 + timestamp: 1789109801282 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.4-hb7a77c6_1.conda sha256: 845fe32ee750d4a4d3efdb1d95a8c29c3388e3ea9787b77341ec4abe4e198b11 md5: 4347d5ffdf34adf9c5edd10837727d96 @@ -4319,6 +4193,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 +4209,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 +4223,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 +4238,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 +4256,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 +4274,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 +4291,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 +4308,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 +4329,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 +4344,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 +4359,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 +4383,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 +4403,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 +4420,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 +4437,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 +4454,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 +4473,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 +4491,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 +4523,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 +4555,47 @@ 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 +4603,17 @@ 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 +4621,17 @@ 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 +4639,14 @@ 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 +4660,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 +4674,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 +4688,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,11 +4706,14 @@ 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 - sha256: 2b9197486cbd6b0d33426168576df9c5b844c8339e43e029685cd78b2fbdbb68 - md5: fe68c12d33323abd558a30821975133f +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.3.4-hea3f660_0.conda + sha256: 61468187dabc9ed5ea2fa6c4b4cd9c5e913c8b7c97d64a9de92a718b3b7d117e + md5: d8ceca26a10d3a181dd5cf6bedddb10c depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -4769,8 +4724,11 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] - size: 413573 - timestamp: 1788179307405 + run_exports: + weak: + - c-blosc2 >=3.3.4,<3.4.0a0 + size: 415325 + timestamp: 1789042670209 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3c89d7e_3.conda sha256: 6b551d9346997bc4c6fadf96b7b92442b8f3244011cc462e4ee77afc714d52c5 md5: 7b870cffbaa8430290e567a0facd8dca @@ -4796,11 +4754,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 @@ -4812,11 +4773,12 @@ packages: 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 @@ -4827,12 +4789,13 @@ packages: 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 @@ -4844,8 +4807,9 @@ packages: 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 +4820,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 +4839,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 +4856,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 +4873,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 +4888,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 +4903,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,62 +4918,29 @@ 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 - sha256: f4e10d549dace63432d7d9bded2df12f274751a619c1e49b705b72627af37f33 - md5: 0101fa99d5db32666ea362dc78eb72cf +- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py311hc91d8b8_1.conda + noarch: python + sha256: 901268eb9ed9ab9a9285fda16abb4feb65eca3301755e560fef54ea7e2fc312c + md5: f68d2562d5f1a828fa82dfa2e91e27da depends: - - __glibc >=2.17,<3.0.a0 + - python - cffi >=2.0 - libgcc >=15 - - openssl >=3.5.8,<4.0a0 - - python >=3.11,<3.12.0a0 - - python_abi 3.11.* *_cp311 - constrains: - - __glibc >=2.17 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT - license_family: BSD - purls: - - pkg:pypi/cryptography?source=hash-mapping - size: 1906377 - timestamp: 1788356144289 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py312h89f293a_0.conda - sha256: cb8e6552f8fbad0891f4d2e439eb22f393de7ccbd72c23b13ebe6f5195aa5698 - md5: 0b26a64e52f9a006338021ccf5a3b0d7 - depends: - __glibc >=2.17,<3.0.a0 - - cffi >=2.0 - - libgcc >=15 - openssl >=3.5.8,<4.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - _python_abi3_support 1.* + - cpython >=3.11 constrains: - __glibc >=2.17 license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT - license_family: BSD purls: - pkg:pypi/cryptography?source=compressed-mapping - size: 1896245 - timestamp: 1788356239006 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.1-py313h78454fb_0.conda - sha256: 4845396fbe63bc132de5f4f2fb9a8a48e2d9a974614bb571a9d9c9d8bf52dbe7 - md5: 2a3788e509f3146c414f9df1f73ade8b - depends: - - __glibc >=2.17,<3.0.a0 - - cffi >=2.0 - - libgcc >=15 - - openssl >=3.5.8,<4.0a0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 - constrains: - - __glibc >=2.17 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT - license_family: BSD - purls: - - pkg:pypi/cryptography?source=compressed-mapping - size: 1897221 - timestamp: 1788356286125 + run_exports: {} + size: 1826946 + timestamp: 1789121519742 - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda sha256: 7684da83306bb69686c0506fb09aa7074e1a55ade50c3a879e4e5df6eebb1009 md5: af491aae930edc096b58466c51c4126c @@ -5016,6 +4955,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 +4973,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 +4989,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 +5005,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 +5020,27 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h80505a6_2.conda + sha256: 89e009950263d234833334231e1fddcd6983257fd10f13688bf7cfb95485dbf5 + md5: f229d9912b4e36a82e1551ef41d6fc2f depends: - python + - libgcc >=15 + - libstdcxx >=15 - __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 + - pkg:pypi/debugpy?source=compressed-mapping + run_exports: {} + size: 2818147 + timestamp: 1789240477587 - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda sha256: 40cdd1b048444d3235069d75f9c8e1f286db567f6278a93b4f024e5642cfaecc md5: dbe3ec0f120af456b3477743ffd99b74 @@ -5102,21 +5051,32 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fabio-2025.10.0-py312h4f23490_1.conda + sha256: 590614a963bd13285e98c2fe1f38401cfb6f4f31271636f63d76f90f8b7bd14d + md5: 897dff5b8ee998f5b861109f5f49ba1f depends: - - perl - __glibc >=2.17,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - readline >=8.3,<9.0a0 - license: EPICS - purls: [] - size: 33301787 - timestamp: 1787819807198 + - glymur + - h5py + - hdf5plugin + - libgcc >=14 + - lxml + - numpy >=1.23,<3 + - pillow + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT AND LGPL-3.0-or-later + license_family: Other + purls: + - pkg:pypi/fabio?source=hash-mapping + run_exports: {} + size: 1036332 + timestamp: 1768550757682 - conda: https://conda.anaconda.org/conda-forge/linux-64/fastar-0.12.0-py311h343ec76_0.conda sha256: 5c758decf4c84e3bd768b752a998cb806802ed305bb8c5e0d799d5b6918c0a68 md5: 92c989db7bcedf9a6a1e835e49e806d1 @@ -5132,6 +5092,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 +5110,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 +5128,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,15 +5145,19 @@ 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 - sha256: d235ae7075642044ceb3d922ef2a710a82665755ac9bbb7e8dad7daa72bc6d87 - md5: 294fb524171e2a2748cb7fe708aba826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.65.0-py312hfd18d64_0.conda + sha256: e16afb57f621128c164264662cf8b97732a6a150dca3742771f8efca7508a25f + md5: a1f28d7f53adcd210da4ffc07e62b7e0 depends: - __glibc >=2.17,<3.0.a0 - brotli - - libgcc >=14 + - libgcc >=15 - munkres - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -5198,9 +5165,10 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/fonttools?source=hash-mapping - size: 3007892 - timestamp: 1778770568019 + - pkg:pypi/fonttools?source=compressed-mapping + run_exports: {} + size: 3117728 + timestamp: 1789076508246 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_2.conda sha256: 612a8e0c1a6ecae23da54d81ef395f6ebb5c8e4468ec2611593ebce75876a4e0 md5: 2d0ea23b23603e07ca47f23f949f67b6 @@ -5209,6 +5177,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 +5191,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 +5206,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 +5220,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 +5236,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,104 +5250,110 @@ 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 - sha256: 0c3fbef9e0f1f3049c2d74c4b3801b135ab95a8ef0b3c421c883e0158f3b07e8 - md5: d9772193877442b8eeb63b56b81882f3 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py311hbc40be8_1.conda + sha256: 8b56942e4905760d01db4f5b0d12a309b3aa0864ef23830727efdc8799dff18a + md5: 61b78310a24b1a80c97ee03db671c0b6 depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - mpc >=1.4.0,<2.0a0 - - gmp >=6.3.0,<7.0a0 - - mpfr >=4.2.2,<5.0a0 + - __glibc >=2.17,<3.0.a0 - python_abi 3.11.* *_cp311 + - mpfr >=4.2.2,<5.0a0 + - gmp >=6.3.0,<7.0a0 + - mpc >=1.4.0,<2.0a0 license: LGPL-3.0-or-later - license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping - size: 312441 - timestamp: 1787066347085 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_0.conda - sha256: 8f1abde65e50bf2f30292442a5388bf962f8275bb1e23a0fe8fbdc83b8b5a241 - md5: 96a25063461871ac66728ecfa645116c + run_exports: {} + size: 312655 + timestamp: 1789115527344 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py312h04c1168_1.conda + sha256: 9ab4a5894dc2b89fd9e30d1b89aff7273593a9c6faeec922d3499019645d7f72 + md5: 94d2b80a6cda7f6415f7a26442cd90fc depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - mpfr >=4.2.2,<5.0a0 - - gmp >=6.3.0,<7.0a0 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 + - gmp >=6.3.0,<7.0a0 - mpc >=1.4.0,<2.0a0 + - mpfr >=4.2.2,<5.0a0 license: LGPL-3.0-or-later - license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping - size: 327022 - timestamp: 1787066358050 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py313ha4a6282_0.conda - sha256: fe8326323cece1ef063541047f7cd98754eaa26f68ab271e07227932f0aa3817 - md5: ab774b6526899f7f9816efeb02372c0f + run_exports: {} + size: 327154 + timestamp: 1789115521824 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.1-py313ha4a6282_1.conda + sha256: 6d2c0a5ec9df819dbfc5435cc2215d8333c489540c0bef286897ece089888138 + md5: 64ee0b41d044aaa4adb7aa74dfdc7d95 depends: - python - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - python_abi 3.13.* *_cp313 + - mpc >=1.4.0,<2.0a0 - gmp >=6.3.0,<7.0a0 - mpfr >=4.2.2,<5.0a0 - - mpc >=1.4.0,<2.0a0 - - python_abi 3.13.* *_cp313 license: LGPL-3.0-or-later - license_family: LGPL purls: - pkg:pypi/gmpy2?source=compressed-mapping - 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 + run_exports: {} + size: 327767 + timestamp: 1789115523726 +- 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 +5364,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 +5382,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 +5398,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,11 +5414,12 @@ 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 - sha256: 909258c1c89aeeb526b8e04507f5bf9457d72181f7c1b0ad98a5691218f31fcd - md5: 2e0b7a99d6215da8e42825dd32ba4fd2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.17-py311ha6e1976_1.conda + sha256: 12d09dbaf1a169d97e0b2ad339b6df81b71b55d6b0fe157dc1f0d1332571864a + md5: 4d48fe8173874712a9c6a0d11181ad27 depends: - python - joblib >=1.3.0 @@ -5437,11 +5433,12 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping - size: 2052548 - timestamp: 1787923650631 -- conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py312hc767a74_0.conda - sha256: 0c76fefecad76b1a78149bb3a27a8af32cd35528163d2b5fc5e87b6413a93090 - md5: 9ffb2ef7f8a4a3a3a7d9bff93e1ff4c6 + run_exports: {} + size: 2066060 + timestamp: 1788656243313 +- conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.17-py312hc767a74_1.conda + sha256: d1dbe725e18fbd82fdc023e27f1db5ec97c3e923ea915ac58f2375de740cb450 + md5: 950f3dd0045c0b51a2adf786d27d2cd9 depends: - python - joblib >=1.3.0 @@ -5455,11 +5452,12 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping - size: 2048965 - timestamp: 1787923656095 -- conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.16-py313ha296275_0.conda - sha256: dd311a48e200501e272a81bd1290937fcfda817ffc61f8370f4f7249a07f8eca - md5: 6d18489c6d678eafce92420c4441763c + run_exports: {} + size: 2061626 + timestamp: 1788656255129 +- conda: https://conda.anaconda.org/conda-forge/linux-64/grimp-3.17-py313ha296275_1.conda + sha256: 7ac46737cb1966035e84db87f338ee4c16afc9f78c3fcb5db8c9452b0b2ed46f + md5: 0ae35326a4b7dd73139f93a8e50bb657 depends: - python - joblib >=1.3.0 @@ -5473,8 +5471,9 @@ packages: license_family: BSD purls: - pkg:pypi/grimp?source=hash-mapping - size: 2049811 - timestamp: 1787923663488 + run_exports: {} + size: 2061164 + timestamp: 1788656248764 - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py311hfef529e_102.conda sha256: 9495b6fe2a7b1cf0fded3c53252e964d968fa1fc87cf1ce76c4d9c5e8ab22385 md5: 5737f2130791c91aee8374ee0d4465de @@ -5490,6 +5489,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 +5507,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 +5525,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 +5544,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 +5571,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 +5597,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 +5623,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,25 +5649,12 @@ 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 @@ -5667,11 +5664,12 @@ packages: 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 + 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 @@ -5680,12 +5678,13 @@ packages: 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 @@ -5695,8 +5694,9 @@ packages: 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 +5707,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,100 +5756,9 @@ 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 - sha256: 52a761b5b9fbd73539ab645277c10956d6380029f9a72cb4b168613a456ecfa3 - md5: 73e40d83cd7352a74fab99cd08ccca5b - depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - brunsli >=0.1,<1.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=3.3.2,<3.4.0a0 - - charls >=2.4.4,<2.5.0a0 - - giflib >=5.2.2,<5.3.0a0 - - jxrlib >=1.1,<1.2.0a0 - - lcms2 >=2.19.1,<3.0a0 - - lerc >=4.2.0,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libavif16 >=1.4.2,<2.0a0 - - libbrotlicommon >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=15 - - libjpeg-turbo >=3.2.0,<4.0a0 - - libjxl >=0.12.0,<0.13.0a0 - - liblzma >=5.8.3,<6.0a0 - - libpng >=1.6.58,<1.7.0a0 - - libstdcxx >=15 - - libtiff >=4.7.2,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - libzopfli >=1.0.3,<1.1.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - numpy >=1.25,<3 - - openjpeg >=2.5.4,<3.0a0 - - openjph >=0.31.0,<0.32.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - snappy >=1.2.2,<1.3.0a0 - - zfp >=1.0.1,<2.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/imagecodecs?source=hash-mapping - size: 2285384 - timestamp: 1786846577148 -- conda: https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2026.8.16-py313h259dfeb_0.conda - sha256: bbd43b68f4ec98bb1254e5ee62739dd1b54078b8b12388ccd997231b66e5525b - md5: f96645e16c0123dda009dca1bcabef0c - depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - brunsli >=0.1,<1.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=3.3.2,<3.4.0a0 - - charls >=2.4.4,<2.5.0a0 - - giflib >=5.2.2,<5.3.0a0 - - jxrlib >=1.1,<1.2.0a0 - - lcms2 >=2.19.1,<3.0a0 - - lerc >=4.2.0,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libavif16 >=1.4.2,<2.0a0 - - libbrotlicommon >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=15 - - libjpeg-turbo >=3.2.0,<4.0a0 - - libjxl >=0.12.0,<0.13.0a0 - - liblzma >=5.8.3,<6.0a0 - - libpng >=1.6.58,<1.7.0a0 - - libstdcxx >=15 - - libtiff >=4.7.2,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - libzopfli >=1.0.3,<1.1.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - numpy >=1.25,<3 - - openjpeg >=2.5.4,<3.0a0 - - openjph >=0.31.0,<0.32.0a0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 - - snappy >=1.2.2,<1.3.0a0 - - zfp >=1.0.1,<2.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/imagecodecs?source=hash-mapping - size: 2288228 - timestamp: 1786846580689 - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda sha256: 2057ca87b313bde5b74b93b0e696f8faab69acd4cb0edebb78469f3f388040c0 md5: 5aeabe88534ea4169d4c49998f293d6c @@ -5855,6 +5767,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 +5780,27 @@ 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,11 +5815,14 @@ 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 - sha256: 8cdec1ff3f276cd2069dca0dae4f45f3dc5c224e2d72daef78227832938467a6 - md5: b68c7304d2edb0f1a5bdfb875094d603 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h9073bf1_3.conda + sha256: 03e675b9adaf235aab880e4133c72f4830e87bc7da2df59d6194771612239b22 + md5: 596464faa06e0b656b35416188ef9bba depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -5909,8 +5831,11 @@ packages: license: MIT license_family: MIT purls: [] - size: 253830 - timestamp: 1788155917881 + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 + size: 254292 + timestamp: 1789051947923 - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec md5: 449500f2c089da11c40f5c21312e3e07 @@ -5922,6 +5847,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 +5860,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,34 +5878,44 @@ 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 - sha256: 5ab0c8cde10407bf362d5c70272fa7141b1a5934f976b46f72e60d13d2a9d6a1 - md5: de1e94a7c54b81f2fc61a9548f325d1c +- conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-postgresql-1.12.0-hd2595c0_1.conda + sha256: 8fee8b46519a403963abdd8ab1755347436a2e37fdf197205d66cd045db04164 + md5: 88b174e21050949bb49de67528f74720 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpq >=18.4,<19.0a0 - - libstdcxx >=14 + - libgcc >=15 + - libpq >=18.6,<19.0a0 + - libstdcxx >=15 license: Apache-2.0 license_family: APACHE purls: [] - size: 283452 - timestamp: 1785224456508 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hcea63bf_0.conda - sha256: c0b70bf630a495b66eb7819c18c5611f81750bd6a9c037b9f4e6e3c69eee6ff5 - md5: ddcd056ab2a63ed1a3a6d0fd924b2b58 + run_exports: + weak: + - libadbc-driver-postgresql >=1.12.0,<1.13.0a0 + size: 282875 + timestamp: 1788738110861 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libadbc-driver-sqlite-1.12.0-hfab6643_1.conda + sha256: fa221e35b3e04eb5ad201eaf1554a119cebfbcba035e9072d30e4aa36bed35d9 + md5: d82b6d6f306aa6a1ae2b195c4933bc88 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 - libsqlite >=3.53.4,<4.0a0 - - libstdcxx >=14 + - libstdcxx >=15 license: Apache-2.0 license_family: APACHE purls: [] - size: 191823 - timestamp: 1785224476365 + run_exports: + weak: + - libadbc-driver-sqlite >=1.12.0,<1.13.0a0 + size: 193941 + timestamp: 1788738129321 - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 md5: 86f7414544ae606282352fa1e116b41f @@ -5987,6 +5926,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 +5967,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 +5985,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 +6005,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 +6025,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 +6047,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,112 +6063,137 @@ 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 - build_number: 10 - sha256: 3b0600d79b16cc868421adbba03364ba59d2a3c088c79eef678f4a0b43fc7c07 - md5: e2ca3eadd889d39b4e4b6b1ecc671816 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda + build_number: 11 + sha256: d942e0c820d60a613a6f786d074f0820fb6343e3f1ccfb110b1d98b44fb75968 + md5: b8cce1486f3c62f33291d6318c193d0d depends: - libopenblas >=0.3.34,<0.3.35.0a0 - libopenblas >=0.3.34,<1.0a0 constrains: - - blas 2.310 openblas - - libcblas 3.11.0 10*_openblas - - liblapack 3.11.0 10*_openblas - - liblapacke 3.11.0 10*_openblas + - blas 2.311 openblas + - libcblas 3.11.0 11*_openblas + - liblapack 3.11.0 11*_openblas + - liblapacke 3.11.0 11*_openblas - mkl <2027 license: BSD-3-Clause license_family: BSD purls: [] - size: 17975 - timestamp: 1788076997926 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-h39a168f_3.conda - sha256: e5864f257f839ffc27d681659bac95901f524f602b9121e5dcc5e2df18437f2d - md5: 7a2499a177753582fb7ae7e9dc4a908a + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 18246 + timestamp: 1789061062982 +- 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 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-10_h0358290_openblas.conda - build_number: 10 - sha256: 90fd992748d501f6efe2b8310aa81f5ee4a63629450dd88e851ba4ab757f3c3a - md5: a275bd95aa4e22c24120bf6ece6eb056 - depends: - - libblas 3.11.0 10_h4a7cf45_openblas + 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-11_h0358290_openblas.conda + build_number: 11 + sha256: f7d1bbdea61cf94ba219d17b2cb571a29830f8025385af799bff5a7ad1ef45e6 + md5: 73a248c30811075059b5aeda766c2624 + depends: + - libblas 3.11.0 11_h4a7cf45_openblas constrains: - - blas 2.310 openblas - - liblapack 3.11.0 10*_openblas - - liblapacke 3.11.0 10*_openblas + - blas 2.311 openblas + - liblapack 3.11.0 11*_openblas + - liblapacke 3.11.0 11*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 17959 - timestamp: 1788077003985 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.0-default_h0acdd01_1.conda - sha256: ff0507777b9d5ff5678466516d2f1793361ecef541114fb6f3cabb91fc7d5b3c - md5: d3ba2947f7d7cdd7c4eb73b206de330b + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 18196 + timestamp: 1789061068819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.1-default_h0acdd01_0.conda + sha256: 1a393452606eaed3192783a77acffffce6dec101f44bfa9f1c8b00da0e1b828b + md5: 685684bbe8a2b702db0a664f882a49aa depends: - - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - libxml2 - - libxml2-16 >=2.15.3 + - libxml2-16 >=2.15.4 - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - - libllvm23 >=23.1.0,<23.2.0a0 + - libllvm23 >=23.1.1,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 25353391 - timestamp: 1788037800581 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.0-default_h7855034_1.conda - sha256: 1c7589a69833294ab79e5b239d4d70c8c6af68b745a5c17344319d088d884bb0 - md5: 6afb92887568acc8f18281c57c92c28b - depends: - - libclang-cpp23.1 ==23.1.0 default_h0acdd01_1 - - __glibc >=2.17,<3.0.a0 + run_exports: + weak: + - libclang-cpp23.1 >=23.1.1,<23.2.0a0 + size: 25352464 + timestamp: 1788986724670 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.1-default_h7037f76_0.conda + sha256: 89c4968a9eb3c45aa6ecd1e20dcf30419cc52ef756af3bbad5099ae488cb8330 + md5: 477ba0fcc49cbf8dad6fadac96dd87c5 + depends: + - libclang-cpp23.1 ==23.1.1 default_h0acdd01_0 - libstdcxx >=15 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - libxml2 - - libxml2-16 >=2.15.3 + - libxml2-16 >=2.15.4 - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - - libllvm23 >=23.1.0,<23.2.0a0 + - libllvm23 >=23.1.1,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 15442245 - timestamp: 1788037800581 + run_exports: + weak: + - libclang13 >=23.1.1 + size: 15440907 + timestamp: 1788986724670 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 md5: c965a5aa0d5c1c37ffc62dff36e28400 @@ -6221,6 +6203,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 +6220,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 +6241,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 +6255,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 +6267,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 +6282,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 +6298,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 +6311,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 +6324,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,19 +6338,26 @@ 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 - sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 - md5: a1cfcc585f0c42bf8d5546bb1dfb668d +- conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda + sha256: f874779772878f3b509c607de9089c282f71232fde4cac876fc660d29670f28d + md5: 2e699c6e151045b2cfea34b53ed69439 depends: - - libgcc-ng >=12 - - openssl >=3.1.1,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=15 + - openssl >=3.5.8,<4.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 427426 - timestamp: 1685725977222 + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 + size: 431007 + timestamp: 1788870247867 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 md5: b24d3c612f71e7aa74158d92106318b2 @@ -6357,6 +6369,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 +6381,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 +6393,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 +6408,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 +6423,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 +6434,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 +6449,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 +6463,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 +6475,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 +6487,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-h569388d_4.conda + sha256: 63bfc24e180e03e313e53f29046197ae6e2a75e708c8b42e508f52263eaf24aa + md5: 48eafe0a06f3192f47b36b666fe993fa depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - libffi >=3.7.0,<3.8.0a0 - pcre2 >=10.47,<10.48.0a0 - - libzlib >=1.3.2,<2.0a0 - libiconv >=1.18,<2.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: 4758223 + timestamp: 1789008651148 - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_5.conda sha256: 6eb77601a44b78c4631d886d54ef54f321c2bdc69fdefc4065a1e0491f030c76 md5: cfcf11edcfd4acf0094771a9c3b8587f @@ -6487,6 +6518,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 +6530,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 +6543,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 +6556,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 +6580,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 +6601,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 +6626,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 +6647,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 +6661,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 +6674,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 +6689,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,54 +6707,48 @@ 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 - sha256: 965e59ea776344e93a416f7e0ba309810470a61c0e0c65f1eb90be0e808d7e9c - md5: 485788d339785bac87fe86315b4a0627 - depends: - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=15 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 1886013 - timestamp: 1786691380980 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-10_h47877c9_openblas.conda - build_number: 10 - sha256: 166da1ef513efd2f9ea9e132246766306e5d1a18b4e83b8b8425b5adffb6345e - md5: 7b918d4958f359c889c662aa361cf992 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + build_number: 11 + sha256: 1ad3f43c9319ef398a8ef45989f4903a06e3965b51e77fc669a4c894168a8411 + md5: 5622a13917855ce4b953b9e655cf9262 depends: - - libblas 3.11.0 10_h4a7cf45_openblas + - libblas 3.11.0 11_h4a7cf45_openblas constrains: - - blas 2.310 openblas - - libcblas 3.11.0 10*_openblas - - liblapacke 3.11.0 10*_openblas + - blas 2.311 openblas + - libcblas 3.11.0 11*_openblas + - liblapacke 3.11.0 11*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 17978 - timestamp: 1788077010883 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.0-h474f4eb_0.conda - sha256: 50b31f6c51afe7df0639acf5dde8acf3f4f0dc9f644ab9842b717ae798507d68 - md5: 3b8c8325547a4fd8c51649ef7dfab688 + run_exports: + weak: + - liblapack >=3.11.0,<3.12.0a0 + size: 18227 + timestamp: 1789061073957 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.1-h474f4eb_0.conda + sha256: 5c716beeb80cd420c37cb811102a9e76c66072f47ed319de1a931ecdd98c9e6b + md5: d96e790721dd4e9af624acbf46cdd818 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - libstdcxx >=15 - libxml2 - - libxml2-16 >=2.15.3 + - libxml2-16 >=2.15.4 - libzlib >=1.3.2,<2.0a0 - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 45046595 - timestamp: 1787716721647 + run_exports: + weak: + - libllvm23 >=23.1.1,<23.2.0a0 + size: 45065095 + timestamp: 1788900116889 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2 @@ -6706,6 +6759,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 +6773,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 +6791,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 +6805,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,23 +6818,28 @@ 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 - sha256: b2846ca0b00cc08d248589d289ba891856d4b42da4a3c823be6b2d660bd80a83 - md5: 25994250f54292352a82eb05ab4499ba +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + sha256: 69a722751e14eab2eb3bfdcb9acb1187afbd962b0c49b48d829341e0f6787f60 + md5: 7e19fcd73d7f0997d3cb3326d2586a86 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - libgfortran - libgfortran5 >=15.3.0 + - libgfortran + - libgcc >=15 + - __glibc >=2.17,<3.0.a0 constrains: - openblas >=0.3.34,<0.3.35.0a0 license: BSD-3-Clause - license_family: BSD purls: [] - size: 5994112 - timestamp: 1788056652715 + run_exports: + weak: + - libopenblas >=0.3.34,<1.0a0 + size: 6845411 + timestamp: 1789141490688 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda sha256: 7bdca717c840e17d7dd050f925dd964da61086c2612b8579a4ff4147105f291f md5: d207a2e9bae9da476bc0a603215d5167 @@ -6780,6 +6848,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 +6869,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 +6880,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 +6897,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 +6911,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 +6925,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 +6960,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 +6976,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 +6991,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 +7004,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 +7017,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 +7033,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 +7052,24 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_3.conda + sha256: 2f73c05a1ad07e5a2cb43f0b3759cb04505f0c8bef30b43c9db0caa50218bfd8 + md5: 2d14868d78e969226e4ba07444c0dd25 depends: - - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - libgcc >=15 license: ISC purls: [] - size: 269985 - timestamp: 1787225747011 + run_exports: + weak: + - libsodium >=1.0.22,<1.0.23.0a0 + size: 270970 + timestamp: 1789425325397 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h13e7031_1.conda sha256: f20d70da54e5b31dd4a51fb1efeaafafd5ab6dd8d7ac9d1438eaa2526ac4ed3d md5: e72bbec309c2b0f37823ee7d4fabfcd3 @@ -6977,6 +7080,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 +7096,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 +7112,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 +7123,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 +7141,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 +7162,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 +7176,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 +7190,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 +7204,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 +7223,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 +7239,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 +7256,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 +7269,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,44 +7288,52 @@ 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 - sha256: 087d4de023f22d6a28b9e1b818961dd41e9bda6e9793590600ff16ca150bf9cb - md5: 20e4d67ec908f0405124f11612c48305 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.4-hf3af7cc_0.conda + sha256: 9a1685c8d8b8488cd7882a9cd6e673e687211ca763ebbcd1e91b6f594eeadc45 + md5: b7545c57a73a51d72aa6eee5695cf051 depends: - __glibc >=2.17,<3.0.a0 - icu >=78.3,<79.0a0 - - libgcc >=14 + - libgcc >=15 - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 - libzlib >=1.3.2,<2.0a0 constrains: - - libxml2 2.15.3 + - libxml2 2.15.4 license: MIT license_family: MIT purls: [] - size: 559721 - timestamp: 1787237579170 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_1.conda - sha256: a16a576a5844a3a0e1cdfc5e162b9fe9c64dccf6a93f44c293bb42851aebe2b4 - md5: 2d34cdb31014cbc8f1e9384c89ede0a5 + run_exports: {} + size: 569196 + timestamp: 1788635197456 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_0.conda + sha256: 053d85821ce5e36b7ce03faea5930382f6af695df9e2cd68e5d8d273072d1551 + md5: ea192d1ef556bf1d55de4acb8c0f5b65 depends: - __glibc >=2.17,<3.0.a0 - icu >=78.3,<79.0a0 - - libgcc >=14 + - libgcc >=15 - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 hca6bf5a_1 + - libxml2-16 2.15.4 hf3af7cc_0 - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT purls: [] - size: 46203 - timestamp: 1787237584107 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_0.conda - sha256: 3257043531b6828cbfe3f1c4d843dd29de3898c4c8780efba792ccdd1464c3b1 - md5: be101a81eab00f1abe854c11a68970de + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.4 + size: 47077 + timestamp: 1788635202698 +- 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 @@ -7194,8 +7342,11 @@ packages: 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 +7357,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 +7371,83 @@ 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/lxml-6.1.3-py312h663fcd5_0.conda + sha256: 7ae87ca339fdc617c370a07da78ff8e950ceddf22f46fc2cac61c9f8ebafc84a + md5: 208336d5a9afe597e8a6d7004b108ef0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15 + - libxml2 + - libxml2-16 >=2.15.4 + - libxslt >=1.1.45,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause and MIT-CMU + purls: + - pkg:pypi/lxml?source=compressed-mapping + run_exports: {} + size: 1595760 + timestamp: 1789036626350 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py311h1c460e0_1.conda sha256: a3c5fc64083cd168a65b0e5f8866e46edaeded85ed75f85a6c4dec9071447d5a md5: 987c0686ab1d618850db2fb0f837a88d @@ -7284,6 +7462,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 +7479,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 +7496,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 +7509,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 +7528,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 +7545,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 +7562,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 +7577,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 +7609,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 +7623,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 +7638,46 @@ 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 @@ -7491,8 +7688,9 @@ packages: 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,67 +7699,59 @@ 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 - sha256: 618ada2241ee85ce0241e5823c72ecaa55db29e5b924daa2e68f2f3b895c4346 - md5: 72a4a0233a1bc1200c2e9f22d460a384 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py311h5f79a97_1.conda + sha256: f8d3927a85d6f2e2ebba29a2f2fe4f240f44a1f125fc9e9278f414a7bc91f58d + md5: 292f860dd605766c8038c32a2be9b8d0 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: MIT license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping - size: 248599 - timestamp: 1763658064983 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312h1289d80_0.conda - sha256: 469c9b350b994092a57ae65694922b1478c1ba6fe4bcae007584aad288fc7074 - md5: 11893108d4a531ad1ea00a3695459124 + run_exports: {} + size: 254367 + timestamp: 1788542535490 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py312ha6a3dbb_1.conda + sha256: 99b9a955ef0a1b28275160529c47acaefdab553bbe609dea50e9faf6782dde4d + md5: 0404260b0ea43d0320fa5fe5c94aa9e5 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping - size: 244317 - timestamp: 1763658130853 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313h7033f15_0.conda - sha256: 7ac6a3718f39bcde66486346b8f2f78b449de1f69dee98ada9aafafc011c358c - md5: f0db808169f9f10e25c6ca4a9a79583f + run_exports: {} + size: 248482 + timestamp: 1788542525042 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ndindex-1.10.1-py313hbdba758_1.conda + sha256: de749d98b470bb7823fe7cd5d37d9ea32d6678ddd36602cc24fdbaf1dc83c398 + md5: 572dcf2003f5e3c85c8ef46ba0854399 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: MIT license_family: MIT purls: - pkg:pypi/ndindex?source=hash-mapping - 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 + run_exports: {} + size: 252239 + timestamp: 1788542532653 - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda sha256: 8f8b554c74b032b3e63a8828fb0ecc7ae4f5c5a6bd0afcf75423d5ff79290cb0 md5: fe93be7dd9209e6ae673962e3031ff51 @@ -7570,6 +7760,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 +7787,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 +7814,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 +7841,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 +7862,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 +7883,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,62 +7904,63 @@ 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 - sha256: 7afe9f15ef6245486ab9a00f96fce8cc1aa2ede874d13b2497757bf6a3daa4a5 - md5: 1342a3e31552756ef70e95a2db852539 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py311hd2b4d55_101.conda + sha256: 6066385d990db576bedfccd0dc2095fac23eebc5523fa25079a96f24ab449a26 + md5: 16a05647b52229ac095e579e5b331a16 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - nomkl - numpy >=1.23,<3 - numpy >=1.23.0 - python >=3.11,<3.12.0a0 - python_abi 3.11.* *_cp311 license: MIT - license_family: MIT purls: - - pkg:pypi/numexpr?source=hash-mapping - size: 223697 - timestamp: 1784389084696 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h88efc94_100.conda - sha256: abd8cacebfab96e3cc71fe6068df22e6db76c1d6bf4ef928c0c139c929898499 - md5: fa3b8ac55543cc23199030e6d237a5f9 + - pkg:pypi/numexpr?source=compressed-mapping + run_exports: {} + size: 222837 + timestamp: 1789120202129 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py312h0000c9d_101.conda + sha256: 1cb33ceb3000313a2605f3c00b498f0a5550e4c6188142bcc2d066c53e26c9f4 + md5: 25602f2dc3398cd8730c8ff6c3849dba depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - nomkl - numpy >=1.23.0 - numpy >=1.25,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT - license_family: MIT purls: - - pkg:pypi/numexpr?source=hash-mapping - size: 219263 - timestamp: 1784389078145 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h24ae7f9_100.conda - sha256: f86e2743ffe086f96a627521a8972e99f8900f39c390088b6f10c3a94cba8fa1 - md5: fa4dc45efc136327aad72a80491d72d9 + - pkg:pypi/numexpr?source=compressed-mapping + run_exports: {} + size: 218362 + timestamp: 1789120202271 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.2-py313h2c65a36_101.conda + sha256: c4c2ea7677fb9bc523318f128185b482b37f2f140173e8304713019569248795 + md5: 8849962f42cbcab78a8da265e95b32ca depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 - nomkl - numpy >=1.23.0 - numpy >=1.25,<3 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: MIT - license_family: MIT purls: - - pkg:pypi/numexpr?source=hash-mapping - size: 219767 - timestamp: 1784389091235 + - pkg:pypi/numexpr?source=compressed-mapping + run_exports: {} + size: 219017 + timestamp: 1789120205192 - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py311h2e04523_0.conda sha256: 8e8fb64c1a51282e8940d57d116aec54a4d66da59594973ae9c0b35d419b9a81 md5: 5d4e35d7097b88c8b1455ef9f6ddf511 @@ -7782,51 +7979,60 @@ 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 - sha256: be778735f693d6c1e9b877d7a28fd7d9e8c0d695c5b93a4dd5b8ec4a4317ca13 - md5: e70abe6ab4c60ecb6a51e67903bcec07 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py312he827f4e_0.conda + sha256: 5b0e4c7757a2df883c5615a8f64bc4c113c4cd303ae6caa3ada5d397d114ce2a + md5: 5abf073f2cf066f2f3d28229b3cbe94d depends: - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - libstdcxx >=15 - - liblapack >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 + - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 constrains: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/numpy?source=compressed-mapping - size: 9212503 - timestamp: 1788129260074 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.2-py313hb5f73ae_1.conda - sha256: e63578403e47177b9a473f39e9e0a7f8642ab9147d6d25038c9a02254abc8c53 - md5: 327039a409a06194be053653bbe49191 + run_exports: + weak: + - numpy >=1.25,<3 + size: 9230861 + timestamp: 1788731992112 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.3-py313hb5f73ae_0.conda + sha256: 7093b2633416f91147ed92583b7af6454d9349805601c5bbac8cef2d31f955c6 + md5: efea38e4c681d5c33aade39330bea01c depends: - python - - libstdcxx >=15 - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - python_abi 3.13.* *_cp313 + - libstdcxx >=15 - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 + - python_abi 3.13.* *_cp313 - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 constrains: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/numpy?source=compressed-mapping - size: 9307804 - timestamp: 1788129283036 -- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py311h823f2b2_0.conda - sha256: d8c83cf5b4c4689fb4277f1d162295485e6d1d05941aac0644b66187bc052d49 - md5: 3fe875985b87ef91d78a12dbaa288982 + - pkg:pypi/numpy?source=hash-mapping + run_exports: + weak: + - numpy >=1.25,<3 + size: 9327632 + timestamp: 1788731990928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py311h823f2b2_1.conda + sha256: b6fb94b9ab993e86770062cbde163d1277107711a787769c9858335659af87ff + md5: 117b3526bf199b07c00ce02bfb4f3271 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7839,11 +8045,12 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping - size: 4103217 - timestamp: 1787407926900 -- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py312h9f92c4b_0.conda - sha256: 2bf51d24261a7ecfb4f192239b8e80c428cdec81f7f23f63c0b07d848c12edbc - md5: ece2cdfd1a6868385ecd904ebdf73e49 + run_exports: {} + size: 4108159 + timestamp: 1788653789983 +- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py312h9f92c4b_1.conda + sha256: cead55709924fcf1f7d8840b6adb916ebbeb750266b688eb2750399f1a3c1bc2 + md5: c5c6a359b207fac344a9153cced3230d depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7856,11 +8063,12 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping - size: 4111013 - timestamp: 1787407933877 -- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_0.conda - sha256: 4c82c8c8511a704c10c5ead7df5da9acb3819c80baf0adb86a8513fa151c9252 - md5: 7b9b3406c6a1cfb1cfa6426866847ec9 + run_exports: {} + size: 4110524 + timestamp: 1788653791375 +- conda: https://conda.anaconda.org/conda-forge/linux-64/obstore-0.11.1-py313h2887f01_1.conda + sha256: 25a859c7aa7f4589ad504ad7f27f7030c9effd18875c54d23b576cd6e4cb4ae3 + md5: 502dabb38273b81b3dac9168e7887ef4 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7872,8 +8080,9 @@ packages: license_family: MIT purls: - pkg:pypi/obstore?source=hash-mapping - size: 4108320 - timestamp: 1787407934363 + run_exports: {} + size: 4114668 + timestamp: 1788653789067 - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-heb1ab33_2.conda sha256: 131688a88bea8da92fe418c4558c5073435e2848911bc4c836c3a9dd5994b4aa md5: a3f3ac7a68d01c198e276dbb99e62032 @@ -7885,7 +8094,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 +8112,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 +8128,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 +8146,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 +8206,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 +8229,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 +8248,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 +8265,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 +8282,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 +8340,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 +8398,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 +8456,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,88 +8470,83 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py311hf303fd3_4.conda + sha256: 9c57ee7a671ac44c94e79392f2030f4f55f5dc11c685a8e4dcc8ca3ef225f65b + md5: 7a0549b559c575a3e7ee57958d0378f1 depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - libxcb >=1.17.0,<2.0a0 - - libtiff >=4.7.2,<4.8.0a0 - - openjpeg >=2.5.4,<3.0a0 + - __glibc >=2.17,<3.0.a0 - libwebp-base >=1.6.0,<2.0a0 - - tk >=8.6.13,<8.7.0a0 - - libjpeg-turbo >=3.2.0,<4.0a0 - - lcms2 >=2.19.1,<3.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - python_abi 3.11.* *_cp311 + - zlib-ng >=2.3.3,<2.4.0a0 + - libjpeg-turbo >=3.2.0,<4.0a0 + - tk >=8.6.13,<8.7.0a0 - libfreetype >=2.14.3 - libfreetype6 >=2.14.3 + - lcms2 >=2.19.1,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libtiff >=4.7.2,<4.8.0a0 license: HPND purls: - pkg:pypi/pillow?source=compressed-mapping - size: 1077454 - timestamp: 1788263909512 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_1.conda - sha256: 759861dd3f02686c51a9d1a315effef0f43697adf008e69f3574dd05f6a5dda7 - md5: abe0e18aba5d053232155243914a168b + run_exports: {} + size: 1077554 + timestamp: 1789122647267 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py312h38079b3_4.conda + sha256: 057db21cb235e47a80f36ffbed86f4c4a11aec5d20505278a8f55142ea41e287 + md5: 87d8e4053a968e8b20937e6cdd945a18 depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - lcms2 >=2.19.1,<3.0a0 + - __glibc >=2.17,<3.0.a0 + - libtiff >=4.7.2,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 - libjpeg-turbo >=3.2.0,<4.0a0 - - tk >=8.6.13,<8.7.0a0 + - lcms2 >=2.19.1,<3.0a0 - zlib-ng >=2.3.3,<2.4.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - python_abi 3.12.* *_cp312 - - libtiff >=4.7.2,<4.8.0a0 - openjpeg >=2.5.4,<3.0a0 - libxcb >=1.17.0,<2.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - tk >=8.6.13,<8.7.0a0 license: HPND purls: - pkg:pypi/pillow?source=compressed-mapping - size: 1059991 - timestamp: 1788263909512 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_1.conda - sha256: 772d99020ac7e4c8815afceed81fbd9628938c223727827e1f59eed68c76112d - md5: ae7b99b3a8d14d12d9df0a733ddc2419 + run_exports: {} + size: 1060052 + timestamp: 1789122647267 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py313h3b26573_4.conda + sha256: 26d0fec97210b130c5d4299a0d648e78a7386be1cc90ae25618fa4b838f1627a + md5: 6739325f3022c709753d26fff83ae20e depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - openjpeg >=2.5.4,<3.0a0 - - tk >=8.6.13,<8.7.0a0 - - libxcb >=1.17.0,<2.0a0 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.13.* *_cp313 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libwebp-base >=1.6.0,<2.0a0 - libtiff >=4.7.2,<4.8.0a0 + - tk >=8.6.13,<8.7.0a0 - zlib-ng >=2.3.3,<2.4.0a0 + - openjpeg >=2.5.4,<3.0a0 - lcms2 >=2.19.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - python_abi 3.13.* *_cp313 + - libxcb >=1.17.0,<2.0a0 - libjpeg-turbo >=3.2.0,<4.0a0 license: HPND purls: - - pkg:pypi/pillow?source=hash-mapping - size: 1072805 - timestamp: 1788263909512 + - pkg:pypi/pillow?source=compressed-mapping + run_exports: {} + size: 1072896 + timestamp: 1789122647267 - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda sha256: 829d8288764282de5a9f7b9169acb75cc7dc0b6c3fe2535cfe87dea3436bbc5d md5: 0ee5bb30034b081a1386c1e2c98ab0a7 @@ -8325,6 +8557,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 +8575,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 +8592,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 +8607,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 +8622,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 +8634,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 +8651,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 +8668,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 +8685,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 +8707,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 +8729,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 +8751,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 +8767,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 +8783,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 +8799,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 +8817,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 +8835,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,101 +8853,88 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py311h242c0d0_1.conda + sha256: 13d65a479bb6429875770485a86cb5c5987efc1877d225062d27f70dfae9365e + md5: 65fffae90f6781d3d875536e54f7000f depends: - python - qt6-main 6.11.2.* + - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - libopengl >=1.7.0,<2.0a0 - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libclang13 >=23.1.0 + - libvulkan-loader >=1.4.357.0,<2.0a0 - libegl >=1.7.0,<2.0a0 - - qt6-main >=6.11.2,<7.0a0 - - python_abi 3.11.* *_cp311 - - libclang13 >=22.1.8 - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 - - libvulkan-loader >=1.4.357.0,<2.0a0 + - libxml2-16 >=2.15.4 + - python_abi 3.11.* *_cp311 + - qt6-main >=6.11.2,<7.0a0 + - libxslt >=1.1.45,<2.0a0 license: LGPL-3.0-only license_family: LGPL purls: - pkg:pypi/pyside6?source=hash-mapping - pkg:pypi/shiboken6?source=hash-mapping - size: 13952652 - timestamp: 1787219436409 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf143aa3_0.conda - sha256: 4e25d9259683126c377b219a741e081f7b8daa63aa256435d037cdaa3f453589 - md5: bfcdbf7dfa025bf855ffbf44181c143e + run_exports: {} + size: 13952701 + timestamp: 1788744983820 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py312hf520645_1.conda + sha256: b2b366746414187fc76b1c0ac5b875dcd48b51d0809c42739d6e8b21d34d3c48 + md5: c4121a6f49ae4e9e9beae7f70530b3be depends: - python - qt6-main 6.11.2.* - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - libstdcxx >=15 + - __glibc >=2.17,<3.0.a0 + - libxslt >=1.1.45,<2.0a0 - python_abi 3.12.* *_cp312 - - libclang13 >=22.1.8 - libopengl >=1.7.0,<2.0a0 + - qt6-main >=6.11.2,<7.0a0 + - libclang13 >=23.1.0 - libgl >=1.7.0,<2.0a0 - libegl >=1.7.0,<2.0a0 - libxml2 - - libxml2-16 >=2.14.6 + - libxml2-16 >=2.15.4 - libvulkan-loader >=1.4.357.0,<2.0a0 - - qt6-main >=6.11.2,<7.0a0 - - libxslt >=1.1.43,<2.0a0 license: LGPL-3.0-only license_family: LGPL purls: - - pkg:pypi/pyside6?source=hash-mapping - - pkg:pypi/shiboken6?source=hash-mapping - size: 13943954 - timestamp: 1787219437874 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hec6a3d9_0.conda - sha256: b95defe4916ecb1ba454e0f841b5f5d3e3ebf1b2f9cade094ceaa167cbd26c44 - md5: 72123d8621f0c3006dd79e0138130397 + - pkg:pypi/pyside6?source=compressed-mapping + run_exports: {} + size: 13944078 + timestamp: 1788744980531 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.2-py313hd9d88b3_1.conda + sha256: 428a6daef5ca7151ad0df1bffe9c865b58f7b76cbee2070189bcdbde3ac2ec7d + md5: 8b19f5888eb8a8ec70b5f987bd4dc8cd depends: - python - qt6-main 6.11.2.* - libgcc >=15 - libstdcxx >=15 - __glibc >=2.17,<3.0.a0 - - libclang13 >=22.1.8 - - libegl >=1.7.0,<2.0a0 - - qt6-main >=6.11.2,<7.0a0 + - libopengl >=1.7.0,<2.0a0 - libvulkan-loader >=1.4.357.0,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - libxslt >=1.1.43,<2.0a0 - libxml2 - - libxml2-16 >=2.14.6 - - libopengl >=1.7.0,<2.0a0 + - libxml2-16 >=2.15.4 + - qt6-main >=6.11.2,<7.0a0 - python_abi 3.13.* *_cp313 + - libclang13 >=23.1.0 + - libxslt >=1.1.45,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 license: LGPL-3.0-only license_family: LGPL purls: - pkg:pypi/pyside6?source=compressed-mapping - size: 13946979 - timestamp: 1787219441414 + run_exports: {} + size: 13947145 + timestamp: 1788745031498 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.16-h5f976f7_2_cpython.conda build_number: 2 sha256: 35375a255970809e8b0a1c744d56533f4da5339769ef5f5a24fe165ca321fcf3 @@ -8722,6 +8962,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 +8996,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 +9028,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 +9057,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 +9085,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 +9113,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 +9129,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 +9145,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,56 +9161,60 @@ 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 - sha256: 4393066e380c976a4066a7865c42f9e1f96b1b8a80f0eef03db93a4160dde77b - md5: 4e078a6bafb23473ea476450f45c9650 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.10.0-py312h1b36aeb_0.conda + sha256: e27ee41eeb8a94f26ec3f678d6ab0d89e9b17de97dd76af2468754bf0e4194e3 + md5: 4740c24d03f5cf3d0b23426cf2a9820b depends: + - python + - numpy >=1.26.4,<3 + - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - python >=3.11,<3.12.0a0 - - python_abi 3.11.* *_cp311 license: MIT license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping - size: 3696784 - timestamp: 1762595030802 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py312h4f23490_2.conda - sha256: 5616729dbb1bfc21e8acc2c8f4d5e32b5e017e45e1e8f763dee8cac4c38f890b - md5: ab856c36638ab1acf90e70349c525cf9 + run_exports: {} + size: 3841167 + timestamp: 1788876846303 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.10.0-py313hd42f317_0.conda + sha256: 29a4627b9506857afcb057b089956e1108f93f8b0b9a1b3d2c48b9cddecd261c + md5: 93728ae974938c78aef8f6cd77adbce1 depends: + - python + - numpy >=1.26.4,<3 + - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - numpy >=1.23,<3 - numpy >=1.25,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping - size: 3676871 - timestamp: 1762595062404 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py313h29aa505_2.conda - sha256: 35f88475fc407dd5e508f94982603e671c49a3770201576d26cb439e5d05b431 - md5: 60f5d1c039da10fe89a530cc93ea50ac + run_exports: {} + size: 3857434 + timestamp: 1788876843742 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.9.0-py311h0372a8f_2.conda + sha256: 4393066e380c976a4066a7865c42f9e1f96b1b8a80f0eef03db93a4160dde77b + md5: 4e078a6bafb23473ea476450f45c9650 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - numpy >=1.23,<3 - numpy >=1.25,<3 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 license: MIT license_family: MIT purls: - pkg:pypi/pywavelets?source=hash-mapping - size: 3683002 - timestamp: 1762595027819 + run_exports: {} + size: 3696784 + timestamp: 1762595030802 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py311h3778330_1.conda sha256: c9a6cd2c290d7c3d2b30ea34a0ccda30f770e8ddb2937871f2c404faf60d0050 md5: a24add9a3bababee946f3bc1c829acfe @@ -8964,6 +9228,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 +9244,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,12 +9260,13 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_1.conda noarch: python - sha256: 9e8b94a2c9b4479cac80def117178a1658b089b9e5d4ee64408d2e4ff89fdaba - md5: ceffbc006d87e8f81e750cebd63fd8c4 + sha256: 78dc5f5ab0c6a294a3998872dc391087205abf2030963a243cc6fa7eadef5c4b + md5: a5b12b1faf14ff9a4bef4413b19d1e27 depends: - python - libstdcxx >=15 @@ -9012,8 +9279,9 @@ packages: license_family: BSD purls: - pkg:pypi/pyzmq?source=compressed-mapping - size: 214050 - timestamp: 1787300896477 + run_exports: {} + size: 216608 + timestamp: 1789103748576 - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc md5: 353823361b1d27eb3960efb076dfcaf6 @@ -9023,6 +9291,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 +9367,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 +9383,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 +9396,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,27 +9412,46 @@ 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 - sha256: 6ebc7e223f9daa8d53b08aa0520677af61fb659e596e55827811721972b48dff - md5: b36ad43e1df0282c8fa7287b24f5897a +- conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2026.9.10-py312h5cc1888_0.conda + sha256: 3cbfc69e375ac28b3d3c1be01518737648c5cd080c94bcb48c94b2f0841eea49 + md5: 5083c976e001ceebf78bf227e5a097d9 depends: - - python + - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 AND CNRI-Python + license_family: PSF + purls: + - pkg:pypi/regex?source=compressed-mapping + run_exports: {} + size: 418377 + timestamp: 1789018072016 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py311ha6e1976_2.conda + sha256: 0f7b992bd71ceed91e1d753b89aa420d848c661bdce0cfc44fdab760bdb12551 + md5: 0a5d584062993f99ba95e8325ba2eb2d + depends: + - python - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - python_abi 3.11.* *_cp311 constrains: - __glibc >=2.17 license: MIT license_family: MIT purls: - - pkg:pypi/rpds-py?source=compressed-mapping - size: 299706 - timestamp: 1788228383642 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_1.conda - sha256: a47c5947ed7168ff6e9aa8fc09aad93aa74ca42fe04695cd755d9468c433e73e - md5: 590f306bbc6d9fde9353bcd9a19b70dc + - pkg:pypi/rpds-py?source=hash-mapping + run_exports: {} + size: 299783 + timestamp: 1788577324635 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312hc767a74_2.conda + sha256: de56267c9c6e31e02eddd3239cce36154d500b325a6cbd83d57fb32bcc2ebe11 + md5: c5e7bd18dff14e8fdc74d6e623c5fe52 depends: - python - __glibc >=2.17,<3.0.a0 @@ -9162,12 +9462,13 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/rpds-py?source=compressed-mapping - size: 300752 - timestamp: 1788228344574 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py313ha296275_1.conda - sha256: 80064c7e592144474b9301c36cd7385289aad638360d81ebae21ae659f33ef0d - md5: 22aa6a8dcdb06b9ade7ad9d7e0d276ea + - pkg:pypi/rpds-py?source=hash-mapping + run_exports: {} + size: 300882 + timestamp: 1788577343073 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py313ha296275_2.conda + sha256: 390121290b2931793671bb18b130a09e30e7758aabfb71962aba00f198acea72 + md5: 200755c9e086a1fc9d0f59dc0ed742c1 depends: - python - __glibc >=2.17,<3.0.a0 @@ -9179,12 +9480,13 @@ packages: license_family: MIT purls: - pkg:pypi/rpds-py?source=compressed-mapping - size: 300007 - timestamp: 1788228320942 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.5-hdfdb5ae_0.conda + run_exports: {} + size: 300095 + timestamp: 1788577298075 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.16.7-hbcb56a7_0.conda noarch: python - sha256: 6e056514a68826e940616a26fb0351d3d15d89ba47f6c2cbeb1cadd0fe60277a - md5: 7ddc6f2699c79c53286b478a6b4c9e92 + sha256: 5ed4c55297861e06c25fadf4b93c7ace90093368a8a8e71a0cc690d3ce806ca3 + md5: 23da3766254f778b56fe168882b84058 depends: - python - __glibc >=2.17,<3.0.a0 @@ -9192,11 +9494,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: 8979648 + timestamp: 1789115793914 - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.5-h7e3ee7f_1.conda sha256: 7369ac21f3561e2203f5b1600ef0671270057380783ca4b9e15f679ba25db575 md5: fa1c00d999e83ec20173c9775f71a1f1 @@ -9207,6 +9509,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 +9544,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 +9577,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 +9610,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,54 +9634,55 @@ 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 - sha256: c304dfb0bbf0d824d3706623f6437237d7bfc83941bb7b18f80e05abb10ec79e - md5: f8d242c552b0f7f682451ce95879af5e +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py312h106c528_0.conda + sha256: 1304a96048fd68ae50e30ca4891e4d2851c20c5687b3152045930541a4008121 + md5: 9f57b4b1fa3b51dbf1df6eca1e6c0cfa depends: - __glibc >=2.17,<3.0.a0 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 - - libgcc >=14 + - libgcc >=15 - libgfortran - - libgfortran5 >=14.3.0 + - libgfortran5 >=15.3.0 - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 + - libstdcxx >=15 + - numpy <2.8 + - numpy >=1.25,<3 - numpy >=2.0.0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/scipy?source=hash-mapping - size: 17104066 - timestamp: 1781912972195 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py313h4b8bb8b_0.conda - sha256: 3ffdca726208a7394b2aa9989e5b1718e28a6285329bbc10bea4e92066e14f49 - md5: a32f88181ff9a3451c71be1f17a7c799 + - pkg:pypi/scipy?source=compressed-mapping + run_exports: {} + size: 17399079 + timestamp: 1789137054012 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.1-py313he2a5f1a_0.conda + sha256: cc72d707bd4b20e469eca4102e76d13c65d3a834a4bb49624e9a77733a40c742 + md5: 80d63241bf0145b75cb32df937cc08eb depends: - __glibc >=2.17,<3.0.a0 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 - - libgcc >=14 + - libgcc >=15 - libgfortran - - libgfortran5 >=14.3.0 + - libgfortran5 >=15.3.0 - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 + - libstdcxx >=15 + - numpy <2.8 + - numpy >=1.25,<3 - numpy >=2.0.0 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/scipy?source=hash-mapping - size: 17171066 - timestamp: 1781912954186 + - pkg:pypi/scipy?source=compressed-mapping + run_exports: {} + size: 17382266 + timestamp: 1789137271106 - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 md5: 98b6c9dc80eb87b2519b97bcf7e578dd @@ -9385,6 +9694,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 +9713,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 +9730,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 +9747,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 +9760,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 +9777,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_2.conda + sha256: 48182fc1a129a48c2617214b7f2c55c9096c7c2ee750d59133390c898504fe95 + md5: f9f309d3b0210c55683fc68fd0aeac98 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: 889311 + timestamp: 1789076973947 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py312h5cc1888_2.conda + sha256: 01ffcb9966caa35a344216a89f37a0bc7b281cd6bf50b803d55a9f6bc04cb072 + md5: 7a327c3f25e34e434b681906f47e53bc 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: 867409 + timestamp: 1789076971563 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.8-py313h995f894_2.conda + sha256: 21e501e55dc68358289d6286ee59a33db7abb3a74a2cae25ab1147e0d10b73f3 + md5: 133fcb5368568442d345d8b5c5151ff8 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 + - pkg:pypi/tornado?source=compressed-mapping + run_exports: {} + size: 894107 + timestamp: 1789076977398 - conda: https://conda.anaconda.org/conda-forge/linux-64/ty-0.0.69-h4e94fc0_0.conda noarch: python sha256: cb674ec728a1fd03d8d795e1b53120bd9de7b2eded79cfb79e1ccc02a1b52a44 @@ -9519,6 +9843,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 +9860,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 +9877,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,22 +9894,24 @@ 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 - sha256: 895bbfe9ee25c98c922799de901387d842d7c01cae45c346879865c6a907f229 - md5: 0b6c506ec1f272b685240e70a29261b8 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h5cc1888_1.conda + sha256: c8cb48db10add790655cc28c163adec56312fd176934f206b0da62bbb64902c5 + md5: a6301c668e50512c804c5b3807c960f2 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/unicodedata2?source=hash-mapping - size: 410641 - timestamp: 1770909099497 + run_exports: {} + size: 414021 + timestamp: 1788554113694 - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.22.1-py311h49ec1c0_1.conda sha256: e81c2216560697d8d59769f4ffc8e77c1103c1d7c9b00935002a1ef33dd6f2d3 md5: 28d7b3a71c298c5d051a4c40d9bad128 @@ -9595,6 +9924,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 +9939,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 +9954,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 +9972,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 +9990,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 +10008,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,67 +10023,74 @@ 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 - sha256: cf52e5fdd8d8186fb30b4ac870da35c4331c4b86876d2e3bede44a7c28c2d169 - md5: 6ab8eab6772f35b8e2be31ed3652024b +- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py311h4b93e55_1.conda + sha256: b8329ea631e1f1a83d89ef0cb07278cc8b7225171fbdcac65f26a511d4af1d9f + md5: 21de08ed1cf74de59757875eb1d48e3f depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - python_abi 3.11.* *_cp311 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/websockets?source=hash-mapping - size: 406035 - timestamp: 1787781232175 -- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_0.conda - sha256: 9c02ba078f0bc21fd3fd99a4607b2107b6c168549318af62351d7f65d2f037a1 - md5: 1f686418c57f938f1e2d22cca1bd3502 + run_exports: {} + size: 406236 + timestamp: 1788618423624 +- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py312h89dfda2_1.conda + sha256: 4c5e4988a6a9b90187474b3b68bc65c7f76068b42b8bbe7febae4fb096bee5c3 + md5: 15b2c6ec2617574df62a4d4ffac4ec38 depends: - python - - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/websockets?source=hash-mapping - size: 411350 - timestamp: 1787781230861 -- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_0.conda - sha256: 3336dc1a013a325f8825d24b4626687218c929dbab38a1664067c1ea48629868 - md5: 49f4d86368601b8f9e881e17311e7097 + run_exports: {} + size: 411503 + timestamp: 1788618425337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.1-py313h7f1de9a_1.conda + sha256: a82c35139a0d9dea27476fed669e471791a71265d1986b3b7e40b98e6f273cc1 + md5: 81f80404056435946abae8868b3dd276 depends: - python - - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/websockets?source=compressed-mapping - size: 420889 - timestamp: 1787781227315 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-2.4.0-py311h194be0f_0.conda - sha256: 60cd23c1ccac9155689e4034408d799aaa3b66519d791f4b312beacdd930c207 - md5: f9947172f2d0aeb75e1031c762472b23 + - pkg:pypi/websockets?source=hash-mapping + run_exports: {} + size: 421068 + timestamp: 1788618424663 +- 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 @@ -9757,23 +10099,25 @@ packages: 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 +10128,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 +10146,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 +10161,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 +10175,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 +10189,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 +10203,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 +10218,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 +10230,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 +10246,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,19 +10261,25 @@ 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 - sha256: cbf891f6cc1a859347680af1c8562bc6b033bf182a2a3bb536016932be3206de - md5: f06ef439c280a5f90b8bf62355008dbc +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-h7cc23a3_2.conda + sha256: 3ec065b94554dc48a4ca582a960a5484bc166b26e83ce0954653e08d17e8bd53 + md5: da33efee1a93603d92e06d4a2b68def6 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 license: MIT license_family: MIT purls: [] - size: 16419 - timestamp: 1786381001122 + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 + size: 18793 + timestamp: 1788960512381 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda sha256: 048c103000af9541c919deef03ae7c5e9c570ffb4024b42ecb58dbde402e373a md5: f2ba4192d38b6cef2bb2c25029071d90 @@ -9916,6 +10291,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 +10308,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 +10325,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 +10339,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 +10354,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 +10369,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 +10386,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 +10403,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 +10418,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 +10435,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,29 +10451,23 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.conda + sha256: 8e9c7ca4fcfe9f0c300e4aa853b79c25411fc4e470decfe8f909b74f60dfb6dd + md5: c3d0a6f03ba3aa312777b41b20a71ec0 depends: + - libgcc >=15 - __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 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - license: MIT - purls: [] - size: 594980 - timestamp: 1788447117643 + run_exports: {} + size: 596340 + timestamp: 1788874111132 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda sha256: d164dfa75ecd538f6fd68765defcc06aa875bc697b9b215362d79a2a73125dd0 md5: e741576fb8f89821ac7c1c537322a33d @@ -10078,35 +10477,44 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h901266b_12.conda + sha256: 37dc9a5ff564fdce07c5ad002ee572057cf41dedda274d7abc154e77094d981a + md5: 292a05f1436b98e17055090b5ef07746 depends: - - libgcc >=14 - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=15 + - libstdcxx >=15 - libsodium >=1.0.22,<1.0.23.0a0 + - krb5 >=1.22.2,<1.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 + run_exports: + weak: + - zeromq >=4.3.5,<4.4.0a0 + size: 321839 + timestamp: 1789076548604 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.1-h79e284d_6.conda + sha256: 2da8a7b7225e42721e249286d4762df1dbdb68a77b632f5ff52b4112e5356273 + md5: 9d7141ec747a9ede5da83e864fcc8213 depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex >=4.5 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=15 + - libstdcxx >=15 license: BSD-3-Clause license_family: BSD purls: [] - size: 277694 - timestamp: 1766549572069 + run_exports: + weak: + - zfp >=1.0.1,<2.0a0 + size: 263275 + timestamp: 1789150032771 - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda sha256: 16080a1c7724f7d25727cdc23c7658e0cec2db52448c1dc0c33467ee2c6e1c62 md5: 6acb86426229f96f93e5468d1df3a5e8 @@ -10116,6 +10524,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,28 +10539,32 @@ 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 - sha256: 2fc3a0acabba400f6b4bceb9e4a9266ce522a0b4d9c4772078e2f889e2547e54 - md5: 7cbf4b0c632f7db7b4faacf757dcfa5e +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py311h194be0f_4.conda + sha256: 033b4b09ddcedb3c73bf758496681978a34b32a9eb9015759280948a65d41b66 + md5: e19a1e097a8f06a947d211b07e2ca6f8 depends: - python - cffi >=1.11 - zstd >=1.5.7,<1.5.8.0a0 - - __glibc >=2.17,<3.0.a0 - libgcc >=15 + - __glibc >=2.17,<3.0.a0 - python_abi 3.11.* *_cp311 - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping - size: 466468 - timestamp: 1787896529366 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h1b36aeb_3.conda - sha256: 7c2b7d721ae03896f4ac7d0d806567ba92786de94efc79e14512f355552bcdca - md5: b71258304496a49e77c66650459089d1 + run_exports: {} + size: 466599 + timestamp: 1788604311166 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h1b36aeb_4.conda + sha256: a3183adc689cfafdaa7e6a21a2c9174894125fc838cb538955246c6543e5b8da + md5: 03519133f60c8fab1268a64887b518c2 depends: - python - cffi >=1.11 @@ -10162,11 +10577,12 @@ packages: license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping - size: 466734 - timestamp: 1787896527572 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_3.conda - sha256: 0c6f09056ee53abafefe1fc70c3e8396574f569fa892511b3c5b38b2037dcda6 - md5: c1904f9fe6bfdb904eb9ec47f5fbb231 + run_exports: {} + size: 466862 + timestamp: 1788604308908 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py313hd42f317_4.conda + sha256: b183c9ff528c0454d2de07d16840e4514ecd79e404c2ebd0a3256563aab9f5da + md5: 49592828b02c30c46778c2bd6afb9710 depends: - python - cffi >=1.11 @@ -10179,8 +10595,9 @@ packages: license_family: BSD purls: - pkg:pypi/zstandard?source=compressed-mapping - size: 472574 - timestamp: 1787896529106 + run_exports: {} + size: 472702 + timestamp: 1788604307981 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 md5: aa459086047c0e5e27023ab19f8cb86a @@ -10190,6 +10607,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 +10621,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,40 +10633,43 @@ 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 - sha256: 0852e3b1ade3277a276d33d79e673f10574f28fa0e10ddbbede2041d2897439d - md5: 18dd6827f0d0f70d8f3de12a9b59f11f +- conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-postgresql-1.12.0-pyha770c72_1.conda + sha256: 263681e830b31a364f595ee1b422752b344308250f4d7a1c461e156deb374773 + md5: 23d098cd54f4151e364839c44de63398 depends: - adbc-driver-manager >=1.12.0,<2.0a0 - importlib_resources - libadbc-driver-postgresql >=1.12.0,<1.12.1.0a0 - - python >=3.10 + - python >=3.11 constrains: - pyarrow >=8.0.0 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/adbc-driver-postgresql?source=hash-mapping - size: 26806 - timestamp: 1785224517310 -- conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_0.conda - sha256: 130f0ef1b727e0523aa72e430d6378ed949a80ca6e5ccd2ebc18f075dc831686 - md5: f19f610b832c17ce6c5b7cca4541bad5 + run_exports: {} + size: 26937 + timestamp: 1788738164963 +- conda: https://conda.anaconda.org/conda-forge/noarch/adbc-driver-sqlite-1.12.0-pyha770c72_1.conda + sha256: abd7348953c4011c56d9652694b43d09770bfa2dc46a57a96af3cd27057293ce + md5: c1a0ab4f65801e9deb6b042d488ed020 depends: - adbc-driver-manager >=1.12.0,<2.0a0 - importlib_resources - libadbc-driver-sqlite >=1.12.0,<1.12.1.0a0 - - python >=3.10 + - python >=3.11 constrains: - pyarrow >=8.0.0 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/adbc-driver-sqlite?source=hash-mapping - size: 25384 - timestamp: 1785224536166 + run_exports: {} + size: 25525 + timestamp: 1788738180225 - conda: https://conda.anaconda.org/conda-forge/noarch/aiofiles-25.1.0-pyhcf101f3_1.conda sha256: f37288164cf28b916b184b0a5e89225e17af0e0c9bcd4d0dc39e5a597fcfeed1 md5: a6435dc39a8031d33d6d52859913e939 @@ -10256,6 +10680,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 +10693,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,13 +10705,14 @@ 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 - sha256: 3c149e52838aea0c02790b302666a701990ed57b8e99f16a62dbadf1017aa883 - md5: 8127170885b477580bd43c69a84c7cb7 +- conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.19.2-pyh5ded981_0.conda + sha256: 82eaac0fcdcd9831c4bd49b8941c323f21ca68244493a3ba50d68a50fc6bcefd + md5: 5824a7b3645009fbf481d0a4e95a9cf0 depends: - - python >=3.10 + - python >=3.11 - sqlalchemy >=1.4.23 - mako - typing_extensions >=4.12 @@ -10295,8 +10722,9 @@ packages: license_family: MIT purls: - pkg:pypi/alembic?source=compressed-mapping - size: 186094 - timestamp: 1786265219360 + run_exports: {} + size: 187286 + timestamp: 1788561062306 - conda: https://conda.anaconda.org/conda-forge/noarch/algotom-1.7.0-pyhd8ed1ab_0.conda sha256: 4f63a413c025a1444d09ce7ef2f70421c827cab9f4115fed3d1b6b65d8b1368e md5: 1fff2cfa234e285acbb045a32e677af2 @@ -10313,6 +10741,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 +10754,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,26 +10767,41 @@ 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 - sha256: 35fefb7c4bc39bca28d8764b4f59bd7b739c47e3af8e5e20ee22621db0c594b3 - md5: 28190db0e223089024a41b06c11af36e +- conda: https://conda.anaconda.org/conda-forge/noarch/ansi2html-1.9.2-pyhcf101f3_3.conda + sha256: aa38131a1a861fa24b9ef61fb4a2412b81039e47bc714c030ee9d524fc0b7da4 + md5: d8573ef104c250314148c020f4c552e4 + depends: + - python >=3.10 + - python + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/ansi2html?source=hash-mapping + run_exports: {} + size: 35961 + timestamp: 1757744058909 +- conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.15.1-pyh5ded981_1.conda + sha256: fc25a84c9c1ad4b48c136ad2363100e8b0faa3b0ab8985e61c9c8fa0b3431945 + md5: 33cdc5ba7c481b371f08f88e6c048c55 depends: - - exceptiongroup >=1.0.2 - idna >=2.8 - python >=3.11 - - typing_extensions >=4.5 + - typing_extensions >=4.16.0 - python constrains: - trio >=0.32.0 - uvloop >=0.22.1 - winloop >=0.2.3 license: MIT + license_family: MIT purls: - pkg:pypi/anyio?source=compressed-mapping - size: 175295 - timestamp: 1788442098937 + run_exports: {} + size: 175600 + timestamp: 1788612816954 - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda sha256: 5b9ef6d338525b332e17c3ed089ca2f53a5d74b7a7b432747d29c6466e39346d md5: f4e90937bbfc3a4a92539545a37bb448 @@ -10366,20 +10811,9 @@ 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 - sha256: 7a0e771e709b1620a914ba8a9590433c4a9fd84779d137216ac29ca50e959a1f - md5: 5185c9f9742daeffae5daae93c802bf7 - depends: - - python >=3.10 - - python - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/argcomplete?source=hash-mapping - size: 47150 - timestamp: 1786180543999 - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda sha256: bea62005badcb98b1ae1796ec5d70ea0fc9539e7d59708ac4e7d41e2f4bb0bad md5: 8ac12aff0860280ee0cff7fa2cf63f3b @@ -10393,6 +10827,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,8 +10840,25 @@ 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/asteval-1.0.10-pyhd8ed1ab_0.conda + sha256: 4c2cfa69de6b4f451e2ea0f7a9b63f04654795977517dbd2fb6f5e395e8b6716 + md5: 83f5b0f440a0148227a99e6f33bb2d02 + depends: + - numpy >=1.22 + - pip + - python >=3.10 + - setuptools + - setuptools-scm + license: MIT + license_family: MIT + purls: + - pkg:pypi/asteval?source=hash-mapping + run_exports: {} + size: 29350 + timestamp: 1787423123187 - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda sha256: fbbd8ce60cbd5c16f3fe559eb644551f94285caff30985ea961ff851c1cf25ac md5: 89d495168582cb00428dad699d149624 @@ -10418,6 +10870,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 +10883,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 +10896,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 +10915,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 +10930,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,112 +10944,27 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/noarch/bluesky-tiled-plugins-2.0.11-pyhd8ed1ab_0.conda + sha256: b2ba766ffabbc582d2835dbd0969c7427f4c64be93be1bdb090403c3bb7b4d69 + md5: 19b1b8e434e70bc5ebda2779399eb4b1 depends: - - cycler - - event-model >=1.14.0 - - historydict - - msgpack-numpy - - msgpack-python - - numpy - - opentelemetry-api - - python >=3.10 - - toolz - - tqdm >=4.44 - - zict + - dask-core + - event-model + - mongoquery + - python >=3.11 + - pytz + - tiled-client >=0.2.0 + - tzlocal 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 - depends: - - dask-core - - event-model - - mongoquery - - python >=3.10 - - pytz - - tiled-client >=0.2.0 - - tzlocal - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/bluesky-tiled-plugins?source=hash-mapping - size: 59118 - timestamp: 1784707204742 + - pkg:pypi/bluesky-tiled-plugins?source=compressed-mapping + run_exports: {} + size: 59790 + timestamp: 1788997472139 - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.10.0-pyhd8ed1ab_0.conda sha256: 34bb5cc4f6ccff1e410dea2d39880190f88a8be7ad5cfe9ff0da2cf3d2ad7ea1 md5: 67d0ed593951a4933024453b76ef1355 @@ -10613,6 +10985,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 +11008,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 +11018,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 +11030,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 +11043,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 +11055,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 +11067,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 +11078,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 +11090,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,21 +11102,22 @@ 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 - sha256: ccc4787f511964f9a1f2d2d2859c91c5d571fb60f7f09d4c4e092c9b7a94e671 - md5: 2c4bd6aeb90bb157456841c3270a0d92 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.5.0-pyh5ded981_0.conda + sha256: 9afb0c2c089330321a219c7ee5a25313bd574d4024be606cbb33e7a5735df662 + md5: dea5b13a211bbf99876deb980b408a66 depends: - - __unix + - python >=3.11 - python - - python >=3.10 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/click?source=hash-mapping - size: 107155 - timestamp: 1783085363526 + - pkg:pypi/click?source=compressed-mapping + run_exports: {} + size: 112341 + timestamp: 1788802215348 - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 md5: 61b8078a0905b12529abc622406cb62c @@ -10763,6 +11128,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,21 +11140,22 @@ 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 - sha256: e830979e8afa02c941a2a4faece5c9577959667099a652ac8feca31dfadadfed - md5: eed05167fb3f0dba839b934aa0085265 +- conda: https://conda.anaconda.org/conda-forge/noarch/colored-2.3.2-pyhcf101f3_1.conda + sha256: 1dc099bc664b9906657c439e12a1a58f0620e3f77aacd1e99ed7c77a8d3c7af6 + md5: 64a3071692396b1cd8dc5966ae8c0ec0 depends: - python >=3.10 - - __unix - python license: MIT license_family: MIT purls: - - pkg:pypi/colorlog?source=hash-mapping - size: 17736 - timestamp: 1784356800597 + - pkg:pypi/colored?source=hash-mapping + run_exports: {} + size: 25178 + timestamp: 1777301634923 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 md5: 2da13f2b299d8e1995bafbbe9689a2f7 @@ -10799,6 +11166,7 @@ packages: license_family: BSD purls: - pkg:pypi/comm?source=hash-mapping + run_exports: {} size: 14690 timestamp: 1753453984907 - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.11.16-py311hd8ed1ab_2.conda @@ -10810,6 +11178,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 +11190,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 +11202,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 +11231,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,8 +11244,21 @@ 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/darkdetect-0.8.0-pyhd8ed1ab_1.conda + sha256: 4874e344117280fb13104864a9474486e998d387a80bc1f288738550411dcf4f + md5: 69887bcc8c6f1c439c1376baa6f8dc55 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/darkdetect?source=hash-mapping + run_exports: {} + size: 13566 + timestamp: 1734328185752 - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.8.0-pyhc364b38_0.conda sha256: 757750c674117059fde8114f305591f1b4ee8f446b11274278151e88fdcf61c6 md5: e79afa78ebd31bb1e76de5fe117edb29 @@ -10895,6 +11280,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,22 +11301,26 @@ 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 - sha256: dddbb5eff39dc3cf327ab4e14a4e0c78bc201c66e6de812012764211d7dac35b - md5: 6871f8e306a2d7324154956222067645 +- conda: https://conda.anaconda.org/conda-forge/noarch/dateparser-1.4.3-pyh5ded981_0.conda + sha256: 3ec9dd85b08cab2428f99060d340b0c6122b51253bc70382c75ba0c80e677418 + md5: 1ff16017992b6683a6b4d0ace93992c7 depends: - - python >=3.10 - - packaging - - tomli + - python >=3.11 + - python-dateutil >=2.7.0 + - pytz >=2024.2 + - regex >=2024.9.11 + - tzlocal >=0.2 - python - license: MIT - license_family: MIT + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/dependency-groups?source=hash-mapping - size: 15725 - timestamp: 1787548560970 + - pkg:pypi/dateparser?source=hash-mapping + run_exports: {} + size: 207273 + timestamp: 1788443140152 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda sha256: 7d57a7b8266043ffb99d092ebc25e89a0a2490bed4146b9432c83c2c476fa94d md5: 5498feb783ab29db6ca8845f68fa0f03 @@ -10941,8 +11331,22 @@ 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/dill-0.4.1-pyhcf101f3_0.conda + sha256: 1ef84c0cc4efd0c2d58c3cb365945edbd9ee42a1c54514d1ccba4b641005f757 + md5: 080a808fce955026bf82107d955d32da + depends: + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/dill?source=hash-mapping + run_exports: {} + size: 95462 + timestamp: 1768863743943 - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda sha256: e2753997b8bd34205f42be01b8bab8037423dc30c02a1ec12de23e5b4c0b0a2e md5: 58638f77697c4f6726753eb8be34818b @@ -10953,6 +11357,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 +11387,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 +11409,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 +11420,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 +11433,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 +11447,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 +11460,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 +11470,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 +11482,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 +11494,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 +11510,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 +11522,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 +11534,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 +11554,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 +11571,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,49 +11599,27 @@ 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 - sha256: a52faa011a8176bbbf30c77f76707788be9a9e1a7e30c3753083719c093a15dc - md5: 9b091d04be6b722d4ed7dfee34295dea +- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.6-pyhd8ed1ab_0.conda + sha256: f20f0d74a3e31131ec02e24dc555bcf1446bd275c968fc601ec86a8633f7608d + md5: 42afc06f6512975dc9ee5afc15dcc3ee depends: - - python >=3.10 + - python >=3.11 license: Unlicense purls: - pkg:pypi/filelock?source=compressed-mapping - 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 + run_exports: {} + size: 78889 + timestamp: 1788940924870 - 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 +11628,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 +11637,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 +11646,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 +11657,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 +11671,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,8 +11683,39 @@ 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/future-1.0.0-pyhd8ed1ab_2.conda + sha256: 45dfd037889b7075c5eb46394f93172de0be0b1624c7f802dd3ecc94b814d8e0 + md5: 1054c53c95d85e35b88143a3eda66373 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/future?source=hash-mapping + run_exports: {} + size: 364561 + timestamp: 1738926525117 +- conda: https://conda.anaconda.org/conda-forge/noarch/glymur-0.14.8-pyhd8ed1ab_0.conda + sha256: c5d934f7c05096ae1e521c75586911606665bb75cdb6c717c15106e4b7e42921 + md5: 8d721109a55c1e78318e415536a4d088 + depends: + - imageio + - lxml + - numpy + - openjpeg >=2.4.0 + - packaging + - python >=3.11 + - setuptools + license: MIT + license_family: MIT + purls: + - pkg:pypi/glymur?source=hash-mapping + run_exports: {} + size: 2732307 + timestamp: 1778711742122 - conda: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.12-pyhcf101f3_0.conda sha256: b81523f123260be965ec9d4998fc2cc22712375baffc6baee8718d32abbfa9b1 md5: ad1c6d3d00cfcf4ad8200a23759503a5 @@ -11304,6 +11726,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 +11740,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 +11755,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 +11767,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 +11785,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,19 +11801,9 @@ 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 - sha256: 521d801b5620e9365a07d00e61be00b3b92ffe1b3ec900a23b98cb103a049f60 - md5: b3f48b389787b514572ccddd67af3ae2 - depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/humanize?source=hash-mapping - size: 72882 - timestamp: 1782906300604 - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 md5: 8e6923fc12f1fe8f8c4e5c9f343256ac @@ -11407,6 +11813,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 +11826,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,21 +11839,24 @@ 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 - sha256: 8ef69fa00c68fad34a3b7b260ea774fda9bd9274fd706d3baffb9519fd0063fe - md5: b5577bc2212219566578fd5af9993af6 +- conda: https://conda.anaconda.org/conda-forge/noarch/imageio-2.37.4-pyh5ded981_0.conda + sha256: 725072b091ccd322e31bfc15b25a85a78a75c23aba74d254e5ea9f1ea3975f61 + md5: 8d928b5d0cb918d9966ab8570ad2a8aa depends: + - python >=3.11 - numpy - pillow >=8.3.2 - - python >=3.9 + - python license: BSD-2-Clause license_family: BSD purls: - - pkg:pypi/imageio?source=hash-mapping - size: 293226 - timestamp: 1738273949742 + - pkg:pypi/imageio?source=compressed-mapping + run_exports: {} + size: 310465 + timestamp: 1788865642221 - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.1-pyhd8ed1ab_0.conda sha256: 4e787f9ccc31053ccea56d98ecd284a4f788988a3f9c4627db72fdd0b127529b md5: ebc56022e4ef7e74a829be94c53797ca @@ -11455,17 +11866,17 @@ 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 - sha256: 4d11d610cb0d7198afd9288cf049c7a92f6b5e31969a85c76d36338b3ddb506e - md5: 747bed6ab76890c9457621b910b1785d +- conda: https://conda.anaconda.org/conda-forge/noarch/import-linter-2.15-pyhd8ed1ab_1.conda + sha256: 4376ba06a1ffe26cd026d7db1c36ab271c681e06ff898b431dbf43ba5e115511 + md5: 3a61908c762e03de0eda711bc5ef66ca depends: - click >=6 - fastapi - - grimp >=3.14 - - nox - - python >=3.10 + - grimp >=3.17 + - python >=3.11 - rich >=14.2.0 - tomli >=1.2.1 - typing-extensions >=3.10.0.0 @@ -11475,21 +11886,9 @@ packages: license_family: BSD purls: - pkg:pypi/import-linter?source=hash-mapping - 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 + run_exports: {} + size: 548470 + timestamp: 1788705726507 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda sha256: 95a074a7d3f58b3494c068d4789c364dcb591c56b70ca6b12f149a540f9aeea4 md5: 77ec68e0aa61c3fff9ecbf840f93d64e @@ -11501,6 +11900,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 +11912,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 +11927,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 +11939,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,6 +11951,7 @@ 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 @@ -11575,6 +11979,7 @@ packages: license_family: BSD purls: - pkg:pypi/ipykernel?source=hash-mapping + run_exports: {} size: 138635 timestamp: 1781101665847 - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.17.1-pyh53cf698_0.conda @@ -11598,6 +12003,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 +12016,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 +12029,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 +12043,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 +12056,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 +12070,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 +12082,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 +12095,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 +12108,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 +12125,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,6 +12139,7 @@ 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 @@ -11742,27 +12158,9 @@ packages: license_family: BSD purls: - pkg:pypi/jupyter-client?source=compressed-mapping + run_exports: {} 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 @@ -11779,6 +12177,7 @@ packages: license_family: BSD purls: - pkg:pypi/jupyter-core?source=hash-mapping + run_exports: {} size: 65503 timestamp: 1760643864586 - conda: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.5-pyhd8ed1ab_0.conda @@ -11791,20 +12190,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,8 +12204,28 @@ 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/lmfit-1.3.4-pyhd8ed1ab_0.conda + sha256: f1b5a1aa7ea6e528967b111e187c6d8b00219c53ecb0b6d6842cd16c688eeea3 + md5: f8cdc37d08f88f8cd64f1252ecb6a7a9 + depends: + - asteval >=1.0.0 + - dill >=0.3.4 + - numpy >=1.19 + - pip + - python >=3.9 + - scipy >=1.6 + - setuptools + - uncertainties >=3.2.1 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lmfit?source=hash-mapping + run_exports: {} + size: 86583 + timestamp: 1753035921043 - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 sha256: 9afe0b5cfa418e8bdb30d8917c5a6cec10372b037924916f1f85b9f4899a67a6 md5: 91e27ef3d05cc772ce627e51cff111c4 @@ -11827,6 +12235,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 +12250,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 +12263,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 +12276,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 +12289,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 +12301,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 +12318,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 +12330,22 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/noarch/mplcursors-0.7.1-pyhd8ed1ab_0.conda + sha256: d9b9fa8fa5e041769b30bb7ee0602224592f07e48ae438226ab95a219a421d7a + md5: 41a82001587266bb637c0577bc3b0f87 depends: + - matplotlib-base >3.1 - python >=3.10 - - numpy >=1.9.0 - - msgpack-python >=0.5.2 - - python - license: BSD-3-Clause - license_family: BSD + license: MIT + license_family: MIT purls: - - pkg:pypi/msgpack-numpy?source=hash-mapping - size: 14436 - timestamp: 1767289592471 + - pkg:pypi/mplcursors?source=hash-mapping + run_exports: {} + size: 25931 + timestamp: 1773921180678 - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 md5: 37293a85a0f4f77bbd9cf7aaefc62609 @@ -11940,6 +12355,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,20 +12373,22 @@ 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 - sha256: e48d972fae8e32ca43eefd1a9649afa3a82b4dda5fe12caa441f0bc9e8d1938d - md5: 0117bf65e45c951a9b0004172cfaeef6 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.26.0-pyh5ded981_0.conda + sha256: 54b91bd1aa1687b92f9e2fa5169bbf9f2bc1c428179109dd9e9fcc6b2e8c9479 + md5: afb7146667be7c8121f5f8337be60680 depends: - - python >=3.10 + - python >=3.11 - python license: MIT license_family: MIT purls: - pkg:pypi/narwhals?source=compressed-mapping - size: 293989 - timestamp: 1787261063562 + run_exports: {} + size: 296900 + timestamp: 1788964134075 - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 md5: fcd832bfd4749e9b246112b6894f97fc @@ -11981,6 +12399,7 @@ packages: license_family: BSD purls: - pkg:pypi/nest-asyncio2?source=hash-mapping + run_exports: {} size: 15903 timestamp: 1770973502283 - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda @@ -11998,8 +12417,59 @@ 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/nexpy-2.0.3-pyhd8ed1ab_0.conda + sha256: bf3d6a01b10e4c7e9179e08996f4655a9444e0e4991aa07da2e5dbcd1eac1dc1 + md5: 1ee351e307da9bf8e31f1a1a97c74f6d + depends: + - ansi2html + - darkdetect + - dateparser + - fabio + - h5py + - ipython + - lmfit + - matplotlib-base + - mplcursors + - nexusformat >=2.0.3 + - numpy + - packaging + - pillow + - pygments + - pylatexenc + - python >=3.11 + - qtconsole-base + - qtpy + - scipy + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/nexpy?source=hash-mapping + run_exports: {} + size: 570790 + timestamp: 1788552544187 +- conda: https://conda.anaconda.org/conda-forge/noarch/nexusformat-2.0.3-pyhd8ed1ab_0.conda + sha256: 72020bf9cedfb0ded1a5bfa809a48267b338bb4a5564e7bd3f1a84504a9b7082 + md5: 3e041c5829b9861ec888b7e5af2185ff + depends: + - colored + - h5py + - hdf5plugin + - numpy + - packaging + - pygments + - python >=3.10 + - python-dateutil + - scipy + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/nexusformat?source=hash-mapping + run_exports: {} + size: 1017174 + timestamp: 1786246261637 - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda sha256: 4fa40e3e13fc6ea0a93f67dfc76c96190afd7ea4ffc1bac2612d954b42cdc3ee md5: eb52d14a901e23c39e9e7b4a1a5c015f @@ -12010,6 +12480,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,90 +12491,9 @@ 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 - sha256: 003585c6ed50de726ba1792ccb0a5d24fc707207fe68f6e25921063a7dbbed02 - md5: 926d830563ac0f8386cef1cfbc6196ea - depends: - - python >=3.10 - - argcomplete >=1.9.4,<4.0 - - attrs >=24.1 - - colorlog >=2.6.1,<7.0.0 - - dependency-groups >=1.1 - - humanize >=4 - - packaging >=22 - - pbs-installer >=2025.1.6 - - tomli >=1.1 - - virtualenv >=20.15 - - importlib_resources - - jinja2 - - tox >=4 - - python - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/nox?source=hash-mapping - 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 +12504,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 +12517,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,21 +12531,9 @@ 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 - sha256: 0475bbda338be9c443199c98e938c9574f3e2756d097efe7840792cad0c5f9a0 - md5: 9d44ff8ef4498f98a530e9ea0ed3fac5 - depends: - - httpx - - python >=3.11 - - zstandard - license: MIT - license_family: MIT - purls: - - pkg:pypi/pbs-installer?source=compressed-mapping - size: 71847 - timestamp: 1788321853258 - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a md5: d0d408b1f18883a944376da5cf8101ea @@ -12174,29 +12543,26 @@ 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 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda + sha256: c205bae42eb11b364fe3663a817cbcbc20a8ef544c6b2ff6f391013487117259 + md5: 77b6cf3b0689d9fc68561df0db9b856d 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 + - python >=3.10,<3.13.0a0 + - setuptools + - wheel + license: MIT + license_family: MIT 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 + - pkg:pypi/pip?source=hash-mapping + run_exports: {} + size: 1199593 + timestamp: 1785914492234 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.8-pyh5ded981_0.conda + sha256: 8cbae1fed8437e63c9bcc691927402edb3809fccb26b15eb095df7dd2eb73e5f + md5: 48e9ecf08b0578a4313f13b2e2b0fd72 depends: - python >=3.11 - python @@ -12204,8 +12570,9 @@ packages: license_family: MIT purls: - pkg:pypi/platformdirs?source=compressed-mapping - size: 27515 - timestamp: 1788271419073 + run_exports: {} + size: 27718 + timestamp: 1788959137036 - conda: https://conda.anaconda.org/conda-forge/noarch/plotext-5.3.2-pyhff2d567_0.conda sha256: b3fd4a4526ce0bd0d24c287d54f56fa8caaa3f7190163421db031de07b422c9f md5: 9e160af9c896f5dccd43815a226a26c8 @@ -12215,6 +12582,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 +12595,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 +12612,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 +12624,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 +12639,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 +12650,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 +12662,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 +12675,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 +12688,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 +12705,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 +12727,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 +12742,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,8 +12755,21 @@ 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/pylatexenc-2.11-pyhd8ed1ab_0.conda + sha256: 1634b3111d62f6eee40ebc54b12d8d9f08234da06ecef53c310addceb648a1d6 + md5: 7143d986bdc488704883b9a669465fea + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pylatexenc?source=hash-mapping + run_exports: {} + size: 106134 + timestamp: 1785940619071 - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 @@ -12398,25 +12780,12 @@ 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 - sha256: 5b01643c64f8ac5d4e468f337118965c34aaaddc30c58ab1160ffeba4b7c43ee - md5: f1c72f0791e4ce833499cebb9c979a09 - depends: - - python >=3.10 - - packaging >=25 - - tomli >=2.3 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyproject-api?source=hash-mapping - size: 26725 - timestamp: 1784658382151 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - sha256: 065ac44591da9abf1ff740feb25929554b920b00d09287a551fcced2c9791092 - md5: d4582021af437c931d7d77ec39007845 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + sha256: 065ac44591da9abf1ff740feb25929554b920b00d09287a551fcced2c9791092 + md5: d4582021af437c931d7d77ec39007845 depends: - python >=3.9 - tomli >=1.1.0 @@ -12424,6 +12793,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 +12806,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 +12828,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 +12844,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 +12860,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 +12873,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 +12886,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 +12906,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 +12920,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 +12934,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 +12947,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 +12958,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 +12969,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 +12980,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 +12996,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 +13009,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 +13021,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 +13033,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 +13045,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,8 +13058,29 @@ 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/qtconsole-base-5.7.2-pyha770c72_0.conda + sha256: 45dfcd222fc03cff4b68b666272bfb106b83307bedab65640d1ce4a27ecd6e60 + md5: adc01873b0ddaa51e92ce8014a7ebb21 + depends: + - ipykernel >=4.1 + - ipython_pygments_lexers + - jupyter_client >=4.1 + - jupyter_core + - packaging + - pygments + - python >=3.9 + - qtpy >=2.4.0 + - traitlets + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/qtconsole?source=hash-mapping + run_exports: {} + size: 103142 + timestamp: 1774450507445 - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.3-pyhd8ed1ab_1.conda sha256: b17dd9d2ee7a4f60fb13712883cd2664aa1339df4b29eb7ae0f4423b31778b00 md5: b49c000df5aca26d36b3f078ba85e03a @@ -12682,6 +13091,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 +13105,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 +13119,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 +13132,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 +13148,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 +13167,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,13 +13183,14 @@ 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 - sha256: 104fbf62487954552edb19ee8706a0d2c9383ff1e1e16ab31c6947d20d34a862 - md5: 3296ee717391681ab734f0a01c89ac85 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-toolkit-0.20.5-pyh5ded981_0.conda + sha256: 8dc8ab4e4760cba09fb3007051da8ea8ded3be3e7dc951cd4d9eef52e24a68d9 + md5: 99a9e4928b8fa7aa7aef2b568784e1a3 depends: - - python >=3.10 + - python >=3.11 - rich >=13.7.1 - click >=8.1.7 - typing_extensions >=4.12.2 @@ -12782,9 +13198,10 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/rich-toolkit?source=hash-mapping - size: 34824 - timestamp: 1784024058693 + - pkg:pypi/rich-toolkit?source=compressed-mapping + run_exports: {} + size: 37486 + timestamp: 1788918484806 - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda sha256: 30f3c04fcfb64c44d821d392a4a0b8915650dbd900c8befc20ade8fde8ec6aa2 md5: 0dc48b4b570931adc8641e55c6c17fe4 @@ -12793,6 +13210,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 +13223,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,8 +13235,27 @@ 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/setuptools-scm-10.2.3-pyh5ded981_0.conda + sha256: cbb240e92689692f03de519f2bb4e565aca4ae2203ddae1ea10544389b257fa5 + md5: 0191420c6b62796bfb7081a40f3d0873 + depends: + - python >=3.11 + - vcs_versioning >=2.3.2.dev0,<3 + - packaging >=20 + - setuptools + - tomli >=1 + - typing_extensions >=4.1 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/setuptools-scm?source=hash-mapping + run_exports: {} + size: 29794 + timestamp: 1788451083485 - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda sha256: 1d6534df8e7924d9087bd388fbac5bd868c5bf8971c36885f9f016da0657d22b md5: 83ea3a2ddb7a75c1b09cea582aa4f106 @@ -12827,6 +13265,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 +13278,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 +13290,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 +13302,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 +13314,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 +13329,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 +13358,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 +13387,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 +13400,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 +13413,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 +13426,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 +13438,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 +13451,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 +13464,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 +13479,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 +13493,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,11 +13508,12 @@ 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 - sha256: 696e06d1a1b25be8fa80fb8318c94cf9a6e81fe8bdf797a08d8f23d0a6ece58e - md5: c4972a8c42e9251d893dab657ed35f1c +- conda: https://conda.anaconda.org/conda-forge/noarch/strawberry-graphql-0.327.7-pyh5ded981_0.conda + sha256: 4b28afe17236228c447f3fea4f3a30f36af14d6159dcf5ab1255bde8d44f686e + md5: c7466cfc2f4b505ce40a737205d43f87 depends: - python >=3.11 - cross-web >=0.6.0 @@ -13069,10 +13524,12 @@ packages: - wheel - python license: MIT + license_family: MIT purls: - - pkg:pypi/strawberry-graphql?source=compressed-mapping - size: 231169 - timestamp: 1788441807648 + - pkg:pypi/strawberry-graphql?source=hash-mapping + run_exports: {} + size: 231408 + timestamp: 1788820616080 - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda sha256: 6b549360f687ee4d11bf85a6d6a276a30f9333df1857adb0fe785f0f8e9bcd60 md5: f88bb644823094f436792f80fba3207e @@ -13083,6 +13540,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 +13553,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 +13576,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 +13590,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 +13602,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,15 +13618,15 @@ 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 - sha256: 33a218d81cb1891c4d736fef7a907025f77e38883ef359ff91f117df2d68b7f2 - md5: 18e7a385a8427c70be15793090598063 +- conda: https://conda.anaconda.org/conda-forge/noarch/tifffile-2026.9.9-pyhc364b38_0.conda + sha256: ad13311ea85d64981db22ff23e82f7999381ad8b43ab8c5f1524aa3c26bca929 + md5: 9b0cb9d7d877856faf457a007484f08e depends: - python >=3.12 - numpy >=2.1 - - imagecodecs >=2026.5.10 - python constrains: - matplotlib-base >=3.3 @@ -13172,8 +13634,9 @@ packages: license_family: BSD purls: - pkg:pypi/tifffile?source=compressed-mapping - size: 231923 - timestamp: 1787572590018 + run_exports: {} + size: 231554 + timestamp: 1788948751881 - conda: https://conda.anaconda.org/conda-forge/noarch/tiled-base-0.2.18-pyhd8ed1ab_0.conda sha256: a8e64a0ef48d8b294598be0688c256a56b39a9e10fbdcbc8dc616d73b8788f5c md5: e534709b9e774bea39cf9abb97e4cbb6 @@ -13203,8 +13666,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 +13685,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 +13730,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,19 +13745,9 @@ 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 - sha256: 304834f2438017921d69f05b3f5a6394b42dc89a90a6128a46acbf8160d377f6 - md5: 32e37e8fe9ef45c637ee38ad51377769 - depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/tomli-w?source=hash-mapping - size: 12680 - timestamp: 1736962345843 - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda sha256: 4e379e1c18befb134247f56021fdf18e112fb35e64dd1691858b0a0f3bea9a45 md5: c07a6153f8306e45794774cf9b13bd32 @@ -13298,49 +13757,9 @@ 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 - sha256: c6dc791b52b9b9727c066e1a684faa9d68547a0f0aef43afdaa30d303f115bbe - md5: de877182a4414943b2c1f9ff6e886fe0 - depends: - - cachetools >=7.0.3 - - colorama >=0.4.6 - - filelock >=3.25 - - packaging >=26 - - platformdirs >=4.9.4 - - pluggy >=1.6 - - pyproject-api >=1.10 - - python >=3.10 - - python-discovery >=1.4.4 - - tomli >=2.4 - - tomli-w >=1.2 - - typing_extensions >=4.15 - - virtualenv >=21.1 - - python - constrains: - - argcomplete >=3.6.3 - license: MIT - license_family: MIT - purls: - - pkg:pypi/tox?source=hash-mapping - 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 +13770,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 +13786,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 +13797,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 +13811,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 +13824,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 +13832,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 +13846,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,8 +13858,23 @@ 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/uncertainties-3.2.3-pyhd8ed1ab_0.conda + sha256: 6bee1d370931b1ef4105635c66fa9e2350c1d180e22de0ba031810752a20762b + md5: 0ef430c64b59f8e67b0f668e26df2d00 + depends: + - future + - numpy + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/uncertainties?source=hash-mapping + run_exports: {} + size: 56653 + timestamp: 1745274434534 - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 md5: cbb88288f74dbe6ada1c6c7d0a97223e @@ -13447,6 +13888,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 +13905,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,11 +13923,27 @@ 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 - sha256: 872d21e6ff3613d7071070e3cc56eb30504c6fdad702ac80913c6e62e28c9025 - md5: c99437728662f804a7622e2624bfc2df +- conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.3.4-pyh5ded981_0.conda + sha256: 5ae074d3d15d9a7654b7d7709dd006fbc916c00eaf1081773d0da4c3fed1fa79 + md5: 935abb1ac9af6257ea25aab6b667353a + depends: + - python >=3.11 + - packaging >=26.2 + - typing_extensions >=4.1 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/vcs-versioning?source=compressed-mapping + run_exports: {} + size: 89186 + timestamp: 1788463774792 +- conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.7.9-pyh5ded981_0.conda + sha256: ca02653d02c45de60dec25400d0a11f2edc07a3dd191e7e1f5c3b4a454e27c8b + md5: 861471c1a801f8ee06568ffb6ec26cb7 depends: - python >=3.11 - distlib >=0.3.7,<1 @@ -13497,8 +13956,9 @@ packages: license_family: MIT purls: - pkg:pypi/virtualenv?source=compressed-mapping - size: 3895299 - timestamp: 1788296993944 + run_exports: {} + size: 3895514 + timestamp: 1788948703859 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.3-pyhcf101f3_0.conda sha256: 3b0599d59d70bbe792702d1b5404ac501c9c25bd7b2fd9ccbb5da8ad6587a703 md5: f62991f907a9830ab003b12d07dd3478 @@ -13509,6 +13969,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 +13982,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 +14021,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 +14046,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 +14068,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 +14090,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 +14102,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 +14115,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 +14163,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#9c4c762d6c333f7907084f109ffc4c1ce0af7da8 +- pypi: git+https://github.com/bluesky/bluesky?rev=main#b3361f5c2cbebb06232684b404a7572a755ae897 + name: bluesky + version: 1.15.2.dev156+gb3361f5c2 + 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>=0.13.5 ; 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#d148390b321cd2d711d5de72ab07d2616c26ee39 name: ophyd-async - version: 0.1.dev1040+g9c4c762d6 + version: 0.1.dev1049+gd148390b3 requires_dist: - numpy - bluesky>=1.13.1rc2 @@ -13716,43 +14274,70 @@ packages: - pyqt6 ; extra == 'demo' - pytest ; extra == 'demo' requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - name: pyparsing - version: 3.3.2 - sha256: 850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d - requires_dist: - - railroad-diagrams ; extra == 'diagrams' - - jinja2 ; extra == 'diagrams' +- 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/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/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/08/0f/0daf459b604f61253b914b28f0e6dd16cdc8a7aa962cf901e482f5cbba67/pymongo-4.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: pymongo - version: 4.17.0 - sha256: faf03e4c2aafd6de626dbd30ba246d369ae33f47f10629d1bbe40f72115027a6 + version: 4.18.1 + sha256: 55309ea9f6d8f697618f12f1ea2b643f26df434de043cd5de6f96426093011b3 requires_dist: - - dnspython>=2.6.1,<3.0.0 - - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' + - 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>=2020.9.1 ; extra == 'docs' - - sphinx-rtd-theme>=2,<4 ; 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,<2 ; 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.1.0,<2.0.0 ; extra == 'encryption' - - pymongocrypt>=1.13.0,<2.0.0 ; 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.5.0 ; 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>=42.0.0 ; extra == 'ocsp' - - pyopenssl>=23.2.0 ; extra == 'ocsp' + - cryptography>=47.0.0 ; extra == 'ocsp' + - pyopenssl>=26.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' + - 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/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/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl + name: pyparsing + version: 3.3.2 + sha256: 850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d + requires_dist: + - railroad-diagrams ; extra == 'diagrams' + - jinja2 ; extra == 'diagrams' + 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 @@ -13875,94 +14460,10 @@ packages: - trio>=0.18.0 ; extra == 'test' - trio>=0.12.1 ; extra == 'test' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl - name: pyolog - version: 4.5.1 - sha256: 531a37c3f4c064d8108ad4a2216874d600fe133a07951e0a825e1dfe950de88a -- pypi: https://files.pythonhosted.org/packages/24/ea/65cec46fe241390ccea1b1754207ee28eb71c5ab866bd5f22fe47e538fa4/matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: matplotlib - version: 3.11.1 - sha256: b0a19dcf73406d3746d25a5ed42d713604c9a3e024d129b102852b0d941cb9f3 - requires_dist: - - contourpy>=1.0.1 - - cycler>=0.10 - - fonttools>=4.28.2 - - kiwisolver>=1.3.1 - - numpy>=1.25 - - packaging>=20.0 - - pillow>=9 - - pyparsing>=3 - - python-dateutil>=2.7 - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl - name: setuptools-dso - version: 2.12.4 - sha256: fce70c8b6fb58f1ba609e455355776ddaa53363b84d1b7f0ec2c820e63544033 - requires_dist: - - setuptools - requires_python: '>=2.7' -- pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl - name: flexcache - version: '0.3' - sha256: d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32 - requires_dist: - - typing-extensions - - pytest ; extra == 'test' - - pytest-mpl ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-subtests ; extra == 'test' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/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 - sha256: 40ac1e9955acf116c4d995d9bfa082d86ad9ec6d91c4f134827cf5e0a5eb75e0 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl - name: widgetsnbextension - version: 4.0.16 - sha256: a31a8774885b96fe825462f5d6496166f0c7cae111195b6465c801d230eb5a4e - requires_python: '>=3.7' -- 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 - sha256: 1a8389e834db03c6b341d21d84cb5456be039ea04cac3be3b2f68c8b5d41cd92 - requires_dist: - - 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/40/79/5be34236697e8fabbed5534a67100b9d9d11c210de55ba3ba2590d7d7634/confluent_kafka-2.15.0-cp313-cp313-manylinux_2_28_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/22/43/de7ba18948792e128a86236ed5c5d6e4bab6c5bfc2be1b003880afa6dcbb/confluent_kafka-2.15.1-cp311-cp311-manylinux_2_28_x86_64.whl name: confluent-kafka - version: 2.15.0 - sha256: 0455754e8294e1e76cb5acc083c300b6bd8d88f2d2c551c583cbf4ab55889a57 + version: 2.15.1 + sha256: 44b849e0b375ff4c7a2e5e7af27a48d808933b53f3a8bf8e84b5c81eef9463ec requires_dist: - typing-extensions ; python_full_version < '3.11' - attrs>=21.2.0 ; extra == 'schemaregistry' @@ -13987,7 +14488,7 @@ packages: - hvac ; extra == 'rules' - jsonata-python ; extra == 'rules' - pyyaml>=6.0.0 ; extra == 'rules' - - tink ; extra == 'rules' + - tink[gcpkms] ; extra == 'rules' - attrs>=21.2.0 ; extra == 'rules' - cachetools>=5.5.0 ; extra == 'rules' - certifi ; extra == 'rules' @@ -14054,7 +14555,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - urllib3<3 ; extra == 'dev' - flake8 ; extra == 'dev' - mypy ; extra == 'dev' @@ -14088,7 +14589,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'dev' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'dev' - requests ; extra == 'dev' @@ -14118,7 +14619,7 @@ packages: - hvac ; extra == 'docs' - jsonata-python ; extra == 'docs' - pyyaml>=6.0.0 ; extra == 'docs' - - tink ; extra == 'docs' + - tink[gcpkms] ; extra == 'docs' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'docs' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'docs' - requests ; extra == 'docs' @@ -14159,7 +14660,7 @@ packages: - hvac ; extra == 'tests' - jsonata-python ; extra == 'tests' - pyyaml>=6.0.0 ; extra == 'tests' - - tink ; extra == 'tests' + - tink[gcpkms] ; extra == 'tests' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'tests' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'tests' - requests ; extra == 'tests' @@ -14195,7 +14696,7 @@ packages: - hvac ; extra == 'examples' - jsonata-python ; extra == 'examples' - pyyaml>=6.0.0 ; extra == 'examples' - - tink ; extra == 'examples' + - tink[gcpkms] ; extra == 'examples' - psutil ; extra == 'soaktest' - opentelemetry-distro ; extra == 'soaktest' - opentelemetry-exporter-otlp ; extra == 'soaktest' @@ -14233,7 +14734,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - urllib3<3 ; extra == 'all' - flake8 ; extra == 'all' - mypy ; extra == 'all' @@ -14267,7 +14768,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'all' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'all' - requests ; extra == 'all' @@ -14277,139 +14778,44 @@ packages: - protobuf ; extra == 'all' - boto3>=1.42.25 ; extra == 'all' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl - name: ldap3 - version: 2.9.1 - sha256: 5869596fc4948797020d3f03b7939da938778a0f9e2009f7a072ccf92b8e8d70 - requires_dist: - - pyasn1>=0.4.6 -- pypi: https://files.pythonhosted.org/packages/4f/7b/55f41ec7746713db21aff5e794fc98b5a2e4c40fc72d69f6a1cdb04df360/epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl - name: epicscorelibs - version: 7.0.10.99.0.1 - sha256: b7b9cb9dc1b533f6bb569dffe246256ba4d553a5843ddf494645c9b33a38ba2a +- pypi: https://files.pythonhosted.org/packages/23/ef/3b82c9a5c6fe4bcc7ebafbc4a06efe4f631929441bddd5d53541434fb941/pyOlog-4.5.1-py3-none-any.whl + name: pyolog + version: 4.5.1 + sha256: 531a37c3f4c064d8108ad4a2216874d600fe133a07951e0a825e1dfe950de88a +- pypi: https://files.pythonhosted.org/packages/26/c2/2ec71837ac862d823de280e72c245686b37de6dde0a18a02c9c18f589c39/setuptools_dso-2.12.4-py2.py3-none-any.whl + name: setuptools-dso + version: 2.12.4 + sha256: fce70c8b6fb58f1ba609e455355776ddaa53363b84d1b7f0ec2c820e63544033 requires_dist: - setuptools - - setuptools-dso>=2.11a2 - - numpy requires_python: '>=2.7' -- pypi: https://files.pythonhosted.org/packages/51/89/da0f32b679b8769dd472eb2927308d328bf75c296629fd9f95135afacd0a/aioca-2.1-py3-none-any.whl - name: aioca - version: '2.1' - sha256: df0f062b81a4846d3e5705f0bfaf7bee9f876009302cf3b06ada93d6f5153b6f - requires_dist: - - numpy - - epicscorelibs>=7.0.3.99.4.0 - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: pycryptodome - version: 3.23.0 - sha256: c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' -- pypi: https://files.pythonhosted.org/packages/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-py3-none-any.whl - name: nose2 - version: 0.16.0 - sha256: a637c508b1fff5882c5f0f573226abe6f43b2f8005fef8896f57174d7d0e0c31 +- 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: - - coverage ; extra == 'coverage-plugin' - - sphinx ; extra == 'dev' - - sphinx-issues ; extra == 'dev' - - sphinx-rtd-theme ; extra == 'dev' + - 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/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl - name: comm - version: 0.2.3 - sha256: c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417 +- pypi: https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl + name: flexcache + version: '0.3' + sha256: d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32 requires_dist: + - typing-extensions - pytest ; extra == 'test' - requires_python: '>=3.8' -- 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 - name: ruamel-yaml-clib - version: 0.2.15 - sha256: 11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9 + - pytest-mpl ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-subtests ; extra == 'test' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/68/b9/f44b139096467996b4d85589d9880fd55f0c80a204d298a1b73d0adc2654/scanspec-1.0.0-py3-none-any.whl - name: scanspec - version: 1.0.0 - sha256: 4ad6dccd6ac19dbd8af888c80c5db53c70d6b8aee9d26c0ca174cebd3c396730 - requires_dist: - - numpy - - click>=8.1 - - pydantic>=2.0 - - scipy ; extra == 'plotting' - - matplotlib ; extra == 'plotting' - - fastapi>=0.100.0 ; extra == 'service' - - uvicorn ; extra == 'service' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/72/89/0265b2b79424ed05b8d1e9c8fca71e1b150478e5b0c19aa50b0ae397326e/velocity_profile-1.0.0-py3-none-any.whl - name: velocity-profile - version: 1.0.0 - sha256: b9082aedb2863748e1e6e56e7a794cd5742addd571f6ba2e13f4f5b8a09422d9 - requires_dist: - - numpy - - copier ; extra == 'dev' - - mypy ; extra == 'dev' - - pipdeptree ; extra == 'dev' - - pre-commit ; extra == 'dev' - - pytest ; extra == 'dev' - - pytest-cov ; extra == 'dev' - - ruff ; extra == 'dev' - - tox-direct ; extra == 'dev' - - types-mock ; extra == 'dev' - - scanspec ; extra == 'dev' - - pydantic<2.0 ; extra == 'dev' - requires_python: '>=3.7' -- 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 - sha256: 2c42237b7e8c6813643e57d3efed3be094d4c06339dc2166b626e2cc5c12ee93 - requires_dist: - - lxml>=4.0 ; extra == 'lxml' - - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'woff' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' - - zopfli>=0.1.4 ; extra == 'woff' - - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'unicode' - - lz4>=1.7.4.2 ; extra == 'graphite' - - scipy ; platform_python_implementation != 'PyPy' and extra == 'interpolatable' - - munkres ; platform_python_implementation == 'PyPy' and extra == 'interpolatable' - - pycairo ; extra == 'interpolatable' - - matplotlib ; extra == 'plot' - - sympy ; extra == 'symfont' - - xattr ; sys_platform == 'darwin' and extra == 'type1' - - skia-pathops>=0.5.0 ; extra == 'pathops' - - uharfbuzz>=0.45.0 ; extra == 'repacker' - - lxml>=4.0 ; extra == 'all' - - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'all' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'all' - - zopfli>=0.1.4 ; extra == 'all' - - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'all' - - lz4>=1.7.4.2 ; extra == 'all' - - scipy ; platform_python_implementation != 'PyPy' and extra == 'all' - - munkres ; platform_python_implementation == 'PyPy' and extra == 'all' - - pycairo ; extra == 'all' - - matplotlib ; extra == 'all' - - sympy ; extra == 'all' - - xattr ; sys_platform == 'darwin' and extra == 'all' - - skia-pathops>=0.5.0 ; extra == 'all' - - uharfbuzz>=0.45.0 ; extra == 'all' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/7c/aa/3b0faa7eea6a2957af7ee116f08b5edd99eff7e7461e22ac613b0a8d38ea/epicscorelibs-7.0.10.99.0.1-cp313-cp313-manylinux2014_x86_64.whl - name: epicscorelibs - version: 7.0.10.99.0.1 - sha256: 8ac0a67067d06c42d4ac83b685f8020d4e993858bc4e36d58631983b1117aa39 - requires_dist: - - setuptools - - setuptools-dso>=2.11a2 - - numpy - requires_python: '>=2.7' -- 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 - sha256: 95a02752aa032eef4aed01cda6d9b687c669bd0396bf4519eef8bba22a286720 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/8b/2e/9f80cae9dd7b4852b8a24f9f91001916b987a2ba359e9f077c43ca41d5da/confluent_kafka-2.15.0-cp312-cp312-manylinux_2_28_x86_64.whl - name: confluent-kafka - version: 2.15.0 - sha256: fd833dab1392f456b9dd52b7ed9ac65b2cc36871ed5e3ebe8d53486c965b6453 +- pypi: https://files.pythonhosted.org/packages/2e/43/102114edc44314b669904ce51f1473137b2830bf4862dfc6d2b1ad3fcf91/confluent_kafka-2.15.1-cp313-cp313-manylinux_2_28_x86_64.whl + name: confluent-kafka + version: 2.15.1 + sha256: 4d81bff7c1f169ee674423a0f493a4cde2452d3c352e25d419023fc6133e8316 requires_dist: - typing-extensions ; python_full_version < '3.11' - attrs>=21.2.0 ; extra == 'schemaregistry' @@ -14434,7 +14840,7 @@ packages: - hvac ; extra == 'rules' - jsonata-python ; extra == 'rules' - pyyaml>=6.0.0 ; extra == 'rules' - - tink ; extra == 'rules' + - tink[gcpkms] ; extra == 'rules' - attrs>=21.2.0 ; extra == 'rules' - cachetools>=5.5.0 ; extra == 'rules' - certifi ; extra == 'rules' @@ -14501,7 +14907,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - urllib3<3 ; extra == 'dev' - flake8 ; extra == 'dev' - mypy ; extra == 'dev' @@ -14535,7 +14941,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'dev' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'dev' - requests ; extra == 'dev' @@ -14565,7 +14971,7 @@ packages: - hvac ; extra == 'docs' - jsonata-python ; extra == 'docs' - pyyaml>=6.0.0 ; extra == 'docs' - - tink ; extra == 'docs' + - tink[gcpkms] ; extra == 'docs' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'docs' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'docs' - requests ; extra == 'docs' @@ -14606,7 +15012,7 @@ packages: - hvac ; extra == 'tests' - jsonata-python ; extra == 'tests' - pyyaml>=6.0.0 ; extra == 'tests' - - tink ; extra == 'tests' + - tink[gcpkms] ; extra == 'tests' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'tests' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'tests' - requests ; extra == 'tests' @@ -14642,7 +15048,7 @@ packages: - hvac ; extra == 'examples' - jsonata-python ; extra == 'examples' - pyyaml>=6.0.0 ; extra == 'examples' - - tink ; extra == 'examples' + - tink[gcpkms] ; extra == 'examples' - psutil ; extra == 'soaktest' - opentelemetry-distro ; extra == 'soaktest' - opentelemetry-exporter-otlp ; extra == 'soaktest' @@ -14680,7 +15086,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - urllib3<3 ; extra == 'all' - flake8 ; extra == 'all' - mypy ; extra == 'all' @@ -14714,7 +15120,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'all' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'all' - requests ; extra == 'all' @@ -14724,6 +15130,431 @@ packages: - protobuf ; extra == 'all' - boto3>=1.42.25 ; extra == 'all' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/2e/a4/1ca765c63a60e3096ae2ad132eb25f6f7eab0377418cd0472808befd9665/matplotlib-3.11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: matplotlib + version: 3.11.2 + sha256: 07d9b9fa60cd4c393692f50d0bb03123242ddf61c99bb0e95e75feb354e7c1a8 + requires_dist: + - contourpy>=1.0.1 + - cycler>=0.10 + - fonttools>=4.28.2 + - kiwisolver>=1.3.1 + - numpy>=1.25 + - packaging>=20.0 + - pillow>=9 + - pyparsing>=3 + - python-dateutil>=2.7 + requires_python: '>=3.11' +- 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 + sha256: 40ac1e9955acf116c4d995d9bfa082d86ad9ec6d91c4f134827cf5e0a5eb75e0 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl + name: widgetsnbextension + 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 + sha256: 1a8389e834db03c6b341d21d84cb5456be039ea04cac3be3b2f68c8b5d41cd92 + requires_dist: + - 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/3f/27/78a89b55b0904d222183164e079b4ca56208e94eff1d35ad1f1ad5be9b06/alembic-1.20.0-py3-none-any.whl + name: alembic + version: 1.20.0 + sha256: 77eb101048d95f982c0353e9233404889dcd7a6fc244c107836c0e2fc9cf7d9d + requires_dist: + - sqlalchemy>=2.0 + - mako + - typing-extensions>=4.12 + - tomli ; python_full_version < '3.11' + - tzdata ; extra == 'tz' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/3f/e1/c1170950f3b87f18f4f54361617cf41be2fe7d56f74e00e05da14dc50cc1/pymongo-4.18.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pymongo + version: 4.18.1 + sha256: bb327d3555ac4fbd0da657ea3741812b3a1e61e4603bd121298381f5ff5ac396 + 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/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 + sha256: 5869596fc4948797020d3f03b7939da938778a0f9e2009f7a072ccf92b8e8d70 + requires_dist: + - pyasn1>=0.4.6 +- pypi: https://files.pythonhosted.org/packages/4f/7b/55f41ec7746713db21aff5e794fc98b5a2e4c40fc72d69f6a1cdb04df360/epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl + name: epicscorelibs + version: 7.0.10.99.0.1 + sha256: b7b9cb9dc1b533f6bb569dffe246256ba4d553a5843ddf494645c9b33a38ba2a + requires_dist: + - setuptools + - 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' + sha256: df0f062b81a4846d3e5705f0bfaf7bee9f876009302cf3b06ada93d6f5153b6f + requires_dist: + - 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/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 + sha256: c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' +- pypi: https://files.pythonhosted.org/packages/60/3b/e93d177001ac3ba3cb2ebed7727442e1ee61990271f2bf39caef63798ead/nose2-0.16.0-py3-none-any.whl + name: nose2 + version: 0.16.0 + sha256: a637c508b1fff5882c5f0f573226abe6f43b2f8005fef8896f57174d7d0e0c31 + requires_dist: + - coverage ; extra == 'coverage-plugin' + - sphinx ; extra == 'dev' + - sphinx-issues ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl + name: comm + version: 0.2.3 + sha256: c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417 + requires_dist: + - pytest ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/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 + name: ruamel-yaml-clib + version: 0.2.15 + sha256: 11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9 + 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 + sha256: 4ad6dccd6ac19dbd8af888c80c5db53c70d6b8aee9d26c0ca174cebd3c396730 + requires_dist: + - numpy + - click>=8.1 + - pydantic>=2.0 + - scipy ; extra == 'plotting' + - matplotlib ; extra == 'plotting' + - fastapi>=0.100.0 ; extra == 'service' + - uvicorn ; extra == 'service' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/6d/5c/9507ea3c732f8a259f45ddf190a741e9bf7d3fe229b5d473917ee6efbf1e/pint-0.26.1-py3-none-any.whl + name: pint + version: 0.26.1 + sha256: e982b129415c09c63308f314ae44697d83e5c96f253bcc0d5b833fc3329eb6d4 + requires_dist: + - flexcache>=0.3 + - flexparser>=0.4 + - platformdirs>=2.1.0 + - typing-extensions>=4.0.0 + - babel<=2.8 ; extra == 'all' + - dask<2025.3.0 ; extra == 'all' + - matplotlib ; extra == 'all' + - numpy>=2.0.0 ; extra == 'all' + - optype[numpy] ; extra == 'all' + - pint-pandas>=0.3 ; extra == 'all' + - scipy ; extra == 'all' + - uncertainties>=3.1.6 ; extra == 'all' + - xarray ; extra == 'all' + - babel<=2.8 ; extra == 'babel' + - pytest ; extra == 'codspeed' + - pytest-benchmark ; extra == 'codspeed' + - pytest-codspeed ; extra == 'codspeed' + - pytest-cov ; extra == 'codspeed' + - pytest-mpl ; extra == 'codspeed' + - pytest-subtests ; extra == 'codspeed' + - dask<2025.3.0 ; extra == 'dask' + - babel ; extra == 'docs' + - commonmark==0.8.1 ; extra == 'docs' + - currencyconverter ; extra == 'docs' + - dask[complete]<2025.3.0 ; extra == 'docs' + - docutils ; extra == 'docs' + - graphviz ; extra == 'docs' + - ipykernel ; extra == 'docs' + - ipython<=8.12 ; extra == 'docs' + - jupyter-client ; extra == 'docs' + - jupyterlite-pyodide-kernel>=0.4 ; extra == 'docs' + - jupyterlite-sphinx>=0.20 ; extra == 'docs' + - matplotlib ; extra == 'docs' + - nbsphinx ; extra == 'docs' + - numba>=0.59 ; extra == 'docs' + - numpy<2.5 ; extra == 'docs' + - optype[numpy] ; extra == 'docs' + - pooch ; extra == 'docs' + - pygments>=2.4 ; extra == 'docs' + - recommonmark==0.5.0 ; extra == 'docs' + - sciform ; extra == 'docs' + - scipy ; extra == 'docs' + - serialize ; extra == 'docs' + - sparse ; extra == 'docs' + - sphinx-book-theme>=1.1.0 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx-design ; extra == 'docs' + - sphinx>=6,<8.2 ; extra == 'docs' + - xarray ; extra == 'docs' + - matplotlib ; extra == 'matplotlib' + - numpy>=2.0.0 ; extra == 'numpy' + - optype[numpy] ; extra == 'optype' + - pint-pandas>=0.3 ; extra == 'pandas' + - scipy ; extra == 'scipy' + - pytest ; extra == 'test' + - pytest-benchmark ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-subtests ; extra == 'test' + - pytest ; extra == 'test-all' + - pytest-benchmark ; extra == 'test-all' + - pytest-cov ; extra == 'test-all' + - pytest-mpl ; extra == 'test-all' + - pytest-subtests ; extra == 'test-all' + - pytest-mpl ; extra == 'test-mpl' + - uncertainties>=3.1.6 ; extra == 'uncertainties' + - xarray ; extra == 'xarray' + requires_python: '>=3.12' +- 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 + sha256: b9082aedb2863748e1e6e56e7a794cd5742addd571f6ba2e13f4f5b8a09422d9 + requires_dist: + - numpy + - copier ; extra == 'dev' + - mypy ; extra == 'dev' + - pipdeptree ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - ruff ; extra == 'dev' + - tox-direct ; extra == 'dev' + - types-mock ; extra == 'dev' + - scanspec ; extra == 'dev' + - pydantic<2.0 ; extra == 'dev' + requires_python: '>=3.7' +- 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/7c/aa/3b0faa7eea6a2957af7ee116f08b5edd99eff7e7461e22ac613b0a8d38ea/epicscorelibs-7.0.10.99.0.1-cp313-cp313-manylinux2014_x86_64.whl + name: epicscorelibs + version: 7.0.10.99.0.1 + sha256: 8ac0a67067d06c42d4ac83b685f8020d4e993858bc4e36d58631983b1117aa39 + requires_dist: + - setuptools + - 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 + sha256: 95a02752aa032eef4aed01cda6d9b687c669bd0396bf4519eef8bba22a286720 + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/90/cb/c13d8a74419dde9590ed6fab293b516f68316ac87d06569b79b5f446d519/pydantic_numpy-8.0.1-py3-none-any.whl name: pydantic-numpy version: 8.0.1 @@ -14735,6 +15566,18 @@ 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/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/9e/9d/872279feea98802a9c3e5f2680cb1b38cd49d7e249cd2220d07a69c7079a/suitcase_mongo-0.7.0-py3-none-any.whl name: suitcase-mongo version: 0.7.0 @@ -14755,15 +15598,100 @@ 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/a1/e6/e48cf0a272a5d4d17a09d44f92727e67f975ddfa94acc8464763d19a654d/fonttools-4.65.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: fonttools + version: 4.65.0 + sha256: a3991732c87b3f054a2a8cf86dd0d602833fa8cb37c911503173771646e1013d + requires_dist: + - lxml>=4.0 ; extra == 'lxml' + - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'woff' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' + - zopfli>=0.1.4 ; extra == 'woff' + - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'unicode' + - lz4>=1.7.4.2 ; extra == 'graphite' + - scipy ; platform_python_implementation != 'PyPy' and extra == 'interpolatable' + - munkres ; platform_python_implementation == 'PyPy' and extra == 'interpolatable' + - pycairo ; extra == 'interpolatable' + - matplotlib ; extra == 'plot' + - sympy ; extra == 'symfont' + - xattr ; sys_platform == 'darwin' and extra == 'type1' + - skia-pathops>=0.5.0 ; extra == 'pathops' + - uharfbuzz>=0.45.0 ; extra == 'repacker' + - lxml>=4.0 ; extra == 'all' + - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'all' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'all' + - zopfli>=0.1.4 ; extra == 'all' + - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'all' + - lz4>=1.7.4.2 ; extra == 'all' + - scipy ; platform_python_implementation != 'PyPy' and extra == 'all' + - munkres ; platform_python_implementation == 'PyPy' and extra == 'all' + - pycairo ; extra == 'all' + - matplotlib ; extra == 'all' + - sympy ; extra == 'all' + - xattr ; sys_platform == 'darwin' and extra == 'all' + - skia-pathops>=0.5.0 ; extra == 'all' + - uharfbuzz>=0.45.0 ; extra == 'all' + 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 sha256: 9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746 requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl + name: tqdm + version: 4.70.1 + sha256: c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa73 + 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/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: matplotlib + version: 3.11.2 + sha256: 1944895967f87c84c9b4bad29a707b31f5b36df4a3a2339ea1f8ea3ce5105539 + requires_dist: + - contourpy>=1.0.1 + - cycler>=0.10 + - fonttools>=4.28.2 + - kiwisolver>=1.3.1 + - numpy>=1.25 + - packaging>=20.0 + - pillow>=9 + - pyparsing>=3 + - python-dateutil>=2.7 + requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/aa/ed/3fb20a1a96b8dc645d88c4072df481fe06e0289e4d528ebbdcc044ebc8b3/ruamel_yaml_clib-0.2.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: ruamel-yaml-clib version: 0.2.15 @@ -14795,6 +15723,82 @@ packages: - msgpack-numpy - suitcase-mongo requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/b5/09/de2c0c20a42c18e565a2617932beb08c06697bbdd0d3f62b108262e11583/fonttools-4.65.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: fonttools + version: 4.65.0 + sha256: 05595385ae99f4b9626cebb973bf171b8fe38a8f40708e6e42abba0ed7537778 + requires_dist: + - lxml>=4.0 ; extra == 'lxml' + - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'woff' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' + - zopfli>=0.1.4 ; extra == 'woff' + - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'unicode' + - lz4>=1.7.4.2 ; extra == 'graphite' + - scipy ; platform_python_implementation != 'PyPy' and extra == 'interpolatable' + - munkres ; platform_python_implementation == 'PyPy' and extra == 'interpolatable' + - pycairo ; extra == 'interpolatable' + - matplotlib ; extra == 'plot' + - sympy ; extra == 'symfont' + - xattr ; sys_platform == 'darwin' and extra == 'type1' + - skia-pathops>=0.5.0 ; extra == 'pathops' + - uharfbuzz>=0.45.0 ; extra == 'repacker' + - lxml>=4.0 ; extra == 'all' + - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'all' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'all' + - zopfli>=0.1.4 ; extra == 'all' + - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'all' + - lz4>=1.7.4.2 ; extra == 'all' + - scipy ; platform_python_implementation != 'PyPy' and extra == 'all' + - munkres ; platform_python_implementation == 'PyPy' and extra == 'all' + - pycairo ; extra == 'all' + - matplotlib ; extra == 'all' + - sympy ; extra == 'all' + - xattr ; sys_platform == 'darwin' and extra == 'all' + - skia-pathops>=0.5.0 ; extra == 'all' + - uharfbuzz>=0.45.0 ; extra == 'all' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/b8/90/2b3fd67ee273163faeda6d514be70b5596eaa0fd77b60ffc294ad0b34f5f/matplotlib-3.11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: matplotlib + version: 3.11.2 + sha256: df4f7784aca81a94f254c0a2767d592ee25f407e488f5fa7203e51093fb6ca27 + requires_dist: + - contourpy>=1.0.1 + - cycler>=0.10 + - fonttools>=4.28.2 + - kiwisolver>=1.3.1 + - numpy>=1.25 + - packaging>=20.0 + - pillow>=9 + - pyparsing>=3 + - python-dateutil>=2.7 + requires_python: '>=3.11' +- 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 +15807,70 @@ 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/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,10 +15887,127 @@ packages: - pytest-cov ; extra == 'test' - pytz ; extra == 'test' requires_python: '>=3.7' -- 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/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/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 + sha256: c8de2dec111122a02e8beb28e16c31904992dfd6186560b142a92c71403c1039 + requires_dist: + - numpy<2.0 ; python_full_version < '3.9' + - numpy>=2 ; python_full_version >= '3.9' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl + name: colorlog + version: 6.12.0 + sha256: 30d392604e9110045a2c2aeefc27d7a017abbab63f3a8aee594eac0801df784e + requires_dist: + - colorama ; sys_platform == 'win32' + - black ; extra == 'development' + - flake8 ; extra == 'development' + - mypy ; extra == 'development' + - pytest ; extra == 'development' + - types-colorama ; extra == 'development' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/d7/a3/31112ce258d74be4636e6d1f73717587e19fd311c70477ae807136f3a48c/confluent_kafka-2.15.1-cp312-cp312-manylinux_2_28_x86_64.whl name: confluent-kafka - version: 2.15.0 - sha256: e31bbb5775da23f14264b3e6efd3839c1611a639f3d8c15516350798fe6f2750 + version: 2.15.1 + sha256: 326e237f6b25587d7dc96854e3a1315979843bacbe48d76a50412f12e49328e1 requires_dist: - typing-extensions ; python_full_version < '3.11' - attrs>=21.2.0 ; extra == 'schemaregistry' @@ -14852,7 +16032,7 @@ packages: - hvac ; extra == 'rules' - jsonata-python ; extra == 'rules' - pyyaml>=6.0.0 ; extra == 'rules' - - tink ; extra == 'rules' + - tink[gcpkms] ; extra == 'rules' - attrs>=21.2.0 ; extra == 'rules' - cachetools>=5.5.0 ; extra == 'rules' - certifi ; extra == 'rules' @@ -14919,7 +16099,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - urllib3<3 ; extra == 'dev' - flake8 ; extra == 'dev' - mypy ; extra == 'dev' @@ -14953,7 +16133,7 @@ packages: - hvac ; extra == 'dev' - jsonata-python ; extra == 'dev' - pyyaml>=6.0.0 ; extra == 'dev' - - tink ; extra == 'dev' + - tink[gcpkms] ; extra == 'dev' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'dev' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'dev' - requests ; extra == 'dev' @@ -14983,7 +16163,7 @@ packages: - hvac ; extra == 'docs' - jsonata-python ; extra == 'docs' - pyyaml>=6.0.0 ; extra == 'docs' - - tink ; extra == 'docs' + - tink[gcpkms] ; extra == 'docs' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'docs' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'docs' - requests ; extra == 'docs' @@ -15024,7 +16204,7 @@ packages: - hvac ; extra == 'tests' - jsonata-python ; extra == 'tests' - pyyaml>=6.0.0 ; extra == 'tests' - - tink ; extra == 'tests' + - tink[gcpkms] ; extra == 'tests' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'tests' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'tests' - requests ; extra == 'tests' @@ -15060,7 +16240,7 @@ packages: - hvac ; extra == 'examples' - jsonata-python ; extra == 'examples' - pyyaml>=6.0.0 ; extra == 'examples' - - tink ; extra == 'examples' + - tink[gcpkms] ; extra == 'examples' - psutil ; extra == 'soaktest' - opentelemetry-distro ; extra == 'soaktest' - opentelemetry-exporter-otlp ; extra == 'soaktest' @@ -15098,7 +16278,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - urllib3<3 ; extra == 'all' - flake8 ; extra == 'all' - mypy ; extra == 'all' @@ -15132,7 +16312,7 @@ packages: - hvac ; extra == 'all' - jsonata-python ; extra == 'all' - pyyaml>=6.0.0 ; extra == 'all' - - tink ; extra == 'all' + - tink[gcpkms] ; extra == 'all' - fastavro>=1.5.4,<1.8.0 ; python_full_version == '3.7.*' and extra == 'all' - fastavro>=1.5.4,<2 ; python_full_version >= '3.8' and extra == 'all' - requests ; extra == 'all' @@ -15142,41 +16322,6 @@ packages: - protobuf ; extra == 'all' - boto3>=1.42.25 ; extra == 'all' requires_python: '>=3.8' -- 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 - sha256: ba8f811b8ddfac493734d6af0b2dff96919d0c28ca0d641858dab4262777c6ea - requires_dist: - - contourpy>=1.0.1 - - cycler>=0.10 - - fonttools>=4.28.2 - - kiwisolver>=1.3.1 - - numpy>=1.25 - - packaging>=20.0 - - pillow>=9 - - pyparsing>=3 - - python-dateutil>=2.7 - requires_python: '>=3.11' -- 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 - sha256: c8de2dec111122a02e8beb28e16c31904992dfd6186560b142a92c71403c1039 - requires_dist: - - numpy<2.0 ; python_full_version < '3.9' - - numpy>=2 ; python_full_version >= '3.9' - requires_python: '>=3.6' -- pypi: https://files.pythonhosted.org/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl - name: colorlog - version: 6.12.0 - sha256: 30d392604e9110045a2c2aeefc27d7a017abbab63f3a8aee594eac0801df784e - requires_dist: - - colorama ; sys_platform == 'win32' - - black ; extra == 'development' - - flake8 ; extra == 'development' - - mypy ; extra == 'development' - - pytest ; extra == 'development' - - types-colorama ; extra == 'development' - requires_python: '>=3.6' - pypi: https://files.pythonhosted.org/packages/d9/2c/276d6c0635877af431a7f9108adb834e295bd50eca4a23c3aa17a7cbcb42/pvxslibs-1.5.2-cp311-cp311-manylinux2014_x86_64.whl name: pvxslibs version: 1.5.2 @@ -15185,40 +16330,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/dc/8f/e5f2906ea833d362916c64a2f6b1922a07b19442744fd3cd89563f429bff/fonttools-4.64.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: fonttools - version: 4.64.0 - sha256: 66a83f93579fb3493e458c4449d1d566a7b2a1c7b19915cd0fa3c9b8b5a8540b +- 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: - - lxml>=4.0 ; extra == 'lxml' - - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'woff' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' - - zopfli>=0.1.4 ; extra == 'woff' - - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'unicode' - - lz4>=1.7.4.2 ; extra == 'graphite' - - scipy ; platform_python_implementation != 'PyPy' and extra == 'interpolatable' - - munkres ; platform_python_implementation == 'PyPy' and extra == 'interpolatable' - - pycairo ; extra == 'interpolatable' - - matplotlib ; extra == 'plot' - - sympy ; extra == 'symfont' - - xattr ; sys_platform == 'darwin' and extra == 'type1' - - skia-pathops>=0.5.0 ; extra == 'pathops' - - uharfbuzz>=0.45.0 ; extra == 'repacker' - - lxml>=4.0 ; extra == 'all' - - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'all' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'all' - - zopfli>=0.1.4 ; extra == 'all' - - unicodedata2>=17.0.0 ; python_full_version < '3.15' and extra == 'all' - - lz4>=1.7.4.2 ; extra == 'all' - - scipy ; platform_python_implementation != 'PyPy' and extra == 'all' - - munkres ; platform_python_implementation == 'PyPy' and extra == 'all' - - pycairo ; extra == 'all' - - matplotlib ; extra == 'all' - - sympy ; extra == 'all' - - xattr ; sys_platform == 'darwin' and extra == 'all' - - skia-pathops>=0.5.0 ; extra == 'all' - - uharfbuzz>=0.45.0 ; extra == 'all' - requires_python: '>=3.10' + - 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/dd/fb/4939594c20028eca7ee54cea21de25762ef6934a5fb168b8130599921c88/p4p-4.2.2-cp313-cp313-manylinux2014_x86_64.whl name: p4p version: 4.2.2 @@ -15232,35 +16357,11 @@ packages: - numpy<3 - qtpy ; extra == 'qt' requires_python: '>=2.7' -- 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 - name: pymongo - version: 4.18.0 - sha256: 21a0b97c0fcb9ce63895e37642e64dbb119b27053f7b5292ca9dfb597c1bca5f - 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/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 +16461,19 @@ 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/e9/45/863765ab799e3197d1863c2035bf0ce1f7e925d33a5c1d1153cc01c888e3/p4p-4.2.2-cp312-cp312-manylinux2014_x86_64.whl name: p4p version: 4.2.2 @@ -15373,30 +16487,34 @@ 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 +- 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/ed/62/640ada66e62ae1646447ff246d73f73f82abf3b9e19b94ee63e6bb99177c/pymongo-4.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: pymongo - version: 4.17.0 - sha256: b2dfcc795f5b9fedbe179a11fdf6051581479d196582a3fe819a92a00e9b9969 + version: 4.18.1 + sha256: 438171ed19d62a1756db397ee5ba61429d6e9811188394f5aa775a0738327554 requires_dist: - - dnspython>=2.6.1,<3.0.0 - - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' + - 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>=2020.9.1 ; extra == 'docs' - - sphinx-rtd-theme>=2,<4 ; 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,<2 ; 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.1.0,<2.0.0 ; extra == 'encryption' - - pymongocrypt>=1.13.0,<2.0.0 ; 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.5.0 ; 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>=42.0.0 ; extra == 'ocsp' - - pyopenssl>=23.2.0 ; extra == 'ocsp' + - cryptography>=47.0.0 ; extra == 'ocsp' + - pyopenssl>=26.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' + - 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' @@ -15446,21 +16564,21 @@ packages: - sphinx-design ; extra == 'dev' - tox-direct ; extra == 'dev' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/f0/f0/9b4298911303f74e6d83e64a81d996c0616405ec95046fac7f17e4258b9e/matplotlib-3.11.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: matplotlib - version: 3.11.1 - sha256: aee55e9041211bf84302ab55ec3965df18dd90ae19f8b58332a7feaf208bfe83 +- 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: - - contourpy>=1.0.1 - - cycler>=0.10 - - fonttools>=4.28.2 - - kiwisolver>=1.3.1 - - numpy>=1.25 - - packaging>=20.0 - - pillow>=9 - - pyparsing>=3 - - python-dateutil>=2.7 - requires_python: '>=3.11' + - 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 @@ -15473,10 +16591,10 @@ packages: - cloudpickle ; extra == 'full' - lz4 ; extra == 'lz4' requires_python: '>=3.6' -- 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/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: fonttools - version: 4.64.0 - sha256: ff7aff4637fbf71394df139c63ccfe08a47aa4252d2f91224ddb3335c716c925 + version: 4.65.0 + sha256: 6dd6243f60e2d6160c2966e1e14020dc261ffd741b69a2e4ca8bfd051592e4b7 requires_dist: - lxml>=4.0 ; extra == 'lxml' - brotli>=1.0.1 ; platform_python_implementation == 'CPython' and extra == 'woff' @@ -15512,6 +16630,10 @@ packages: 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..b5d2f04 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" @@ -43,6 +43,7 @@ qs-server = "uvicorn --host localhost --port 60610 bluesky_httpserver.server:app matplotlib = ">=3.10.9,<4" qtpy = ">=2.4.3,<3" pyside6 = ">=6.9.0,<7" +nexpy = ">=2.0.3,<3" [feature.terminal.tasks.start] cmd = "unset SESSION_MANAGER PYTHONPATH PYTHONUSERBASE && MPLBACKEND=qtagg ipython -i src/hextools/profiles/{{ profile }}.py" 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/__init__.py b/src/hextools/detectors/__init__.py index fc7b9a1..6b05d73 100644 --- a/src/hextools/detectors/__init__.py +++ b/src/hextools/detectors/__init__.py @@ -1,5 +1,12 @@ """Ophyd async support for detectors at HEX.""" +# Readout headroom (s) added to exposure_time when frame_period is unset; +# same margin the beamline's deployed PandA plan kept between step and exposure. +FRAME_PERIOD_MARGIN = 0.0125 #Kinetix + # 0.000005 #TODO for phantom + # GeRM N/A + # 0.05 # PE + from .phantom import ( PhantomAuxPinMode, PhantomDetector, diff --git a/src/hextools/detectors/germ.py b/src/hextools/detectors/germ.py index a61406b..7c2a8e4 100644 --- a/src/hextools/detectors/germ.py +++ b/src/hextools/detectors/germ.py @@ -1,96 +1,293 @@ """Ophyd async support for the GeRM detector at HEX.""" +from collections.abc import Mapping, Sequence +from tkinter.font import names from typing import Annotated as A from ophyd_async.core import ( + DEFAULT_TIMEOUT, DetectorAcquireLogic, DetectorDataLogic, DetectorTrigger, DetectorTriggerLogic, + PathProvider, SignalR, SignalRW, StandardDetector, StandardReadable, + StrictEnum, TriggerInfo, set_and_wait_for_value, + soft_signal_r_and_setter, + wait_for_value, ) from ophyd_async.core import StandardReadableFormat as Format from ophyd_async.epics.core import EpicsDevice, PvSuffix +from ophyd_async.epics.adcore import ( + ADBaseColorMode, + ADBaseDataType, + ADBaseIO, + ADHDFDataLogic, + ADWriterFactory, + NDArrayDescription, + NDFileHDF5IO, + NDPluginBaseIO, + NDProcessIO, +) +import numpy as np + + +class TDCSlopeTimes(StrictEnum): + ONE_US = "1us" + TWO_US = "2us" + THREE_US = "3us" + FOUR_US = "4us" + SIX_US = "6us" + NINE_US = "9us" + TWELVE_US = "12us" + + +class TDCMode(StrictEnum): + TOA = "ToA" + TOT = "ToT" + + +class InputPolarity(StrictEnum): + POSITIVE = "Positive" + NEGATIVE = "Negative" + + +class MonitorMode(StrictEnum): + OFF = "Off" + TEMPERATURE = "Temperature" + BASELINE = "Baseline" + THRESHOLD = "Threshold" + TEST_PULSE = "TestPulse" + CHANNEL = "Channel" + + +class Gain(StrictEnum): + GAIN_240KEV = "240keV" + GAIN_120KEV = "120keV" + GAIN_60KEV = "60keV" + GAIN_30KEV = "30keV" + + +class ShapingTime(StrictEnum): + ST_0_125_US = "0.125us" + ST_0_25_US = "0.25us" + ST_0_5_US = "0.5us" + ST_1_0_US = "1.0us" + ST_2_0_US = "2.0us" + ST_4_0_US = "4.0us" + ST_8_0_US = "8.0us" + ST_16_0_US = "16.0us" + + +class CountMode(StrictEnum): + TIMED = "Timed" + CONTINUOUS = "Continuous" + + +class ShotMode(StrictEnum): + ONE_SHOT = "OneShot" + AUTO_COUNT = "AutoCount" + + +class LeakagePulseMode(StrictEnum): + REAL = "Real" + SIMULATED = "Simulated" + + +class InternalLeakCurrent(StrictEnum): + OFF = "Off" + TWO_PA = "2pA" + EIGHT_PA = "8pA" class GeRMDetectorIO(EpicsDevice, StandardReadable): """IO class for GeRM detector.""" - # count: A[SignalRW[bool], PvSuffix(".CNT")] - mca: A[SignalR[float], PvSuffix(".MCA")] - number_of_channels: A[SignalRW[int], PvSuffix(".NELM"), Format.CONFIG_SIGNAL] - energy: A[SignalR[float], PvSuffix(".SPCTX")] - gain: A[SignalRW[float], PvSuffix(".GAIN"), Format.CONFIG_SIGNAL] - shaping_time: A[SignalRW[float], PvSuffix(".SHPT"), Format.CONFIG_SIGNAL] - count_time: A[SignalRW[float], PvSuffix(".TP"), Format.CONFIG_SIGNAL] - auto_time: A[SignalRW[float], PvSuffix(".TP1"), Format.CONFIG_SIGNAL] - run_num: A[SignalRW[int], PvSuffix(".RUNNO")] - fast_data_filename: A[SignalRW[str], PvSuffix(".FNAM"), Format.CONFIG_SIGNAL] - operating_mode: A[SignalRW[int], PvSuffix(".MODE")] - single_auto_toggle: A[SignalRW[int], PvSuffix(".CONT")] - gmon: A[SignalR[float], PvSuffix(".GMON")] - ip_addr: A[SignalRW[str], PvSuffix(".IPADDR")] - temp_1: A[SignalR[float], PvSuffix(":Temp1")] - temp_2: A[SignalR[float], PvSuffix(":Temp2")] - fpga_cpu_temp: A[SignalR[float], PvSuffix(":ztmp")] - calibration_file: A[SignalRW[str], PvSuffix(".CALF")] - multi_file_supression: A[SignalRW[int], PvSuffix(".MFS")] - tdc: A[SignalRW[int], PvSuffix(".TDC")] - leakage_pulse: A[SignalRW[int], PvSuffix(".LOAO")] - internal_leak_curr: A[SignalRW[int], PvSuffix(".EBLK")] - pileup_rejection: A[SignalRW[int], PvSuffix(".PUEN")] - test_pulse_aplitude: A[SignalRW[float], PvSuffix(".TPAMP")] - channel: A[SignalRW[int], PvSuffix(".MONCH")] - tdc_slope: A[SignalRW[float], PvSuffix(".TDS")] - test_pulse_freq: A[SignalRW[float], PvSuffix(".TPFRQ")] - tdc_mode: A[SignalRW[int], PvSuffix(".TDM")] - test_pulce_enable: A[SignalRW[int], PvSuffix(".TPENB")] - test_pulse_count: A[SignalRW[int], PvSuffix(".TPCNT")] - input_polarity: A[SignalRW[int], PvSuffix(".POL")] - voltage: A[SignalR[float], PvSuffix(":HV_RBV"), Format.CONFIG_SIGNAL] - current: A[SignalR[float], PvSuffix(":HV_CUR")] - peltier_2: A[SignalRW[float], PvSuffix(":P2")] - peliter_2_current: A[SignalR[float], PvSuffix(":P2_CUR")] - peltier_1: A[SignalRW[float], PvSuffix(":P1")] - peltier_1_current: A[SignalR[float], PvSuffix(":P1_CUR")] - hv_bias: A[SignalRW[float], PvSuffix(":HV"), Format.CONFIG_SIGNAL] - ring_hi: A[SignalRW[float], PvSuffix(":DRFTHI")] - ring_lo: A[SignalRW[float], PvSuffix(":DRFTLO")] - channel_enabled: A[SignalRW[int], PvSuffix(".TSEN")] - write_dir: A[SignalRW[str], PvSuffix(":write_dir"), Format.CONFIG_SIGNAL] - file_name: A[SignalRW[str], PvSuffix(":file_name"), Format.CONFIG_SIGNAL] - frame_num: A[SignalR[int], PvSuffix(":frame_num")] - frame_shape: A[SignalR[int], PvSuffix(":frame_shape")] - ioc_stage: A[SignalRW[str], PvSuffix(":stage")] - count: A[SignalRW[bool], PvSuffix(":count")] + num_elements: A[SignalR[int], PvSuffix("NumElements"), Format.CONFIG_SIGNAL] + num_chips: A[SignalR[int], PvSuffix("NumChips"), Format.CONFIG_SIGNAL] + ip_address: A[SignalR[str], PvSuffix("IPAddress_RBV"), Format.CONFIG_SIGNAL] + acquire: A[SignalRW[bool], PvSuffix.rbv("Acquire")] + # TODO: Get this fixed in the IOC - readback doesn't reflect setpoint + acquire_time: A[SignalRW[float], PvSuffix("AcquireTime"), Format.CONFIG_SIGNAL] -class GeRMAcquireLogic(DetectorAcquireLogic): - """The arm logic for GeRM detector.""" + # Todo: Make into device vector + model: A[SignalR[str], PvSuffix("DetectorModel"), Format.CONFIG_SIGNAL] + firmware_version: A[SignalR[str], PvSuffix("FirmwareVersion"), Format.CONFIG_SIGNAL] - def __init__(self, driver: GeRMDetectorIO) -> None: - self._driver = driver + temperature1: A[SignalR[float], PvSuffix("Temperature1")] + temperature2: A[SignalR[float], PvSuffix("Temperature2")] + temperature3: A[SignalR[float], PvSuffix("Temperature3")] + zynq_temperature: A[SignalR[float], PvSuffix("ZynqTemperature")] + high_voltage: A[SignalRW[float], PvSuffix.rbv("HighVoltage"), Format.CONFIG_SIGNAL] + hv_current: A[SignalR[float], PvSuffix("HighVoltageCurrent")] + udp_reachable: A[SignalR[bool], PvSuffix("UDPReachable_RBV")] + udp_data_file_write_enable: A[SignalR[bool], PvSuffix("UDPDataFileWriteEnable")] - async def start_acquiring(self): - await set_and_wait_for_value(self._driver.count, True, True) + chip: A[SignalRW[int], PvSuffix("Chip")] + channel: A[SignalRW[int], PvSuffix("Channel")] + monitor_channel: A[SignalRW[int], PvSuffix("MonitorChannel")] + test_pulse_amplitude: A[SignalRW[int], PvSuffix.rbv("TestPulseAmplitude")] + test_pulse_frequency: A[SignalRW[int], PvSuffix.rbv("TestPulseFrequency")] + test_pulse_count: A[SignalRW[int], PvSuffix.rbv("TestPulseCount")] + tdc_slope: A[SignalRW[TDCSlopeTimes], PvSuffix("TDCSlope")] + tdc_mode: A[SignalRW[TDCMode], PvSuffix("TDCMode")] + test_pulse_enable: A[SignalRW[bool], PvSuffix("TestPulseEnable")] + input_polarity: A[SignalRW[InputPolarity], PvSuffix("Polarity")] - async def wait_for_idle(self): - pass + # Acquisition settings + gain: A[SignalRW[Gain], PvSuffix("Gain")] + shaping_time: A[SignalRW[ShapingTime], PvSuffix.rbv("ShapingTime")] + count_mode: A[SignalRW[CountMode], PvSuffix("CountMode")] + shot_mode: A[SignalRW[ShotMode], PvSuffix("AutoCount")] + elapsed_time: A[SignalR[float], PvSuffix("ElapsedTime")] + auto_time: A[SignalRW[float], PvSuffix("AcquireTime1")] + run_number: A[SignalRW[int], PvSuffix.rbv("RunNumber")] - async def ensure_stopped(self): - pass + # Calibration settings + multi_fire_suppression_enable: A[SignalRW[bool], PvSuffix("MultiFire")] + leakage_pulse_mode: A[SignalRW[LeakagePulseMode], PvSuffix("SimEventSel")] + internal_leak_current: A[SignalRW[InternalLeakCurrent], PvSuffix("LeakageCurrent")] + pileup_rejection_enable: A[SignalRW[bool], PvSuffix("PileupReject")] + pipeline_delay: A[SignalRW[int], PvSuffix.rbv("PipelineDelay")] + readout_delay: A[SignalRW[int], PvSuffix.rbv("ReadoutDelay")] + + enable_test_pulse: A[SignalRW[bool], PvSuffix.rbv("TestPulseEnable")] + enable_tsen: A[SignalRW[bool], PvSuffix("TsenSel")] + enable_all_tsen: A[SignalRW[bool], PvSuffix("TsenAll")] + enable_channels: A[SignalRW[bool], PvSuffix("ChenSel")] + + # TODO: Double check this + mca: A[ + SignalR[np.ndarray[tuple[int], np.dtype[np.int32]]], + PvSuffix("MCA"), + Format.UNCACHED_SIGNAL, + ] + tdc: A[ + SignalR[np.ndarray[tuple[int], np.dtype[np.int32]]], + PvSuffix("TDC"), + Format.UNCACHED_SIGNAL, + ] + spectrum: A[ + SignalR[np.ndarray[tuple[int], np.dtype[np.int32]]], + PvSuffix("Spectrum"), + Format.UNCACHED_SIGNAL, + ] + spectrum_x: A[ + SignalR[np.ndarray[tuple[int], np.dtype[np.float64]]], + PvSuffix("SpectrumX"), + Format.UNCACHED_SIGNAL, + ] + intensity: A[ + SignalR[np.ndarray[tuple[int], np.dtype[np.int32]]], + PvSuffix("Intensity"), + Format.UNCACHED_SIGNAL, + ] + + thresholds: A[ + SignalRW[np.ndarray[tuple[int], np.dtype[np.int32]]], + PvSuffix("Threshold"), + Format.CONFIG_SIGNAL, + ] + threshold_trims: A[ + SignalRW[np.ndarray[tuple[int], np.dtype[np.uint8]]], + PvSuffix("ThresholdTrim"), + Format.CONFIG_SIGNAL, + ] + pileup_trims: A[ + SignalRW[np.ndarray[tuple[int], np.dtype[np.uint8]]], + PvSuffix("PileupTrim"), + Format.CONFIG_SIGNAL, + ] + + file_path: A[SignalRW[str], PvSuffix("FilePath"), Format.CONFIG_SIGNAL] + file_name: A[SignalRW[str], PvSuffix("FileName"), Format.CONFIG_SIGNAL] + file_size: A[SignalRW[int], PvSuffix("FileSize"), Format.CONFIG_SIGNAL] + + # TODO: Device Vector + peltier1: A[SignalRW[float], PvSuffix("Peltier1"), Format.CONFIG_SIGNAL] + peltier1_current: A[SignalR[float], PvSuffix("Peltier1Current")] + peltier2: A[SignalRW[float], PvSuffix("Peltier2"), Format.CONFIG_SIGNAL] + peltier2_current: A[SignalR[float], PvSuffix("Peltier2Current")] + + adc0_clock_skew: A[SignalRW[int], PvSuffix("Adc0ClkSkew"), Format.CONFIG_SIGNAL] + adc1_clock_skew: A[SignalRW[int], PvSuffix("Adc1ClkSkew"), Format.CONFIG_SIGNAL] + adc2_clock_skew: A[SignalRW[int], PvSuffix("Adc2ClkSkew"), Format.CONFIG_SIGNAL] + + # count: A[SignalRW[bool], PvSuffix(".CNT")] + # mca: A[SignalR[float], PvSuffix(".MCA")] + # number_of_channels: A[SignalRW[int], PvSuffix(".NELM"), Format.CONFIG_SIGNAL] + # energy: A[SignalR[float], PvSuffix(".SPCTX")] + # gain: A[SignalRW[float], PvSuffix(".GAIN"), Format.CONFIG_SIGNAL] + # shaping_time: A[SignalRW[float], PvSuffix(".SHPT"), Format.CONFIG_SIGNAL] + # count_time: A[SignalRW[float], PvSuffix(".TP"), Format.CONFIG_SIGNAL] + # auto_time: A[SignalRW[float], PvSuffix(".TP1"), Format.CONFIG_SIGNAL] + # run_num: A[SignalRW[int], PvSuffix(".RUNNO")] + # fast_data_filename: A[SignalRW[str], PvSuffix(".FNAM"), Format.CONFIG_SIGNAL] + # operating_mode: A[SignalRW[int], PvSuffix(".MODE")] + # single_auto_toggle: A[SignalRW[int], PvSuffix(".CONT")] + # gmon: A[SignalR[float], PvSuffix(".GMON")] + # ip_addr: A[SignalRW[str], PvSuffix(".IPADDR")] + # temp_1: A[SignalR[float], PvSuffix(":Temp1")] + # temp_2: A[SignalR[float], PvSuffix(":Temp2")] + # fpga_cpu_temp: A[SignalR[float], PvSuffix(":ztmp")] + # calibration_file: A[SignalRW[str], PvSuffix(".CALF")] + # multi_file_supression: A[SignalRW[int], PvSuffix(".MFS")] + # tdc: A[SignalRW[int], PvSuffix(".TDC")] + # leakage_pulse: A[SignalRW[int], PvSuffix(".LOAO")] + # internal_leak_curr: A[SignalRW[int], PvSuffix(".EBLK")] + # pileup_rejection: A[SignalRW[int], PvSuffix(".PUEN")] + # test_pulse_aplitude: A[SignalRW[float], PvSuffix(".TPAMP")] + # channel: A[SignalRW[int], PvSuffix(".MONCH")] + # tdc_slope: A[SignalRW[float], PvSuffix(".TDS")] + # test_pulse_freq: A[SignalRW[float], PvSuffix(".TPFRQ")] + # tdc_mode: A[SignalRW[int], PvSuffix(".TDM")] + # test_pulce_enable: A[SignalRW[int], PvSuffix(".TPENB")] + # test_pulse_count: A[SignalRW[int], PvSuffix(".TPCNT")] + # input_polarity: A[SignalRW[int], PvSuffix(".POL")] + # voltage: A[SignalR[float], PvSuffix(":HV_RBV"), Format.CONFIG_SIGNAL] + # current: A[SignalR[float], PvSuffix(":HV_CUR")] + # peltier_2: A[SignalRW[float], PvSuffix(":P2")] + # peliter_2_current: A[SignalR[float], PvSuffix(":P2_CUR")] + # peltier_1: A[SignalRW[float], PvSuffix(":P1")] + # peltier_1_current: A[SignalR[float], PvSuffix(":P1_CUR")] + # hv_bias: A[SignalRW[float], PvSuffix(":HV"), Format.CONFIG_SIGNAL] + # ring_hi: A[SignalRW[float], PvSuffix(":DRFTHI")] + # ring_lo: A[SignalRW[float], PvSuffix(":DRFTLO")] + # channel_enabled: A[SignalRW[int], PvSuffix(".TSEN")] + # write_dir: A[SignalRW[str], PvSuffix(":write_dir"), Format.CONFIG_SIGNAL] + # file_name: A[SignalRW[str], PvSuffix(":file_name"), Format.CONFIG_SIGNAL] + # frame_num: A[SignalR[int], PvSuffix(":frame_num")] + # frame_shape: A[SignalR[int], PvSuffix(":frame_shape")] + # ioc_stage: A[SignalRW[str], PvSuffix(":stage")] + # count: A[SignalRW[bool], PvSuffix(":count")] + + def __init__(self, prefix: str, name: str = "") -> None: + with self.add_children_as_readables(Format.CONFIG_SIGNAL): + self.num_energy_bins, _ = soft_signal_r_and_setter( + int, 4096, name="num_energy_bins" + ) + self.data_type, _ = soft_signal_r_and_setter( + ADBaseDataType, ADBaseDataType.INT32, name="data_type" + ) + self.color_mode, _ = soft_signal_r_and_setter( + ADBaseColorMode, ADBaseColorMode.MONO, name="color_mode" + ) + super().__init__(prefix, name=name) class GeRMTriggerLogic(DetectorTriggerLogic): """The trigger logic for GeRM detector.""" + driver: GeRMDetectorIO + def __init__(self, driver: GeRMDetectorIO) -> None: - self._driver = driver + self.driver = driver async def prepare_internal(self, num: int, livetime: float, deadtime: float): """Prepare the detector for an internal trigger. @@ -102,12 +299,18 @@ async def prepare_internal(self, num: int, livetime: float, deadtime: float): deadtime : float How long between exposures, 0 means the shortest possible. """ - await self._driver.count_time.set(livetime) + if num != 1: + raise ValueError( + "Only a single collection with a single exposure is supported." + ) + await self.driver.acquire_time.set(livetime) async def default_trigger_info(self) -> TriggerInfo: + livetime = await self.driver.acquire_time.get_value() + print(livetime) return TriggerInfo( trigger=DetectorTrigger.INTERNAL, - livetime=0, + livetime=livetime, deadtime=0, exposures_per_collection=1, collections_per_event=1, @@ -115,15 +318,53 @@ async def default_trigger_info(self) -> TriggerInfo: ) -class GeRMDataLogic(DetectorDataLogic): - """The data logic for GeRM detector.""" +class GeRMAcquireLogic(DetectorAcquireLogic): + """The arm logic for GeRM detector.""" + + def __init__(self, driver: GeRMDetectorIO) -> None: + self.driver = driver + + async def start_acquiring(self): + await set_and_wait_for_value(self.driver.acquire, True) + + async def wait_for_idle(self): + count_time = await self.driver.acquire_time.get_value() + await wait_for_value( + self.driver.acquire, False, timeout=count_time + DEFAULT_TIMEOUT + ) + + async def ensure_stopped(self): + await set_and_wait_for_value(self.driver.acquire, False) class GeRMDetector(StandardDetector): """The ophyd class for GeRM detector.""" - def __init__(self, prefix: str, name: str) -> None: + def __init__( + self, + prefix: str, + path_provider: PathProvider, + plugins: Mapping[str, NDPluginBaseIO] | None = None, + config_sigs: Sequence[SignalR] = (), + name: str = "", + ) -> None: self.driver = GeRMDetectorIO(prefix, name=name) - self._trigger_logic = GeRMTriggerLogic(self.driver) - self._arm_logic = GeRMAcquireLogic(self.driver) - # self._data_logics = [GeRMDataLogic(self.driver)] + if plugins is not None: + for plugin_name, plugin in plugins.items(): + setattr(self, plugin_name, plugin) + self.add_detector_logics(GeRMTriggerLogic(self.driver)) + self.add_detector_logics(GeRMAcquireLogic(self.driver)) + self.hdf = NDFileHDF5IO(prefix + "MCA1:HDF1:", name="hdf") + self.add_detector_logics( + ADHDFDataLogic( + NDArrayDescription( + [self.driver.num_elements, self.driver.num_energy_bins], + self.driver.data_type, + self.driver.color_mode, + ), + path_provider, + self.hdf, + ) + ) + self.add_config_signals(*config_sigs) + super().__init__(name=name) diff --git a/src/hextools/detectors/kinetix.py b/src/hextools/detectors/kinetix.py index b826236..74c6589 100644 --- a/src/hextools/detectors/kinetix.py +++ b/src/hextools/detectors/kinetix.py @@ -1 +1,30 @@ """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): + """Helper factory function to create a KinetixDetector with HDF writer. + + Parameters + ---------- + num : int + The detector number. + path_provider : PathProvider + The path provider for the HDF writer. + name : str + The name of the detector. + + Returns + ------- + KinetixDetector + The created Kinetix detector with HDF writer. + """ + + return KinetixDetector( + f"XF:27ID1-BI{{Kinetix-Det:{num}}}", + ADWriterFactory.hdf(path_provider), + proc_suffix="Proc1:", + name=name, + ) diff --git a/src/hextools/detectors/phantom.py b/src/hextools/detectors/phantom.py index 47f9319..5629b68 100644 --- a/src/hextools/detectors/phantom.py +++ b/src/hextools/detectors/phantom.py @@ -6,11 +6,13 @@ from ophyd_async.core import ( DEFAULT_TIMEOUT, + DetectorTrigger, DetectorTriggerLogic, DeviceVector, OnOff, SignalR, SignalRW, + StandardReadable, StrictEnum, SubsetEnum, TriggerInfo, @@ -29,8 +31,11 @@ AreaDetector, NDFileHDF5IO, NDPluginBaseIO, + NDProcessIO, + prepare_exposures_per_collection, + default_trigger_info_from_detector_settings, ) -from ophyd_async.epics.core import PvSuffix, epics_signal_rw_rbv +from ophyd_async.epics.core import EpicsDevice, PvSuffix, epics_signal_rw_rbv class PhantomDownloadFrameMode(StrictEnum): @@ -115,6 +120,25 @@ class PhantomPixelDataFormat(StrictEnum): P_TWELVE_L = "P12L" +class PhantomCineIO(EpicsDevice, StandardReadable): + cine_name: A[SignalR[str], PvSuffix("Name_RBV")] + width: A[SignalR[int], PvSuffix("Width_RBV")] + height: A[SignalR[int], PvSuffix("Height_RBV")] + frame_count: A[SignalR[int], PvSuffix("FrameCount_RBV")] + first_frame: A[SignalR[int], PvSuffix("FirstFrame_RBV")] + last_frame: A[SignalR[int], PvSuffix("LastFrame_RBV")] + invalid: A[SignalR[bool], PvSuffix("State_RBV.B0")] + complete_and_valid: A[SignalR[bool], PvSuffix("State_RBV.B1")] + waiting_for_trigger: A[SignalR[bool], PvSuffix("State_RBV.B2")] + trigger_recieved: A[SignalR[bool], PvSuffix("State_RBV.B3")] + ready: A[SignalR[bool], PvSuffix("State_RBV.B4")] + default_copy: A[SignalR[bool], PvSuffix("State_RBV.B5")] + can_accept_trigger: A[SignalR[bool], PvSuffix("State_RBV.B6")] + preview_cine: A[SignalR[bool], PvSuffix("State_RBV.B7")] + active_cine: A[SignalR[bool], PvSuffix("State_RBV.B8")] + cine_content_saved: A[SignalR[bool], PvSuffix("State_RBV.B9")] + + class PhantomIO(ADBaseIO): """IO class for ADPhantom driver. @@ -126,6 +150,7 @@ class PhantomIO(ADBaseIO): partition_cines: A[SignalRW[int], PvSuffix("PartitionCines")] cine_count: A[SignalR[int], PvSuffix("CineCount_RBV")] max_frame_count: A[SignalR[int], PvSuffix("MaxFrameCount_RBV")] + total_frame_count: A[SignalR[int], PvSuffix("TotalFrameCount_RBV")] post_trig_frames: A[SignalRW[int], PvSuffix.rbv("PostTrigFrames")] auto_advance: A[SignalRW[OnOff], PvSuffix.rbv("AutoAdvance")] auto_save: A[SignalRW[OnOff], PvSuffix.rbv("AutoSave")] @@ -175,22 +200,26 @@ class PhantomIO(ADBaseIO): SignalRW[PhantomPixelDataFormat], PvSuffix.rbv("SelectPixelDataFormat") ] frame_read_speed: A[SignalR[int], PvSuffix("FrameReadSpeed_RBV")] - invalid: A[SignalR[int], PvSuffix("State_RBV.B0")] - complete_and_valid: A[SignalR[int], PvSuffix("State_RBV.B1")] - waiting_for_trigger: A[SignalR[int], PvSuffix("State_RBV.B2")] - trigger_received: A[SignalR[int], PvSuffix("State_RBV.B3")] - cine_content_saved: A[SignalR[int], PvSuffix("State_RBV.B9")] + invalid: A[SignalR[bool], PvSuffix("State_RBV.B0")] + complete_and_valid: A[SignalR[bool], PvSuffix("State_RBV.B1")] + waiting_for_trigger: A[SignalR[bool], PvSuffix("State_RBV.B2")] + trigger_received: A[SignalR[bool], PvSuffix("State_RBV.B3")] - def __init__(self, prefix: str, name: str = ""): + def __init__(self, prefix: str, name: str = "", num_cines: int = 63): super().__init__(prefix, name=name) - self.aux_pins = DeviceVector( - { - i: epics_signal_rw_rbv( - PhantomAuxPinMode, prefix + f"Aux{i}PinMode", name=f"aux_pin{i}" - ) - for i in range(1, 5) - }, - name="aux_pins", + # self.aux_pins = DeviceVector( + # { + # i: epics_signal_rw_rbv( + # PhantomAuxPinMode, prefix + f"Aux{i}PinMode", name=f"aux_pin{i}" + # ) + # for i in (1, 2, 4) + # }, + # name="aux_pins", + # ) + + self.cines = DeviceVector( + {i: PhantomCineIO(prefix + f"C{i}:") for i in range(1, num_cines + 1)}, + name="cines", ) # IOC does not provide these signals, so make them derived here @@ -250,8 +279,9 @@ def get_total_downloaded_frames(self, start: int, end: int) -> int: class PhantomTriggerLogic(DetectorTriggerLogic): """Trigger logic for the Phantom camera.""" - def __init__(self, driver: PhantomIO): + def __init__(self, driver: PhantomIO, process_plugin: NDProcessIO | None = None): self.driver = driver + self.process_plugin = process_plugin def config_sigs(self) -> set[SignalR]: """Return the signals that should appear in read_configuration. @@ -325,6 +355,7 @@ async def prepare_internal(self, num: int, livetime: float, deadtime: float): if livetime != 0: coros.append(self.driver.acquire_time_ms.set(livetime * 1000)) await asyncio.gather(*coros) + await self.setup_download(num) async def prepare_edge(self, num: int, livetime: float): """Prepare the detector to take external edge triggered exposures. @@ -340,6 +371,20 @@ async def prepare_edge(self, num: int, livetime: float): if livetime != 0: coros.append(self.driver.acquire_time_ms.set(livetime * 1000)) await asyncio.gather(*coros) + await self.setup_download(num) + + async def prepare_exposures_per_collection(self, exposures_per_collection: int): + """Prepare the process plugin for the specified number of exposures per collection. + + Parameters + ---------- + exposures_per_collection : int + The number of exposures to take per collection. + """ + if self.process_plugin is not None: + await prepare_exposures_per_collection( + self.process_plugin, exposures_per_collection=exposures_per_collection + ) async def default_trigger_info(self) -> TriggerInfo: """Fallback for the default TriggerInfo in plans without prepare. @@ -349,9 +394,15 @@ async def default_trigger_info(self) -> TriggerInfo: TriggerInfo A TriggerInfo with default values for the Phantom camera. """ - dl_start = await self.driver.download_start_frame.get_value() - dl_end = await self.driver.download_end_frame.get_value() - return TriggerInfo(collections_per_event=(dl_end - dl_start + 1)) + trigger_mode = DetectorTrigger.INTERNAL + if await self.driver.ext_sync_type.get_value() == PhantomExtSyncType.FSYNC: + trigger_mode = DetectorTrigger.EXTERNAL_EDGE + default_trig_info = await default_trigger_info_from_detector_settings( + self.driver.total_download_frames, + self.process_plugin, + detector_trigger=trigger_mode, + ) + return default_trig_info class PhantomAcquireLogic(ADAcquireLogic): @@ -383,7 +434,7 @@ async def start_acquiring(self): self.driver.acquire, True, self.driver.waiting_for_trigger, - 1, + True, timeout=DEFAULT_TIMEOUT, ) @@ -397,7 +448,7 @@ async def start_acquiring(self): async for trigger_received in observe_value( self.driver.trigger_received, done_timeout=DEFAULT_TIMEOUT ): - if trigger_received == 1: + if trigger_received: break break except TimeoutError as exc: @@ -436,6 +487,18 @@ async def start_acquiring(self): f"does not match actual number {actual_post_trig}" ) from exc + # If we recieved the trigger, we know at this point how many frames we'll have access to, + # and how many we want to download. If we are trying to DL more than we have available, + # raise a RuntimeError. + available_frames, total_download_frames = await asyncio.gather( + self.driver.total_frame_count.get_value(), + self.driver.total_download_frames.get_value(), + ) + if total_download_frames > available_frames: + raise RuntimeError( + f"Requested {total_download_frames} frames to download, but only {available_frames} are available!" + ) + # Finally, start the download await self.driver.download.set(True) @@ -451,32 +514,44 @@ async def wait_for_idle(self): if self.acquire_status: await self.acquire_status - # Check how many frames we are supposed to download - target_num_saved = await self.driver.total_download_frames.get_value() + selected_cine_num, last_download_count = await asyncio.gather( + self.driver.selected_cine.get_value(), + self.driver.download_count.get_value(), + ) + selected_cine = self.driver.cines[selected_cine_num] # As long as our download counter is counting up and has not reached the target # number of frames, keep waiting. If we timeout, check if the download count # has increased since the last time we checked, and if so keep waiting, # otherwise raise a timeout error. - last_value = None while True: try: - async for num_saved in observe_value( - self.driver.download_count, done_timeout=DEFAULT_TIMEOUT + async for saved in observe_value( + selected_cine.cine_content_saved, done_timeout=DEFAULT_TIMEOUT ): - last_value = num_saved - if num_saved == target_num_saved: + if saved: return except TimeoutError as err: - current = await self.driver.download_count.get_value() - if current == last_value: + # download_counter = await self.driver.download_count.get_value() + # if download_counter == 0: + # raise TimeoutError( + # "Download counter stopped incrementing and cine was not marked as saved!" + # ) from err + + current, saved = await asyncio.gather( + self.driver.download_count.get_value(), + selected_cine.cine_content_saved.get_value(), + ) + print( + f"Last value: {last_download_count}, Current value: {current}, Saved: {saved}" + ) + if saved: + return + if current <= last_download_count: raise TimeoutError( - "Timeout waiting for download to complete! " - f"Target number of downloaded frames: {target_num_saved}" + "Download counter stopped incrementing and cine was not marked as saved!" ) from err - if current == target_num_saved: - return - last_value = current + last_download_count = current class PhantomDetector(AreaDetector[PhantomIO]): @@ -488,18 +563,24 @@ def __init__( self, prefix: str, *writer_factories: ADWriterFactory, - driver_suffix="cam1:", + driver_suffix: str = "cam1:", + proc_suffix: str | None = "Proc1:", plugins: dict[str, NDPluginBaseIO] | None = None, config_sigs: Sequence[SignalR] = (), name: str = "", ) -> None: driver = PhantomIO(prefix + driver_suffix) + process_plugin = None if not proc_suffix else NDProcessIO(prefix + proc_suffix) + if plugins is None: + plugins = {} + if process_plugin is not None: + plugins["proc"] = process_plugin super().__init__( driver, prefix, *writer_factories, acquire_logic=PhantomAcquireLogic(driver), - trigger_logic=PhantomTriggerLogic(driver), + trigger_logic=PhantomTriggerLogic(driver, process_plugin=process_plugin), plugins=plugins, config_sigs=config_sigs, name=name, diff --git a/src/hextools/motors.py b/src/hextools/motors.py index e8c551f..6b858f9 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,9 @@ 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 +192,19 @@ 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 +223,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..cdaf4e3 --- /dev/null +++ b/src/hextools/photon_delivery_system/dclm.py @@ -0,0 +1,316 @@ +"""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. + """ + + # Retrieve DCLM and photon shutter from the IPython namespace if not provided. + 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..15778e6 --- /dev/null +++ b/src/hextools/photon_delivery_system/shutter.py @@ -0,0 +1,136 @@ +"""Shutter/GV device for the photon delivery system.""" + +from typing import Hashable + +from ophyd_async.core import AsyncMovable, AsyncStatus, wait_for_value +from bluesky import plan_stubs as bps +from ophyd_async.epics.core import ( + EpicsDevice, + epics_signal_r, + epics_triggerable_command, +) + + +class Shutter(EpicsDevice, AsyncMovable[bool]): + """Photon shutter device. + + Attributes + ---------- + status : EpicsSignalRO[bool] + Readback of the shutter status (True for open, False for closed) + open_cmd : EpicsTriggerableCommand + Command to open the shutter + close_cmd : EpicsTriggerableCommand + Command to close the shutter + """ + + 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): + """Set the state of the shutter. + + Parameters + ---------- + value : bool + The desired state of the shutter (True for open, False for closed) + + Returns + ------- + AsyncStatus + An object representing the status of the set operation. + """ + + 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) + + +def ensure_shutter_state( + shutter: Shutter, + desired_state: bool, + allow_actuation: bool = False, + group: Hashable | None = None, + wait: bool = True, +): + """Plan stub to guarantees that the shutter is in the desired state. + + Parameters + ---------- + shutter : Shutter + shutter to guarantee the state of. + desired_state : bool + the state that the shutter should be in (True for open, False for closed) + allow_actuation : bool, default False + whether to allow the plan to actuate the shutter if it is not in the desired state + group : Hashable | None, optional + the Bluesky group to use for the actuation, if any + wait : bool, default True + whether to wait for the shutter to reach the desired state after actuation + """ + + shutter_status = yield from bps.rd(shutter.status) + if shutter_status != desired_state: + if allow_actuation: + yield from bps.abs_set(shutter, desired_state, group=group, wait=wait) + else: + raise RuntimeError(f"Shutter {shutter.name} is not in the desired state!") + + +def ensure_shutter_open( + shutter: Shutter, + allow_actuation: bool = False, + group: Hashable | None = None, + wait: bool = True, +): + """Plan stub to guarantee that the shutter is open. + + Parameters + ---------- + shutter : Shutter + shutter to guarantee the state of. + allow_actuation : bool, default False + whether to allow the plan to actuate the shutter if it is not in the desired state + group : Hashable | None, optional + the Bluesky group to use for the actuation, if any + wait : bool, default True + whether to wait for the shutter to reach the desired state after actuation + """ + + yield from ensure_shutter_state( + shutter, True, allow_actuation=allow_actuation, wait=wait, group=group + ) + + +def ensure_shutter_closed( + shutter: Shutter, + allow_actuation: bool = True, + group: Hashable | None = None, + wait: bool = True, +): + """Plan stub to guarantee that the shutter is closed. + + Parameters + ---------- + shutter : Shutter + shutter to guarantee the state of. + allow_actuation : bool, default True + whether to allow the plan to actuate the shutter if it is not in the desired state + group : Hashable | None, optional + the Bluesky group to use for the actuation, if any + wait : bool, default True + whether to wait for the shutter to reach the desired state after actuation + """ + + yield from ensure_shutter_state( + shutter, False, allow_actuation=allow_actuation, wait=wait, group=group + ) 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..0fdfd0e 100644 --- a/src/hextools/profiles/collection.py +++ b/src/hextools/profiles/collection.py @@ -2,6 +2,8 @@ import os +from hextools.detectors.germ import GeRMDetector + # Remove PYEPICS_LIBCA set by the conda epics-base activation script. # It points to conda's libca.so which conflicts with epicscorelibs' libca.so # (used by aioca/ophyd-async), causing PV connections to fail and the process @@ -14,25 +16,41 @@ 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 pathlib import Path +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 +115,23 @@ 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 +142,21 @@ 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", - ) + # Kinetix detectors + kinetix1 = kinetix_factory(1, path_provider, name="kinetix-det1") + # kinetix2 = kinetix_factory(2, path_provider, name="kinetix-det2") + kinetix3 = kinetix_factory(3, path_provider, name="kinetix-det3") + # kinetix4 = kinetix_factory(4, path_provider, name="kinetix-det4") # 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 +164,73 @@ 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:", + ) + + germ = GeRMDetector( + "XF:27ID1-ES{GeRM-Det:1}", + path_provider, + name="germ", + ) +# 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/tomography/flyscans.py b/src/hextools/tomography/flyscans.py index 9082ee5..e6af007 100644 --- a/src/hextools/tomography/flyscans.py +++ b/src/hextools/tomography/flyscans.py @@ -5,27 +5,36 @@ from ophyd_async.epics.adkinetix import KinetixDetector from ophyd_async.fastcs.panda import HDFPanda +from hextools.photon_delivery_system.shutter import ( + ensure_shutter_closed, + ensure_shutter_open, +) +from hextools.utils import ensure_available, get_obj_from_ipython_ns from hextools.photon_delivery_system import Shutter from ..detectors.phantom import PhantomDetector from ..flyers import SingleAxisFlyableLogic, construct_fly_info_models from ..motors import RotationMotor +from bluesky import preprocessors as bpp +from hextools.detectors import FRAME_PERIOD_MARGIN def tomo_flyscan( detectors: list[KinetixDetector | PhantomDetector], - exposure_time: float, - panda: HDFPanda, - motor: RotationMotor, - photon_shutter: Shutter, num_images: int, + exposure_time: float, + acquire_period: float | None = None, + images_to_average: int = 1, start_position: float = 0, stop_position: float = 180, use_shutter: bool = True, sample_name: str | None = None, - acquire_period: float | None = None, time_based: bool = True, stream_name: str = "primary", + panda: HDFPanda | None = None, + motor: RotationMotor | None = None, + fe_shutter: Shutter | None = None, + photon_shutter: Shutter | None = None, ): """Run a tomography flyscan with the specified parameters. @@ -53,78 +62,102 @@ def tomo_flyscan( use_shutter : bool whether to use/check the shutter during the scan """ - all_detectors = [*detectors, panda] - # Construct ephemeral flyer for the single axis flyscan - single_axis_panda_flyer = StandardFlyable(SingleAxisFlyableLogic(panda)) - all_devices = [*all_detectors, single_axis_panda_flyer, motor] + fe_shutter = ensure_available(Shutter, fe_shutter=fe_shutter) + photon_shutter = ensure_available(Shutter, photon_shutter=photon_shutter) + + if use_shutter: + yield from ensure_shutter_open(fe_shutter) + + panda = ensure_available(HDFPanda, panda=panda) + motor = ensure_available(RotationMotor, motor=motor) - # Get the start position in encoder counts - encoder_res = yield from bps.rd(motor.encoder_resolution) - max_velocity = yield from bps.rd(motor.max_velocity) - - det_trigger_info = TriggerInfo( - number_of_events=num_images, - trigger=DetectorTrigger.EXTERNAL_EDGE, - ) - - panda_trigger_info = TriggerInfo( - number_of_events=num_images, - trigger=DetectorTrigger.EXTERNAL_LEVEL, - ) - - overhead = ( - acquire_period - exposure_time - if acquire_period is not None and acquire_period > exposure_time - else 0 - ) - - flyer_info, motor_info = construct_fly_info_models( - num_pulses=num_images, - max_exposure_time=exposure_time, - start_position=start_position, - stop_position=stop_position, - encoder_resolution=encoder_res, - max_motor_velocity=max_velocity, - acq_time_overhead=overhead, - time_based=time_based, - ) + if acquire_period is None: + acquire_period = exposure_time + FRAME_PERIOD_MARGIN _md = { "detectors": [det.name for det in detectors], "num_points": num_images, + "images_to_average": images_to_average, "plan_name": "tomo_flyscan", - "hints": {}, } if sample_name is not None: _md["sample_name"] = sample_name - yield from bps.open_run(md=_md) - yield from bps.stage_all(*all_detectors) - - yield from bps.prepare(motor, motor_info, group="prepare") - yield from bps.prepare(single_axis_panda_flyer, flyer_info, group="prepare") - - for det in detectors: - yield from bps.prepare(det, det_trigger_info, group="prepare") - - yield from bps.prepare(panda, panda_trigger_info, group="prepare") - - # TODO: Come up with a way to set a timeout automatically based on the - # motor move to start position time. - yield from bps.wait(group="prepare") - - yield from bps.declare_stream(*all_detectors, name=stream_name) + all_detectors = [*detectors, panda] - yield from bps.kickoff_all(*all_devices, wait=True) + # Construct ephemeral flyer for the single axis flyscan + single_axis_panda_flyer = StandardFlyable(SingleAxisFlyableLogic(panda)) + all_devices = [*all_detectors, single_axis_panda_flyer, motor] - flush_period = max(1, exposure_time + overhead) - yield from bps.collect_while_completing( - all_devices, - all_detectors, - flush_period=flush_period, - stream_name=stream_name, - ) - yield from bps.unstage_all(*all_detectors) - yield from bps.close_run() + @bpp.run_decorator(md=_md) + @bpp.stage_decorator(*all_devices) + def _body(): + + # Get the start position in encoder counts + encoder_res = yield from bps.rd(motor.encoder_resolution) + max_velocity = yield from bps.rd(motor.max_velocity) + + det_trigger_info = TriggerInfo( + number_of_events=num_images, + livetime=exposure_time, + deadtime=acquire_period - exposure_time, + trigger=DetectorTrigger.EXTERNAL_EDGE, + exposures_per_collection=images_to_average, + ) + + panda_trigger_info = TriggerInfo( + number_of_events=num_images, + livetime=exposure_time, + trigger=DetectorTrigger.EXTERNAL_LEVEL, + ) + + overhead = ( + acquire_period - exposure_time + if acquire_period is not None and acquire_period > exposure_time + else 0 + ) + + flyer_info, motor_info = construct_fly_info_models( + num_pulses=num_images, + max_exposure_time=exposure_time, + start_position=start_position, + stop_position=stop_position, + encoder_resolution=encoder_res, + max_motor_velocity=max_velocity, + acq_time_overhead=overhead, + time_based=time_based, + ) + + yield from ensure_shutter_open( + photon_shutter, allow_actuation=True, group="prepare", wait=False + ) + yield from bps.prepare(motor, motor_info, group="prepare") + yield from bps.prepare(single_axis_panda_flyer, flyer_info, group="prepare") + + for det in detectors: + yield from bps.prepare(det, det_trigger_info, group="prepare") + + yield from bps.prepare(panda, panda_trigger_info, group="prepare") + + # TODO: Come up with a way to set a timeout automatically based on the + # motor move to start position time. + yield from bps.wait(group="prepare") + + yield from bps.declare_stream(*all_detectors, name=stream_name) + + yield from bps.kickoff_all(*all_devices, wait=True) + + flush_period = max(1, exposure_time + overhead) + yield from bps.collect_while_completing( + all_devices, + all_detectors, + flush_period=flush_period, + stream_name=stream_name, + ) + + def _cleanup(): + yield from ensure_shutter_closed(photon_shutter, allow_actuation=True) + + yield from bpp.finalize_wrapper(_body, _cleanup) diff --git a/src/hextools/tomography/radiography.py b/src/hextools/tomography/radiography.py new file mode 100644 index 0000000..2a96300 --- /dev/null +++ b/src/hextools/tomography/radiography.py @@ -0,0 +1,159 @@ +""" +Radiograph acquisition plan for HEX beamline. + +Equivalent of the old pyepics script: + hex-acq-pyepics/techniques/tomography/kinetix/take_radiograph.py + +What this plan does +------------------- +1. Check the front-end shutter and open the photon shutter. + The front-end shutter is only checked at entry; must already be open — this + plan never actuates it. +2. For each acquisition: fire ``num_images`` images, then wait + ``time_gap``. +3. Close the photon shutter. + +Everything from shutter-open onward runs under a finalizer, so an error or +interrupt still closes the shutter. + +Trigger model +------------- +Each acquisition prepares the detector with a ``TriggerInfo`` capturing +``num_images`` images (each averaged over ``num_exposures`` exposures). The plan +owns the timing directly: ``exposure_time`` sets the livetime and +``acquire_period`` sets the frame period, so ``acquire_period - exposure_time`` +is the readout margin (deadtime) that keeps frames non-overlapping — the same +"period larger than exposure" discipline the old PandA-paced script enforced +with its PULSE step. Set ``external_trigger`` to pace frames from an external +edge if precision frame timing is ever needed. + +Usage +----- + RE(take_radiograph( + [kinetix1], + exposure_time=0.5, + num_images=10, + num_acquisitions=5, + time_gap=10.0, + )) + +``detectors`` is a list (``[kinetix1]``) since multiple detectors are supported. + +Where files land is decided by each detector's path provider (set in the +profile), not by this plan — the old script's proposal-folder logic is gone. +""" + +from bluesky import plan_stubs as bps, plans as bp +import bluesky.preprocessors as bpp +from nslsii import detectors +from ophyd_async.epics.adcore import AreaDetector +from ophyd_async.core import DetectorTrigger, TriggerInfo +from hextools.photon_delivery_system.shutter import ensure_shutter_closed, ensure_shutter_open +from hextools.utils import ensure_available, get_obj_from_ipython_ns + +from hextools.photon_delivery_system import Shutter + +from hextools.detectors import FRAME_PERIOD_MARGIN + + +def take_radiograph( + detectors: list[AreaDetector], + exposure_time: float, # screen: Exposure Time + num_images: int, # screen: Num Images + num_acquisitions: int = 1, # screen: Number of acquisitions + acquire_period: float = 0.0, # screen: Acquire Time + external_trigger: bool = False, # screen: Trigger Mode + time_gap: float = 0.0, # plan-level: idle between repeats + num_exposures: int = 1, # screen: Exp / Image + sample_name: str | None = None, # Name of the sample being imaged + md: dict | None = None, # Extra metadata to merge into the run's metadata + use_shutter: bool = False, # Whether to open/check the photon shutter during the scan + fe_shutter: Shutter | None = None, # Front-end shutter to check before opening the photon shutter + photon_shutter: Shutter | None = None, # Photon shutter to open/close around the acquisition +): + """Acquire a burst-mode radiograph series on the HEX beamline. + + Parameters + ---------- + detectors : list[AreaDetector] + detectors to trigger; any ophyd-async detector is accepted + exposure_time : float + camera exposure time, in seconds (no default — depends on the sample) + acquire_period : float, optional + minimum time per frame, in seconds; must exceed ``exposure_time``, and + the difference is enforced as the camera's deadtime. If None, computed + from ``exposure_time`` plus a readout margin + num_images : int + number of images to acquire in each acquisition + num_exposures : int + number of exposures to average for each acquired image + external_trigger : bool + whether to pace frames from an external edge instead of the camera's + internal trigger + num_acquisitions : int + number of acquisitions to perform + time_gap : float + idle time between acquisitions, in seconds + sample_name : str, optional + name of the sample being imaged + md : dict, optional + extra metadata to merge into the run's metadata + use_shutter : bool + whether to open/check the photon shutter during the scan + fe_shutter : Shutter + the front-end shutter to check before opening the photon shutter + photon_shutter : Shutter + the photon shutter to open/close around the acquisition + """ + + fe_shutter = ensure_available(Shutter, fe_shutter=fe_shutter) + photon_shutter = ensure_available(Shutter, photon_shutter=photon_shutter) + + # Validate arguments before touching hardware. + if acquire_period <= exposure_time: + acquire_period = exposure_time + FRAME_PERIOD_MARGIN + # raise UserWarning( + # f"acquire_period ({acquire_period}) must be larger than exposure_time " + # f"({exposure_time}) to leave readout margin.") + + trigger_info = TriggerInfo( + trigger=DetectorTrigger.EXTERNAL_EDGE + if external_trigger + else DetectorTrigger.INTERNAL, + livetime=exposure_time, + deadtime=acquire_period - exposure_time, + exposures_per_collection=num_exposures, + collections_per_event=num_images, + number_of_events=1, + ) + + if use_shutter: + yield from ensure_shutter_open(fe_shutter) + + def _body(): + + if use_shutter: + yield from ensure_shutter_open(photon_shutter, allow_actuation=True) + + # Prepare all detectors for the upcoming acquisition, with the specified + # triggering configuration + for det in detectors: + yield from bps.prepare(det, trigger_info, group="prepare") + yield from bps.wait(group="prepare") + + # Attach additional metadata + _md = { + "plan_name": "take_radiograph", + } + if sample_name is not None: + _md["sample_name"] = sample_name + _md.update(md or {}) + yield from bp.count( + detectors, num_acquisitions, delay=time_gap, md=_md + ) + + def _cleanup(): + if use_shutter: + yield from ensure_shutter_closed(photon_shutter, allow_actuation=True) + + return (yield from bpp.finalize_wrapper(_body(), _cleanup())) diff --git a/src/hextools/tomography/take_radiograph.py b/src/hextools/tomography/take_radiograph.py deleted file mode 100644 index 7462708..0000000 --- a/src/hextools/tomography/take_radiograph.py +++ /dev/null @@ -1,158 +0,0 @@ -""" -Radiograph acquisition plan for HEX beamline. - -Equivalent of the old pyepics script: - hex-acq-pyepics/techniques/tomography/kinetix/take_radiograph.py - -What this plan does -------------------- -1. Check the front-end shutter and open the photon shutter. - The front-end shutter is only checked at entry; must already be open — this - plan never actuates it. -2. For each burst: fire ``frames_per_burst`` frames, then wait - ``wait_between_bursts``. -3. Close the photon shutter. - -Everything from shutter-open onward runs under a finalizer, so an error or -interrupt still closes the shutter. - -Trigger model -------------- -Each burst is a single ``bps.trigger_and_read`` on the camera's internal -trigger, with ``num_images`` set to ``frames_per_burst`` so one trigger fires -the whole burst. The plan owns the timing directly: ``acquire_time`` is set to -``exposure_time`` and ``acquire_period`` to ``frame_period``, so -``frame_period - exposure_time`` is the readout margin that keeps frames -non-overlapping — the same "period larger than exposure" discipline the old -PandA-paced script enforced with its PULSE step. A PandA-paced external-trigger -variant remains possible if precision frame timing is ever needed. - -Usage ------ - RE(take_radiograph( - [kinetix1], fe_shutter, ph_shutter, - exposure_time=0.5, - frames_per_burst=10, - num_bursts=5, - wait_between_bursts=10.0, - )) - -``detectors`` is a list (``[kinetix1]``) since multiple detectors are supported. - -Where files land is decided by each detector's path provider (set in the -profile), not by this plan — the old script's proposal-folder logic is gone. -""" - -import bluesky.plan_stubs as bps -import bluesky.preprocessors as bpp -from ophyd_async.epics.adcore import AreaDetector - -from hextools.photon_delivery_system import Shutter - -# Readout headroom (s) added to exposure_time when frame_period is unset; -# same margin the beamline's deployed PandA plan kept between step and exposure. -FRAME_PERIOD_MARGIN = 0.1 - - -def take_radiograph( - detectors: list[AreaDetector], - front_end_shutter: Shutter, - photon_shutter: Shutter, - exposure_time: float, - frames_per_burst: int = 10, - num_bursts: int = 5, - wait_between_bursts: float = 10.0, - frame_period: float | None = None, - use_shutter: bool = True, - sample_name: str | None = None, - md: dict | None = None, -): - """Acquire a burst-mode radiograph series on the HEX beamline. - - Parameters - ---------- - detectors : list[AreaDetector] - detectors to trigger; any ophyd-async detector is accepted - front_end_shutter : Shutter - the front-end shutter to check before opening the photon shutter - photon_shutter : Shutter - the photon shutter to open/close around the acquisition - exposure_time : float - camera exposure time, in seconds (no default — depends on the sample) - frames_per_burst : int - number of frames fired in each burst - num_bursts : int - number of bursts to acquire - wait_between_bursts : float - idle time between bursts, in seconds - frame_period : float, optional - minimum time per frame, in seconds; must exceed ``exposure_time``, and - the difference is enforced as the camera's deadtime. If None, computed - from ``exposure_time`` plus a readout margin - use_shutter : bool - whether to open/check the photon shutter during the scan - sample_name : str, optional - name of the sample being imaged - md : dict, optional - extra metadata to merge into the run's metadata - """ - # Validate arguments before touching hardware. - if frame_period is None: - frame_period = exposure_time + FRAME_PERIOD_MARGIN - if frame_period <= exposure_time: - raise ValueError( - f"frame_period ({frame_period}) must be larger than exposure_time " - f"({exposure_time}) to leave readout margin." - ) - - if use_shutter: - # FE shutter must already be open; this plan never actuates it. - fe_shutter_open = yield from bps.rd(front_end_shutter.status) - if not fe_shutter_open: - raise ValueError( - "Front-end shutter is closed. Please open it before starting the scan." - ) - - def _body(): - if use_shutter: - photon_shutter_open = yield from bps.rd(photon_shutter.status) - if not photon_shutter_open: - yield from bps.mv(photon_shutter, True) - - _md = { - "detectors": [det.name for det in detectors], - "num_points": num_bursts, - "plan_name": "take_radiograph", - "hints": {}, - # burst structure — lets analysis reconstruct the timing - "frames_per_burst": frames_per_burst, - "num_bursts": num_bursts, - "wait_between_bursts": wait_between_bursts, - "frame_period": frame_period, - "exposure_time": exposure_time, - } - for det in detectors: - yield from bps.mv(det.driver.num_images, frames_per_burst) - yield from bps.mv(det.driver.acquire_time, exposure_time) - yield from bps.mv(det.driver.acquire_period, frame_period) - - if sample_name is not None: - _md["sample_name"] = sample_name - _md.update(md or {}) - yield from bps.open_run(md=_md) - - yield from bps.stage_all(*detectors) - - for burst in range(num_bursts): - yield from bps.trigger_and_read(detectors) - if burst < num_bursts - 1: - yield from bps.sleep(wait_between_bursts) - - yield from bps.unstage_all(*detectors) - yield from bps.close_run() - - def _cleanup(): - if use_shutter: - yield from bps.mv(photon_shutter, False) - - return (yield from bpp.finalize_wrapper(_body(), _cleanup())) diff --git a/src/hextools/utils.py b/src/hextools/utils.py index 18c7c17..338bf93 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, OrderedDict, 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,41 @@ 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 + + +def ensure_available(var_type: type[NSVarT], **kwargs: NSVarT | None) -> NSVarT: + """Ensure that an object with a given name is available in the current scope, or it can be retrieved from the IPython namespace.""" + + if len(kwargs) != 1: + raise ValueError("Can only check availability of a single device at a time.") + + name = next(iter(kwargs)) + value = kwargs[name] + if not isinstance(value, var_type) and value is not None: + raise TypeError( + f"Value for {name} must be of type {var_type} or None, is {type(value)}" + ) + elif isinstance(value, var_type): + return value + else: + value = get_obj_from_ipython_ns(name, var_type) + if value is not None: + return value + raise ValueError( + f"Device {name} of type {var_type} is not available locally, or in the IPython namespace!" + ) + async def merge_async_iterables(*aiterables): """Merge multiple async iterables into a single async iterable.""" @@ -141,7 +178,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 @@ -161,15 +198,18 @@ def auto_init_devices(timeout: float = 1.0): async def _process_devices(devices: dict[str, Device]): for name, device in devices.items(): - device.set_name(name, child_name_separator="_") + if not device.name: + device.set_name(name) coros = { 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 +220,63 @@ 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)) diff --git a/tests/detectors/test_germ.py b/tests/detectors/test_germ.py new file mode 100644 index 0000000..56eb36d --- /dev/null +++ b/tests/detectors/test_germ.py @@ -0,0 +1,69 @@ +import asyncio + +import pytest + +from ophyd_async.core import ( + TriggerInfo, + callback_on_mock_put, + set_mock_value, + DetectorTrigger, +) +from hextools.detectors.germ import ( + GeRMTriggerLogic, + GeRMAcquireLogic, + GeRMDetector, + GeRMDetectorIO, +) +from ophyd_async.core import init_devices + + +@pytest.fixture +async def germ_io(): + async with init_devices(mock=True): + germ_io = GeRMDetectorIO("GeRM:") + return germ_io + + +@pytest.fixture +def germ_trigger_logic(germ_io): + return GeRMTriggerLogic(germ_io) + + +async def test_germ_trigger_logic_default_trigger_info( + germ_trigger_logic: GeRMTriggerLogic, +): + set_mock_value(germ_trigger_logic.driver.acquire_time, 0.25) + default_trig_info = await germ_trigger_logic.default_trigger_info() + assert default_trig_info == TriggerInfo( + livetime=0.25, + deadtime=0.0, + exposures_per_collection=1, + collections_per_event=1, + number_of_events=1, + trigger=DetectorTrigger.INTERNAL, + ) + + +async def test_germ_trigger_logic_prepare_internal( + germ_trigger_logic: GeRMTriggerLogic, +): + with pytest.raises(ValueError, match="Only a single"): + await germ_trigger_logic.prepare_internal(2, 0.25, 0.0) + + +async def test_germ_acquire_logic(germ_io: GeRMDetectorIO): + acquire_logic = GeRMAcquireLogic(germ_io) + + async def _mock_wait_for_idle(value: bool): + if value: + await asyncio.sleep(0.1) + set_mock_value(germ_io.acquire, False) + + callback_on_mock_put(germ_io.acquire, _mock_wait_for_idle) + assert await germ_io.acquire.get_value() is False + await acquire_logic.start_acquiring() + assert await germ_io.acquire.get_value() is True + await asyncio.sleep(0.2) + assert await germ_io.acquire.get_value() is False + await acquire_logic.ensure_stopped() + assert await germ_io.acquire.get_value() is False 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) diff --git a/tests/test_utils.py b/tests/test_utils.py index 57d43bc..2a78a40 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -7,6 +7,8 @@ from hextools.utils import ( ProposalIDPrompt, auto_init_devices, + ensure_available, + get_obj_from_ipython_ns, initialize_run_engine, is_running_in_ci, merge_async_iterables, @@ -48,7 +50,7 @@ async def test_auto_init_devices_preserves_dash_in_name(monkeypatch): # Dash preserved on the device, underscore used as the child separator. assert motor.name == "my-motor" - assert motor.velocity.name == "my-motor_velocity" + assert motor.velocity.name == "my-motor-velocity" async def test_auto_init_devices_context_manager_printout(monkeypatch, capsys): @@ -108,7 +110,7 @@ def test_proposal_id_prompt_tokens(): fake_re = SimpleNamespace(md={"data_session": "pass-42"}) fake_shell = SimpleNamespace(execution_count=7) - tokens = ProposalIDPrompt(fake_re, fake_shell).in_prompt_tokens() # ty: ignore[invalid-argument-type] + tokens = ProposalIDPrompt(fake_re, fake_shell).in_prompt_tokens() # type: ignore[invalid-argument-type] text = "".join(value for _, value in tokens) assert "pass-42" in text @@ -119,7 +121,7 @@ def test_proposal_id_prompt_defaults_when_missing(): fake_re = SimpleNamespace(md={}) fake_shell = SimpleNamespace(execution_count=1) - prompt = ProposalIDPrompt(fake_re, fake_shell) # ty: ignore[invalid-argument-type] + prompt = ProposalIDPrompt(fake_re, fake_shell) # type: ignore[invalid-argument-type] text = "".join(value for _, value in prompt.in_prompt_tokens()) assert "N/A" in text @@ -165,3 +167,69 @@ def test_start_beamtime(monkeypatch, capsys): out = capsys.readouterr().out assert "123456" in out assert "My Study" in out + + +def test_get_obj_from_ipython_ns(monkeypatch): + fake_ns = {"my_var": 42} + monkeypatch.setattr( + "hextools.utils.get_ipython", lambda: SimpleNamespace(user_ns=fake_ns) + ) + + result = get_obj_from_ipython_ns("my_var", int) + assert result == 42 + + result_none = get_obj_from_ipython_ns("non_existent_var", int) + assert result_none is None + + +@pytest.fixture +def mock_namespace(monkeypatch): + fake_ns = { + "my_var": 42, + "other_var": 99.5, + "another_var": "hello", + "a_fourth_var": "world", + } + monkeypatch.setattr( + "hextools.utils.get_ipython", lambda: SimpleNamespace(user_ns=fake_ns) + ) + return fake_ns + + +@pytest.mark.parametrize("kwargs", [{}, {"my_var": 42, "other_var": 99.5}]) +def test_ensure_available_only_takes_one_var(mock_namespace, kwargs): + with pytest.raises( + ValueError, match="Can only check availability of a single device at a time." + ): + ensure_available(int, **kwargs) + + +@pytest.mark.parametrize( + "name, value, type, expected", + [ + ("my_var", None, int, 42), + ("other_var", None, float, 99.5), + ("another_var", None, str, "hello"), + ("a_fourth_var", None, str, "world"), + ("provided_var", 123.4, float, 123.4), + ], +) +def test_ensure_available_success(mock_namespace, name, value, type, expected): + result = ensure_available(type, **{name: value}) + assert result == expected + + +def test_ensure_available_fails_if_val_invalid_type(mock_namespace): + with pytest.raises( + TypeError, + match="Value for my_var must be of type or None, is ", + ): + ensure_available(int, my_var="not an int") + + +def test_ensure_available_fails_if_not_provided_and_not_in_ns(mock_namespace): + with pytest.raises( + ValueError, + match="Device non_existent_var of type is not available locally, or in the IPython namespace!", + ): + ensure_available(int, non_existent_var=None) diff --git a/tests/tomography/test_take_radiograph.py b/tests/tomography/test_radiography.py similarity index 86% rename from tests/tomography/test_take_radiograph.py rename to tests/tomography/test_radiography.py index a1a93c4..f507378 100644 --- a/tests/tomography/test_take_radiograph.py +++ b/tests/tomography/test_radiography.py @@ -17,7 +17,7 @@ from ophyd_async.epics.adkinetix import KinetixDetector from hextools.photon_delivery_system import Shutter -from hextools.tomography.take_radiograph import FRAME_PERIOD_MARGIN, take_radiograph +from hextools.tomography.radiography import FRAME_PERIOD_MARGIN, take_radiograph # --- shutters: same shape as tests/tomography/test_alignment.py --------------- @@ -100,7 +100,7 @@ async def test_take_radiograph_single_row( ): # the profile sets this; tests do not load the profile monkeypatch.setenv("OPHYD_ASYNC_PRESERVE_DETECTOR_STATE", "YES") - exposure_time, frames_per_burst, num_bursts, wait = 0.1, 10, 5, 0.01 + exposure_time, num_images, num_acquisitions, wait = 0.1, 10, 5, 0.01 fe_shutter, photon_shutter = two_shutters ktx = kinetix_hdf_factory(1) @@ -121,33 +121,32 @@ def msg_hook(msg: Msg): RE( take_radiograph( [ktx], - fe_shutter, - photon_shutter, exposure_time, - frames_per_burst=frames_per_burst, - num_bursts=num_bursts, - wait_between_bursts=wait, + num_images=num_images, + num_acquisitions=num_acquisitions, + time_gap=wait, + use_shutter=True, + fe_shutter=fe_shutter, + photon_shutter=photon_shutter, ), cache_docs, # type: ignore ) for kind in ("start", "descriptor", "stream_resource", "stop"): assert len(docs[kind]) == 1 - assert len(docs["event"]) == num_bursts - assert len(docs["stream_datum"]) == num_bursts + assert len(docs["event"]) == num_acquisitions + assert len(docs["stream_datum"]) == num_acquisitions start = docs["start"][0] assert start["plan_name"] == "take_radiograph" - assert start["frames_per_burst"] == frames_per_burst - assert start["num_bursts"] == num_bursts - assert start["num_points"] == num_bursts sleeps = messages_by_type.get("sleep", []) - assert len(sleeps) == num_bursts - 1 - assert all(m.args == (wait,) for m in sleeps) + assert len(sleeps) == num_acquisitions - 1 + # bp.count subtracts elapsed time from the delay, so each sleep is <= wait + assert all(0 < m.args[0] <= wait for m in sleeps) assert await ktx.driver.acquire_time.get_value() == exposure_time - assert await ktx.driver.num_images.get_value() == frames_per_burst + assert await ktx.driver.num_images.get_value() == num_images assert await photon_shutter.status.get_value() is False # finalizer closed it assert await ktx.driver.acquire_period.get_value() == pytest.approx(