diff --git a/.bumpversion.toml b/.bumpversion.toml index 69867d12..18ab9dea 100644 --- a/.bumpversion.toml +++ b/.bumpversion.toml @@ -1,5 +1,5 @@ [tool.bumpversion] -current_version = "0.7.3" +current_version = "0.7.4" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" serialize = ["{major}.{minor}.{patch}"] search = "{current_version}" diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 7a21608b..9b0d32d7 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -6,8 +6,7 @@ runs: - name: Install pixi uses: prefix-dev/setup-pixi@v0.8.11 with: - pixi-version: "v0.49.0" - cache: true - # Frozen is needed as the ref git dependency was not playing nice with a fully locked environment - frozen: true + pixi-version: "v0.54.0" + cache: false # The self-hosted runners have a local cache + locked: true log-level: "v" diff --git a/CHANGELOG.md b/CHANGELOG.md index 085559ad..75f03976 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,14 @@ from the examples given in that link. +## ref-sample-data 0.7.4 (2025-09-26) + +### Improvements + +- Removes the ERA5 ta data Obs4REF in preference for fetching from Obs4MIPs directly. + This also removes the dependency on the climate-ref package. ([#50](https://github.com/CMIP-REF/ref-sample-data/pulls/50)) + + ## ref-sample-data 0.7.3 (2025-09-12) ### Improvements diff --git a/changelog/354.fix.md b/changelog/354.fix.md new file mode 100644 index 00000000..7b48f111 --- /dev/null +++ b/changelog/354.fix.md @@ -0,0 +1 @@ +Removes ERA5 ta dataset from obs4REF in preference for obs4MIP diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc deleted file mode 100644 index e30a483e..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc deleted file mode 100644 index 5bc705cf..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc deleted file mode 100644 index 44a6f1d7..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc deleted file mode 100644 index 697fb854..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc deleted file mode 100644 index 33f20d16..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc deleted file mode 100644 index 4af6a26c..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc deleted file mode 100644 index 4a0cd999..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc deleted file mode 100644 index 7317233d..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc and /dev/null differ diff --git a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc b/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc deleted file mode 100644 index add6bdd3..00000000 Binary files a/data/obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc and /dev/null differ diff --git a/pixi.lock b/pixi.lock index 1ad3f668..397f6dd2 100644 --- a/pixi.lock +++ b/pixi.lock @@ -98,9 +98,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.7.16-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.9.26-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.8-py312h68727a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda @@ -182,6 +183,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312h374181b_1.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/loguru-0.7.3-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312hf0f0c11_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda @@ -244,7 +246,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/questionary-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.06.26-h9925aae_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.0.0-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.8.9-pyhd8ed1ab_0.conda @@ -317,53 +319,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - - pypi: https://files.pythonhosted.org/packages/c2/62/96b5217b742805236614f05904541000f55422a6060a90d7fd4ce26c172d/alembic-1.16.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/79/0d/1939d5b53e0147582a7d56a32bba71c356c5159ac5499ffdcb923686ade9/climate_ref-0.6.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/da/a2ea9d27b1a5cb9297217d9aa52f7771c34f6419a18075f770e5cab0ff66/climate_ref_core-0.6.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/79/13/13576941bf7cf95026abae43d8427c812c0054408212bf8ed490eda846b0/crc32c-2.7.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/60/31/e51f20c85d78511e828ccebfa97287cdc8e9f291611bc6f526ef3ccf9a39/ecgtools-2024.7.31-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5b/75/e309b90c6f95a6e01aa86425ff567d3c634eea33bde915f3ceb910092461/environs-14.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a7/8f/213223fdee199c55db81e2d0c669f30e8285c5be2526c4ed924de39247da/fastprogress-1.0.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/f6/dd/c251b0ceb7d6019afe0ab90fe54e0d918adc9822de96f2e7c5fc1bec2c0e/intake-2.0.8-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/5e/20de2f054d670a617386debd28b9f28548a2d80e346ffc776a29b7f15f57/intake_esm-2025.7.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/63/f8/0031ee2b906a15a33d6bfc12dd09c3dfa966b3cb5b284ecfb7549e6ac3c4/ipython-9.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/cc/a2af9cb19114be0f0afc0242d3e5cb018ac0cbdcf17816c2dd71b68edc79/itables-2.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/bb/fbc7dd6ea215b97b90c35efc8c8f3dbfcbacb91af8c806dff1f49deddd8e/liccheck-0.9.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/69/f8/693b1a10a891197143c0673fcce5b75fc69132afa81a36e4568c12c8faba/lxml-6.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d6/26/6cc45d156f44dbe1d5696d9e54042e4dcaf7b946c0b86df6a97d29706f32/marshmallow-4.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1b/f5/515f98d659ab0cbe3738da153eddae22186fd38f05a808511e10f04cf679/numcodecs-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/82/bf/0228119bfc1adfbf5196d351d6cd73ff52ac26d1dc5f01161dbae3d02b68/parsl-2025.7.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b8/d9/5e2753784ea30d84b3e769a56f5e50ac5a89c129e87baa16ac0773eb4ef7/polars-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/da/0c/6040018ee5854ab1e262e6e1758ccf2de49b1e54a1a811f8316ce3a5db2a/pydap-3.5.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/69/9a/9ea7e230feda9400fb0ae0d61d7d6ddda635e718d941c44eeab22a179d34/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e3/fb/5e9b5068df9e9f31a722a775a5e8322a29a638eaaa3eac5ea7f0b35e6314/setproctitle-1.3.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/bd/c336448be43d40be28e71f2e0f3caf7ccb28e2755c58f4c02c065bfe3e8e/WebOb-1.8.9-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/94/72/c5fd70742126cab7403126a1719b4161a81b816d83a2fdb78b390d8ecc47/zarr-3.1.0-py3-none-any.whl - pypi: ./ osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda @@ -440,9 +398,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.7.16-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.9.26-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.8-py313h0ebd0e5_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.17-h7eeda09_0.conda @@ -501,6 +460,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.8-hbb9b287_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py313hd06b435_1.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/loguru-0.7.3-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py313h28882b1_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda @@ -558,7 +518,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/questionary-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.06.26-h6589ca4_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.0.0-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.8.9-pyhd8ed1ab_0.conda @@ -607,53 +567,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py313h90d716c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda - - pypi: https://files.pythonhosted.org/packages/c2/62/96b5217b742805236614f05904541000f55422a6060a90d7fd4ce26c172d/alembic-1.16.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/79/0d/1939d5b53e0147582a7d56a32bba71c356c5159ac5499ffdcb923686ade9/climate_ref-0.6.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/da/a2ea9d27b1a5cb9297217d9aa52f7771c34f6419a18075f770e5cab0ff66/climate_ref_core-0.6.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/47/02/2bd65fdef10139b6a802d83a7f966b7750fe5ffb1042f7cbe5dbb6403869/crc32c-2.7.1-cp313-cp313-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/60/31/e51f20c85d78511e828ccebfa97287cdc8e9f291611bc6f526ef3ccf9a39/ecgtools-2024.7.31-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5b/75/e309b90c6f95a6e01aa86425ff567d3c634eea33bde915f3ceb910092461/environs-14.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a7/8f/213223fdee199c55db81e2d0c669f30e8285c5be2526c4ed924de39247da/fastprogress-1.0.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f6/dd/c251b0ceb7d6019afe0ab90fe54e0d918adc9822de96f2e7c5fc1bec2c0e/intake-2.0.8-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/5e/20de2f054d670a617386debd28b9f28548a2d80e346ffc776a29b7f15f57/intake_esm-2025.7.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/63/f8/0031ee2b906a15a33d6bfc12dd09c3dfa966b3cb5b284ecfb7549e6ac3c4/ipython-9.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/cc/a2af9cb19114be0f0afc0242d3e5cb018ac0cbdcf17816c2dd71b68edc79/itables-2.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5a/33/68c6c38193684537757e0d50a7ccb4f4656e5c2f7cd2be737a9d4a1bff71/legacy_cgi-2.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/bb/fbc7dd6ea215b97b90c35efc8c8f3dbfcbacb91af8c806dff1f49deddd8e/liccheck-0.9.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/79/21/6e7c060822a3c954ff085e5e1b94b4a25757c06529eac91e550f3f5cd8b8/lxml-6.0.0-cp313-cp313-macosx_10_13_universal2.whl - - pypi: https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d6/26/6cc45d156f44dbe1d5696d9e54042e4dcaf7b946c0b86df6a97d29706f32/marshmallow-4.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/42/72/5affb1ce92b7a6becee17921de7c6b521a48fa61fc3d36d9f1eea2cf83f5/numcodecs-0.16.1-cp313-cp313-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/82/bf/0228119bfc1adfbf5196d351d6cd73ff52ac26d1dc5f01161dbae3d02b68/parsl-2025.7.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/77/fe/81aaca3540c1a5530b4bc4fd7f1b6f77100243d7bb9b7ad3478b770d8b3e/polars-1.31.0-cp39-abi3-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/da/0c/6040018ee5854ab1e262e6e1758ccf2de49b1e54a1a811f8316ce3a5db2a/pydap-3.5.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/93/a7/9ad68f55b8834ede477842214feba6a4c786d936c022a67625497aacf61d/pyzmq-27.0.0-cp312-abi3-macosx_10_15_universal2.whl - pypi: https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5c/5b/4e0db8b10b4543afcb3dbc0827793d46e43ec1de6b377e313af3703d08e0/setproctitle-1.3.6-cp313-cp313-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/50/bd/c336448be43d40be28e71f2e0f3caf7ccb28e2755c58f4c02c065bfe3e8e/WebOb-1.8.9-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/94/72/c5fd70742126cab7403126a1719b4161a81b816d83a2fdb78b390d8ecc47/zarr-3.1.0-py3-none-any.whl - pypi: ./ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 @@ -677,17 +593,6 @@ packages: purls: [] size: 23621 timestamp: 1650670423406 -- pypi: https://files.pythonhosted.org/packages/c2/62/96b5217b742805236614f05904541000f55422a6060a90d7fd4ce26c172d/alembic-1.16.4-py3-none-any.whl - name: alembic - version: 1.16.4 - sha256: b05e51e8e82efc1abd14ba2af6392897e145930c3e0a2faf2b0da2f7f7fd660d - requires_dist: - - sqlalchemy>=1.4.0 - - mako - - typing-extensions>=4.12 - - tomli ; python_full_version < '3.11' - - tzdata ; extra == 'tz' - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda sha256: b9214bc17e89bf2b691fad50d952b7f029f6148f4ac4fe7c60c08f093efdf745 md5: 76df83c2a9035c54df5d04ff81bcc02d @@ -730,17 +635,6 @@ packages: - pkg:pypi/anyio?source=hash-mapping size: 126346 timestamp: 1742243108743 -- pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl - name: asttokens - version: 3.0.0 - sha256: e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2 - requires_dist: - - astroid>=2,<4 ; extra == 'astroid' - - astroid>=2,<4 ; extra == 'test' - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-xdist ; extra == 'test' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda sha256: 99c53ffbcb5dc58084faf18587b215f9ac8ced36bbfb55fa807c00967e419019 md5: a10d11958cadc13fdb43df75f8b1903f @@ -1234,19 +1128,6 @@ packages: purls: [] size: 196352 timestamp: 1752006813762 -- pypi: https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl - name: beautifulsoup4 - version: 4.13.4 - sha256: 9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b - requires_dist: - - soupsieve>1.2 - - typing-extensions>=4.0.0 - - cchardet ; extra == 'cchardet' - - chardet ; extra == 'chardet' - - charset-normalizer ; extra == 'charset-normalizer' - - html5lib ; extra == 'html5lib' - - lxml ; extra == 'lxml' - requires_python: '>=3.7.0' - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d md5: 2c2fae981fd2afd00812c92ac47d023d @@ -1625,53 +1506,6 @@ packages: - pkg:pypi/click?source=hash-mapping size: 87749 timestamp: 1747811451319 -- pypi: https://files.pythonhosted.org/packages/79/0d/1939d5b53e0147582a7d56a32bba71c356c5159ac5499ffdcb923686ade9/climate_ref-0.6.5-py3-none-any.whl - name: climate-ref - version: 0.6.5 - sha256: 7330788a6574d0d78aabe31c10d7abf979a636ed40c24985275727a95d5db730 - requires_dist: - - alembic>=1.13.3 - - attrs>=24.2.0 - - cattrs>=24.1.2 - - climate-ref-core - - ecgtools>=2024.7.31 - - environs>=11.0.0 - - loguru>=0.7.2 - - parsl>=2025.5.19 ; sys_platform != 'win32' - - platformdirs>=4.3.6 - - sqlalchemy>=2.0.36 - - tomlkit>=0.13.2 - - tqdm>=4.67.1 - - typer>=0.12.5 - - climate-ref-esmvaltool>=0.5.0 ; extra == 'aft-providers' - - climate-ref-ilamb>=0.5.0 ; extra == 'aft-providers' - - climate-ref-pmp>=0.5.0 ; extra == 'aft-providers' - - climate-ref-celery>=0.5.0 ; extra == 'celery' - - alembic-postgresql-enum>=1.7.0 ; extra == 'postgres' - - psycopg2-binary>=2.9.2 ; extra == 'postgres' - - climate-ref-esmvaltool>=0.5.0 ; extra == 'providers' - - climate-ref-ilamb>=0.5.0 ; extra == 'providers' - - climate-ref-pmp>=0.5.0 ; extra == 'providers' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/2f/da/a2ea9d27b1a5cb9297217d9aa52f7771c34f6419a18075f770e5cab0ff66/climate_ref_core-0.6.3-py3-none-any.whl - name: climate-ref-core - version: 0.6.3 - sha256: 1c97f79a24b92ba0ffae752e25d04776aa957a6804ac66c05559ad10a16bc060 - requires_dist: - - attrs>=23.2.0 - - cattrs>=24.1 - - environs>=11 - - loguru>=0.7.0 - - numpy>=1.25.0 - - pandas>=2.1.0 - - pooch>=1.8.0,<2 - - pydantic>=2.10.6 - - pyyaml>=6.0.2 - - requests - - rich - - setuptools>=75.8.0 - - typing-extensions - requires_python: '>=3.11' - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda sha256: 21ecead7268241007bf65691610cd7314da68c1f88113092af690203b5780db5 md5: 364ba6c9fb03886ac979b482f39ebb92 @@ -1726,16 +1560,6 @@ packages: - pkg:pypi/contourpy?source=hash-mapping size: 247420 timestamp: 1744743362236 -- pypi: https://files.pythonhosted.org/packages/47/02/2bd65fdef10139b6a802d83a7f966b7750fe5ffb1042f7cbe5dbb6403869/crc32c-2.7.1-cp313-cp313-macosx_11_0_arm64.whl - name: crc32c - version: 2.7.1 - sha256: ba110df60c64c8e2d77a9425b982a520ccdb7abe42f06604f4d98a45bb1fff62 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/79/13/13576941bf7cf95026abae43d8427c812c0054408212bf8ed490eda846b0/crc32c-2.7.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: crc32c - version: 2.7.1 - sha256: c02a3bd67dea95cdb25844aaf44ca2e1b0c1fd70b287ad08c874a95ef4bb38db - requires_python: '>=3.7' - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-45.0.5-py312hda17c39_0.conda sha256: 4f0940ea061bc0194a447d1c571918e79ad834ef4d26fe4d17a4503bee71a49c md5: b315b9ae992b31e65c59be8fac2e234a @@ -1885,19 +1709,6 @@ packages: purls: [] size: 437860 timestamp: 1747855126005 -- pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl - name: decorator - version: 5.2.1 - sha256: d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl - name: dill - version: 0.4.0 - sha256: 44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049 - requires_dist: - - objgraph>=1.7.2 ; extra == 'graph' - - gprof2dot>=2022.7.29 ; extra == 'profile' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.9-pyhd8ed1ab_1.conda sha256: 0e160c21776bd881b79ce70053e59736f51036784fa43a50da10a04f0c1b9c45 md5: 8d88f4a2242e6b96f9ecff9a6a05b2f1 @@ -1938,19 +1749,6 @@ packages: - pkg:pypi/distributed?source=hash-mapping size: 847541 timestamp: 1752539128419 -- pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl - name: donfig - version: 0.8.1.post1 - sha256: 2a3175ce74a06109ff9307d90a230f81215cbac9a751f4d1c6194644b8204f9d - requires_dist: - - pyyaml - - sphinx>=4.0.0 ; extra == 'docs' - - numpydoc ; extra == 'docs' - - pytest ; extra == 'docs' - - cloudpickle ; extra == 'docs' - - pytest ; extra == 'test' - - cloudpickle ; extra == 'test' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda sha256: 1bcc132fbcc13f9ad69da7aa87f60ea41de7ed4d09f3a00ff6e0e70e1c690bc2 md5: bfd56492d8346d669010eccafe0ba058 @@ -1963,40 +1761,6 @@ packages: purls: [] size: 69544 timestamp: 1739569648873 -- pypi: https://files.pythonhosted.org/packages/60/31/e51f20c85d78511e828ccebfa97287cdc8e9f291611bc6f526ef3ccf9a39/ecgtools-2024.7.31-py3-none-any.whl - name: ecgtools - version: 2024.7.31 - sha256: dd36ffaaeb0ab5a93afa9b7c84ef7a46af7d2183d1f38ccd68fc8545a4d96469 - requires_dist: - - cf-xarray - - joblib - - netcdf4 - - xarray - - pyyaml - - pydantic>=2.0 - - pandas - - fsspec - - intake-esm>=2023.7.7 - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/5b/75/e309b90c6f95a6e01aa86425ff567d3c634eea33bde915f3ceb910092461/environs-14.2.0-py3-none-any.whl - name: environs - version: 14.2.0 - sha256: 22669a58d53c5b86a25d0231c4a41a6ebeb82d3942b8fbd9cf645890c92a1843 - requires_dist: - - python-dotenv - - marshmallow>=3.18.0 - - typing-extensions ; python_full_version < '3.11' - - environs[tests] ; extra == 'dev' - - tox ; extra == 'dev' - - pre-commit>=4.0,<5.0 ; extra == 'dev' - - dj-database-url ; extra == 'django' - - dj-email-url ; extra == 'django' - - django-cache-url ; extra == 'django' - - environs[django] ; extra == 'tests' - - pytest ; extra == 'tests' - - packaging ; extra == 'tests' - - backports-strenum ; python_full_version < '3.11' and extra == 'tests' - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/linux-64/esmf-8.8.1-nompi_hc4cf7a7_1.conda sha256: ad65a6c8f9462d5ec5135c02de9da8df163fe58c1ea4bed608b3490256085e44 md5: ec6d1f88717320c6c701dff9b4764baf @@ -2058,24 +1822,6 @@ packages: - pkg:pypi/exceptiongroup?source=hash-mapping size: 21284 timestamp: 1746947398083 -- pypi: https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl - name: executing - version: 2.2.0 - sha256: 11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa - requires_dist: - - asttokens>=2.1.0 ; extra == 'tests' - - ipython ; extra == 'tests' - - pytest ; extra == 'tests' - - coverage ; extra == 'tests' - - coverage-enable-subprocess ; extra == 'tests' - - littleutils ; extra == 'tests' - - rich ; python_full_version >= '3.11' and extra == 'tests' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/a7/8f/213223fdee199c55db81e2d0c669f30e8285c5be2526c4ed924de39247da/fastprogress-1.0.3-py3-none-any.whl - name: fastprogress - version: 1.0.3 - sha256: 6dfea88f7a4717b0a8d6ee2048beae5dbed369f932a368c5dd9caff34796f7c5 - requires_python: '>=3.6' - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.18.0-pyhd8ed1ab_0.conda sha256: de7b6d4c4f865609ae88db6fa03c8b7544c2452a1aa5451eb7700aad16824570 md5: 4547b39256e296bb758166893e909a7c @@ -2325,16 +2071,6 @@ packages: purls: [] size: 98419 timestamp: 1750079957535 -- pypi: https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: greenlet - version: 3.2.3 - sha256: 706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb - requires_dist: - - sphinx ; extra == 'docs' - - furo ; extra == 'docs' - - objgraph ; extra == 'test' - - psutil ; extra == 'test' - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhd8ed1ab_0.conda sha256: f64b68148c478c3bfc8f8d519541de7d2616bf59d44485a5271041d40c061887 md5: 4b69232755285701bc86a5afe4d9933a @@ -2569,19 +2305,9 @@ packages: - pkg:pypi/importlib-resources?source=hash-mapping size: 33781 timestamp: 1736252433366 -- pypi: https://files.pythonhosted.org/packages/f6/dd/c251b0ceb7d6019afe0ab90fe54e0d918adc9822de96f2e7c5fc1bec2c0e/intake-2.0.8-py3-none-any.whl - name: intake - version: 2.0.8 - sha256: 6095ed5b65568cd9cd1da1fc9d3977c9b981d74264ea9eafb6964f1d508632c5 - requires_dist: - - fsspec>=2023.0.0 - - pyyaml - - platformdirs - - networkx - requires_python: '>=3.8' -- conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.7.16-pyhd8ed1ab_0.conda - sha256: 780555f2b48c5453bb7dc9ee02c7e3b11564f4424d9cd0b6b788f164a4b7b94c - md5: 1c3afd8dedf3e8eb335f1fc1cefb8d0a +- conda: https://conda.anaconda.org/conda-forge/noarch/intake-esgf-2025.9.26-pyhd8ed1ab_0.conda + sha256: 2caec19d646304e4cf6bfcc126c9990c19c5f1c3ae041df81929886f1423dd58 + md5: d8c76b6935ee17c70281ccc5e4f70f74 depends: - dask - globus-sdk @@ -2599,152 +2325,8 @@ packages: license_family: BSD purls: - pkg:pypi/intake-esgf?source=hash-mapping - size: 42842 - timestamp: 1752843365678 -- pypi: https://files.pythonhosted.org/packages/a5/5e/20de2f054d670a617386debd28b9f28548a2d80e346ffc776a29b7f15f57/intake_esm-2025.7.9-py3-none-any.whl - name: intake-esm - version: 2025.7.9 - sha256: eb444e0bda55c40af9fd15f8fcecd04571e43eeaaaab46b963b353c3e01dab45 - requires_dist: - - dask[complete]>=2024.12 - - fastprogress>=1.0.0 - - fsspec>=2024.12 - - intake>=2.0.0 - - itables - - netcdf4>=1.5.5 - - pandas>=2.1.0 - - polars>=1.24.0 - - pydantic>=2.0 - - pydap!=3.5.5 - - requests>=2.24.0 - - xarray>=2024.10 - - zarr>=2.12 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/63/f8/0031ee2b906a15a33d6bfc12dd09c3dfa966b3cb5b284ecfb7549e6ac3c4/ipython-9.4.0-py3-none-any.whl - name: ipython - version: 9.4.0 - sha256: 25850f025a446d9b359e8d296ba175a36aedd32e83ca9b5060430fe16801f066 - requires_dist: - - colorama ; sys_platform == 'win32' - - decorator - - ipython-pygments-lexers - - jedi>=0.16 - - matplotlib-inline - - pexpect>4.3 ; sys_platform != 'emscripten' and sys_platform != 'win32' - - prompt-toolkit>=3.0.41,<3.1.0 - - pygments>=2.4.0 - - stack-data - - traitlets>=5.13.0 - - typing-extensions>=4.6 ; python_full_version < '3.12' - - black ; extra == 'black' - - docrepr ; extra == 'doc' - - exceptiongroup ; extra == 'doc' - - intersphinx-registry ; extra == 'doc' - - ipykernel ; extra == 'doc' - - ipython[test] ; extra == 'doc' - - matplotlib ; extra == 'doc' - - setuptools>=18.5 ; extra == 'doc' - - sphinx-toml==0.0.4 ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - sphinx>=1.3 ; extra == 'doc' - - typing-extensions ; extra == 'doc' - - pytest ; extra == 'test' - - pytest-asyncio<0.22 ; extra == 'test' - - testpath ; extra == 'test' - - packaging ; extra == 'test' - - ipython[test] ; extra == 'test-extra' - - curio ; extra == 'test-extra' - - jupyter-ai ; extra == 'test-extra' - - matplotlib!=3.2.0 ; extra == 'test-extra' - - nbformat ; extra == 'test-extra' - - nbclient ; extra == 'test-extra' - - ipykernel ; extra == 'test-extra' - - numpy>=1.23 ; extra == 'test-extra' - - pandas ; extra == 'test-extra' - - trio ; extra == 'test-extra' - - matplotlib ; extra == 'matplotlib' - - ipython[doc,matplotlib,test,test-extra] ; extra == 'all' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl - name: ipython-pygments-lexers - version: 1.1.1 - sha256: a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c - requires_dist: - - pygments - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/a5/cc/a2af9cb19114be0f0afc0242d3e5cb018ac0cbdcf17816c2dd71b68edc79/itables-2.4.4-py3-none-any.whl - name: itables - version: 2.4.4 - sha256: eb59b24700f6b4ba2a7810a226eeab207a83a2461120f1fd65220f70872eaa45 - requires_dist: - - ipython - - numpy - - pandas - - anywidget ; extra == 'all' - - dash ; extra == 'all' - - matplotlib ; extra == 'all' - - polars ; extra == 'all' - - pyarrow ; extra == 'all' - - pytz ; extra == 'all' - - shiny ; extra == 'all' - - shinywidgets ; extra == 'all' - - streamlit ; extra == 'all' - - traitlets ; extra == 'all' - - typeguard>=4.4.1 ; extra == 'all' - - world-bank-data ; extra == 'all' - - typeguard>=4.4.1 ; extra == 'check-type' - - dash ; extra == 'dash' - - anywidget ; extra == 'dev' - - dash ; extra == 'dev' - - ipykernel ; extra == 'dev' - - jupyterlab ; extra == 'dev' - - jupytext ; extra == 'dev' - - marimo ; extra == 'dev' - - matplotlib ; extra == 'dev' - - nbconvert ; extra == 'dev' - - polars ; extra == 'dev' - - pyarrow ; extra == 'dev' - - pytest ; extra == 'dev' - - pytest-cov ; extra == 'dev' - - pytz ; extra == 'dev' - - requests ; extra == 'dev' - - shiny ; extra == 'dev' - - shinywidgets ; extra == 'dev' - - streamlit ; extra == 'dev' - - traitlets ; extra == 'dev' - - typeguard>=4.4.1 ; extra == 'dev' - - watchfiles ; extra == 'dev' - - world-bank-data ; extra == 'dev' - - polars ; extra == 'polars' - - pyarrow ; extra == 'polars' - - pytz ; extra == 'samples' - - world-bank-data ; extra == 'samples' - - shiny ; extra == 'shiny' - - shinywidgets ; extra == 'shiny' - - streamlit ; extra == 'streamlit' - - matplotlib ; extra == 'style' - - anywidget ; extra == 'test' - - dash ; extra == 'test' - - ipykernel ; extra == 'test' - - jupytext ; extra == 'test' - - marimo ; extra == 'test' - - matplotlib ; extra == 'test' - - nbconvert ; extra == 'test' - - polars ; extra == 'test' - - pyarrow ; extra == 'test' - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytz ; extra == 'test' - - requests ; extra == 'test' - - shiny ; extra == 'test' - - shinywidgets ; extra == 'test' - - streamlit ; extra == 'test' - - traitlets ; extra == 'test' - - typeguard>=4.4.1 ; extra == 'test' - - world-bank-data ; extra == 'test' - - anywidget ; extra == 'widget' - - traitlets ; extra == 'widget' - requires_python: '>=3.9' + size: 51509 + timestamp: 1758909588498 - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda sha256: 1684b7b16eec08efef5302ce298c606b163c18272b69a62b666fbaa61516f170 md5: 7ac5f795c15f288984e32add616cdc59 @@ -2756,46 +2338,6 @@ packages: - pkg:pypi/itsdangerous?source=hash-mapping size: 19180 timestamp: 1733308353037 -- pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl - name: jedi - version: 0.19.2 - sha256: a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9 - requires_dist: - - parso>=0.8.4,<0.9.0 - - jinja2==2.11.3 ; extra == 'docs' - - markupsafe==1.1.1 ; extra == 'docs' - - pygments==2.8.1 ; extra == 'docs' - - alabaster==0.7.12 ; extra == 'docs' - - babel==2.9.1 ; extra == 'docs' - - chardet==4.0.0 ; extra == 'docs' - - commonmark==0.8.1 ; extra == 'docs' - - docutils==0.17.1 ; extra == 'docs' - - future==0.18.2 ; extra == 'docs' - - idna==2.10 ; extra == 'docs' - - imagesize==1.2.0 ; extra == 'docs' - - mock==1.0.1 ; extra == 'docs' - - packaging==20.9 ; extra == 'docs' - - pyparsing==2.4.7 ; extra == 'docs' - - pytz==2021.1 ; extra == 'docs' - - readthedocs-sphinx-ext==2.1.4 ; extra == 'docs' - - recommonmark==0.5.0 ; extra == 'docs' - - requests==2.25.1 ; extra == 'docs' - - six==1.15.0 ; extra == 'docs' - - snowballstemmer==2.1.0 ; extra == 'docs' - - sphinx-rtd-theme==0.4.3 ; extra == 'docs' - - sphinx==1.8.5 ; extra == 'docs' - - sphinxcontrib-serializinghtml==1.1.4 ; extra == 'docs' - - sphinxcontrib-websupport==1.2.4 ; extra == 'docs' - - urllib3==1.26.4 ; extra == 'docs' - - flake8==5.0.4 ; extra == 'qa' - - mypy==0.971 ; extra == 'qa' - - types-setuptools==67.2.0.1 ; extra == 'qa' - - django ; extra == 'testing' - - attrs ; extra == 'testing' - - colorama ; extra == 'testing' - - docopt ; extra == 'testing' - - pytest<9.0.0 ; extra == 'testing' - requires_python: '>=3.6' - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda sha256: f1ac18b11637ddadc05642e8185a851c7fab5998c6f5470d716812fae943b2af md5: 446bd6c8cb26050d528881df495ce646 @@ -2808,11 +2350,18 @@ packages: - pkg:pypi/jinja2?source=compressed-mapping size: 112714 timestamp: 1741263433881 -- pypi: https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl - name: joblib - version: 1.5.1 - sha256: 4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda + sha256: 6fc414c5ae7289739c2ba75ff569b79f72e38991d61eb67426a8a4b92f90462c + md5: 4e717929cfa0d49cef92d911e31d0e90 + depends: + - python >=3.10 + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/joblib?source=hash-mapping + size: 224671 + timestamp: 1756321850584 - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb md5: 30186d27e2c9fa62b45fb1476b7200e3 @@ -2918,11 +2467,6 @@ packages: purls: [] size: 676044 timestamp: 1752032747103 -- pypi: https://files.pythonhosted.org/packages/5a/33/68c6c38193684537757e0d50a7ccb4f4656e5c2f7cd2be737a9d4a1bff71/legacy_cgi-2.6.3-py3-none-any.whl - name: legacy-cgi - version: 2.6.3 - sha256: 6df2ea5ae14c71ef6f097f8b6372b44f6685283dc018535a75c924564183cdab - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda sha256: 412381a43d5ff9bbed82cd52a0bbca5b90623f62e41007c9c42d3870c60945ff md5: 9344155d33912347b37f0ae6c410a835 @@ -4688,59 +4232,18 @@ packages: - pkg:pypi/locket?source=hash-mapping size: 8250 timestamp: 1650660473123 -- pypi: https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl - name: loguru - version: 0.7.3 - sha256: 31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c - requires_dist: - - colorama>=0.3.4 ; sys_platform == 'win32' - - aiocontextvars>=0.2.0 ; python_full_version < '3.7' - - win32-setctime>=1.0.0 ; sys_platform == 'win32' - - pre-commit==4.0.1 ; python_full_version >= '3.9' and extra == 'dev' - - tox==3.27.1 ; python_full_version < '3.8' and extra == 'dev' - - tox==4.23.2 ; python_full_version >= '3.8' and extra == 'dev' - - pytest==6.1.2 ; python_full_version < '3.8' and extra == 'dev' - - pytest==8.3.2 ; python_full_version >= '3.8' and extra == 'dev' - - pytest-cov==2.12.1 ; python_full_version < '3.8' and extra == 'dev' - - pytest-cov==5.0.0 ; python_full_version == '3.8.*' and extra == 'dev' - - pytest-cov==6.0.0 ; python_full_version >= '3.9' and extra == 'dev' - - pytest-mypy-plugins==1.9.3 ; python_full_version >= '3.6' and python_full_version < '3.8' and extra == 'dev' - - pytest-mypy-plugins==3.1.0 ; python_full_version >= '3.8' and extra == 'dev' - - colorama==0.4.5 ; python_full_version < '3.8' and extra == 'dev' - - colorama==0.4.6 ; python_full_version >= '3.8' and extra == 'dev' - - freezegun==1.1.0 ; python_full_version < '3.8' and extra == 'dev' - - freezegun==1.5.0 ; python_full_version >= '3.8' and extra == 'dev' - - exceptiongroup==1.1.3 ; python_full_version >= '3.7' and python_full_version < '3.11' and extra == 'dev' - - mypy==0.910 ; python_full_version < '3.6' and extra == 'dev' - - mypy==0.971 ; python_full_version == '3.6.*' and extra == 'dev' - - mypy==1.4.1 ; python_full_version == '3.7.*' and extra == 'dev' - - mypy==1.13.0 ; python_full_version >= '3.8' and extra == 'dev' - - sphinx==8.1.3 ; python_full_version >= '3.11' and extra == 'dev' - - sphinx-rtd-theme==3.0.2 ; python_full_version >= '3.11' and extra == 'dev' - - myst-parser==4.0.0 ; python_full_version >= '3.11' and extra == 'dev' - - build==1.2.2 ; python_full_version >= '3.11' and extra == 'dev' - - twine==6.0.1 ; python_full_version >= '3.11' and extra == 'dev' - requires_python: '>=3.5,<4.0' -- pypi: https://files.pythonhosted.org/packages/69/f8/693b1a10a891197143c0673fcce5b75fc69132afa81a36e4568c12c8faba/lxml-6.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - name: lxml - version: 6.0.0 - sha256: ca50bd612438258a91b5b3788c6621c1f05c8c478e7951899f492be42defc0da - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/79/21/6e7c060822a3c954ff085e5e1b94b4a25757c06529eac91e550f3f5cd8b8/lxml-6.0.0-cp313-cp313-macosx_10_13_universal2.whl - name: lxml - version: 6.0.0 - sha256: 6da7cd4f405fd7db56e51e96bff0865b9853ae70df0e6720624049da76bde2da - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + sha256: e4a07f357a4cf195a2345dabd98deab80f4d53574abe712a9cc7f22d3f2cc2c3 + md5: 49647ac1de4d1e4b49124aedf3934e02 + depends: + - __unix + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/loguru?source=hash-mapping + size: 59696 + timestamp: 1746634858826 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312hf0f0c11_0.conda sha256: a04aff570a27173eea3a2b515b4794ce20e058b658f642475f72ccc1f6d88cff md5: f770ae71fc1800e7a735a7b452c0ab81 @@ -4794,16 +4297,6 @@ packages: purls: [] size: 148824 timestamp: 1733741047892 -- pypi: https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl - name: mako - version: 1.3.10 - sha256: baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59 - requires_dist: - - markupsafe>=0.9.2 - - pytest ; extra == 'testing' - - babel ; extra == 'babel' - - lingua ; extra == 'lingua' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda sha256: 0fbacdfb31e55964152b24d5567e9a9996e1e7902fb08eb7d91b5fd6ce60803a md5: fee3164ac23dfca50cfcc8b85ddefb81 @@ -4848,25 +4341,6 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 24757 timestamp: 1733219916634 -- pypi: https://files.pythonhosted.org/packages/d6/26/6cc45d156f44dbe1d5696d9e54042e4dcaf7b946c0b86df6a97d29706f32/marshmallow-4.0.0-py3-none-any.whl - name: marshmallow - version: 4.0.0 - sha256: e7b0528337e9990fd64950f8a6b3a1baabed09ad17a0dfb844d701151f92d203 - requires_dist: - - backports-datetime-fromisoformat ; python_full_version < '3.11' - - typing-extensions ; python_full_version < '3.11' - - marshmallow[tests] ; extra == 'dev' - - tox ; extra == 'dev' - - pre-commit>=3.5,<5.0 ; extra == 'dev' - - autodocsumm==0.2.14 ; extra == 'docs' - - furo==2024.8.6 ; extra == 'docs' - - sphinx-copybutton==0.5.2 ; extra == 'docs' - - sphinx-issues==5.0.1 ; extra == 'docs' - - sphinx==8.2.3 ; extra == 'docs' - - sphinxext-opengraph==0.10.0 ; extra == 'docs' - - pytest ; extra == 'tests' - - simplejson ; extra == 'tests' - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.3-py312h7900ff3_0.conda sha256: 2255888d215fb1438b968bd7e5fd89580c25eb90f4010aad38dda8aac7b642c8 md5: 40e02247b1467ce6fff28cad870dc833 @@ -4953,13 +4427,6 @@ packages: - pkg:pypi/matplotlib?source=hash-mapping size: 8180005 timestamp: 1746820965852 -- pypi: https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl - name: matplotlib-inline - version: 0.1.7 - sha256: df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca - requires_dist: - - traitlets - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 md5: 592132998493b3ff25fd7479396e8351 @@ -5114,42 +4581,6 @@ packages: - pkg:pypi/netcdf4?source=hash-mapping size: 1056057 timestamp: 1745589404901 -- pypi: https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl - name: networkx - version: '3.5' - sha256: 0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec - requires_dist: - - numpy>=1.25 ; extra == 'default' - - scipy>=1.11.2 ; extra == 'default' - - matplotlib>=3.8 ; extra == 'default' - - pandas>=2.0 ; extra == 'default' - - pre-commit>=4.1 ; extra == 'developer' - - mypy>=1.15 ; extra == 'developer' - - sphinx>=8.0 ; extra == 'doc' - - pydata-sphinx-theme>=0.16 ; extra == 'doc' - - sphinx-gallery>=0.18 ; extra == 'doc' - - numpydoc>=1.8.0 ; extra == 'doc' - - pillow>=10 ; extra == 'doc' - - texext>=0.6.7 ; extra == 'doc' - - myst-nb>=1.1 ; extra == 'doc' - - intersphinx-registry ; extra == 'doc' - - osmnx>=2.0.0 ; extra == 'example' - - momepy>=0.7.2 ; extra == 'example' - - contextily>=1.6 ; extra == 'example' - - seaborn>=0.13 ; extra == 'example' - - cairocffi>=1.7 ; extra == 'example' - - igraph>=0.11 ; extra == 'example' - - scikit-learn>=1.5 ; extra == 'example' - - lxml>=4.6 ; extra == 'extra' - - pygraphviz>=1.14 ; extra == 'extra' - - pydot>=3.0.1 ; extra == 'extra' - - sympy>=1.10 ; extra == 'extra' - - pytest>=7.2 ; extra == 'test' - - pytest-cov>=4.0 ; extra == 'test' - - pytest-xdist>=3.0 ; extra == 'test' - - pytest-mpl ; extra == 'test-extras' - - pytest-randomly ; extra == 'test-extras' - requires_python: '>=3.11' - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h3f2d84a_0.conda sha256: e2fc624d6f9b2f1b695b6be6b905844613e813aa180520e73365062683fe7b49 md5: d76872d096d063e226482c99337209dc @@ -5231,46 +4662,6 @@ packages: - pkg:pypi/numba?source=hash-mapping size: 5861355 timestamp: 1749491613900 -- pypi: https://files.pythonhosted.org/packages/1b/f5/515f98d659ab0cbe3738da153eddae22186fd38f05a808511e10f04cf679/numcodecs-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: numcodecs - version: 0.16.1 - sha256: 82cc70592ec18060786b1bfa0da23afd2a7807d7975d766e626954d6628ec609 - requires_dist: - - numpy>=1.24 - - typing-extensions - - sphinx ; extra == 'docs' - - sphinx-issues ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - numpydoc ; extra == 'docs' - - coverage ; extra == 'test' - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - - importlib-metadata ; extra == 'test-extras' - - msgpack ; extra == 'msgpack' - - zfpy>=1.0.0 ; extra == 'zfpy' - - pcodec>=0.3,<0.4 ; extra == 'pcodec' - - crc32c>=2.7 ; extra == 'crc32c' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/42/72/5affb1ce92b7a6becee17921de7c6b521a48fa61fc3d36d9f1eea2cf83f5/numcodecs-0.16.1-cp313-cp313-macosx_11_0_arm64.whl - name: numcodecs - version: 0.16.1 - sha256: 179ca7bf3525a0f7379df7767d87dd495253de44597cb7e511198b28b09da633 - requires_dist: - - numpy>=1.24 - - typing-extensions - - sphinx ; extra == 'docs' - - sphinx-issues ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - numpydoc ; extra == 'docs' - - coverage ; extra == 'test' - - pytest ; extra == 'test' - - pytest-cov ; extra == 'test' - - importlib-metadata ; extra == 'test-extras' - - msgpack ; extra == 'msgpack' - - zfpy>=1.0.0 ; extra == 'zfpy' - - pcodec>=0.3,<0.4 ; extra == 'pcodec' - - crc32c>=2.7 ; extra == 'crc32c' - requires_python: '>=3.11' - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.2.6-py312h72c5963_0.conda sha256: c3b3ff686c86ed3ec7a2cc38053fd6234260b64286c2bd573e436156f39d14a7 md5: 17fac9db62daa5c810091c2882b28f45 @@ -5529,88 +4920,6 @@ packages: - pkg:pypi/pandas?source=hash-mapping size: 14015815 timestamp: 1752082296385 -- pypi: https://files.pythonhosted.org/packages/82/bf/0228119bfc1adfbf5196d351d6cd73ff52ac26d1dc5f01161dbae3d02b68/parsl-2025.7.14-py3-none-any.whl - name: parsl - version: 2025.7.14 - sha256: b81b8bc76583d421ff76fc8c5328141630d57e2405abdcfa47a234e4165898e4 - requires_dist: - - pyzmq>=17.1.2 - - typeguard>=2.10,!=3.*,<5 - - typing-extensions>=4.6,<5 - - globus-sdk - - dill - - tblib - - requests - - sortedcontainers - - psutil>=5.5.1 - - setproctitle - - filelock>=3.13,<4 - - sqlalchemy>=2,<2.1 ; extra == 'all' - - pydot>=1.4.2 ; extra == 'all' - - networkx>=3.2,<3.3 ; extra == 'all' - - flask>=1.0.2 ; extra == 'all' - - flask-sqlalchemy ; extra == 'all' - - pandas>=2.2,<3 ; extra == 'all' - - plotly ; extra == 'all' - - python-daemon ; extra == 'all' - - boto3 ; extra == 'all' - - kubernetes ; extra == 'all' - - ipython<=8.6.0 ; extra == 'all' - - nbsphinx ; extra == 'all' - - sphinx>=7.4,<8 ; extra == 'all' - - sphinx-rtd-theme ; extra == 'all' - - google-auth ; extra == 'all' - - google-api-python-client ; extra == 'all' - - python-gssapi ; extra == 'all' - - azure<=4 ; extra == 'all' - - msrestazure ; extra == 'all' - - work-queue ; extra == 'all' - - pyyaml ; extra == 'all' - - cffi ; extra == 'all' - - jsonschema ; extra == 'all' - - proxystore ; extra == 'all' - - radical-pilot==1.90 ; extra == 'all' - - radical-utils==1.90 ; extra == 'all' - - globus-compute-sdk>=2.34.0 ; extra == 'all' - - boto3 ; extra == 'aws' - - azure<=4 ; extra == 'azure' - - msrestazure ; extra == 'azure' - - ipython<=8.6.0 ; extra == 'docs' - - nbsphinx ; extra == 'docs' - - sphinx>=7.4,<8 ; extra == 'docs' - - sphinx-rtd-theme ; extra == 'docs' - - pyyaml ; extra == 'flux' - - cffi ; extra == 'flux' - - jsonschema ; extra == 'flux' - - globus-compute-sdk>=2.34.0 ; extra == 'globus-compute' - - google-auth ; extra == 'google-cloud' - - google-api-python-client ; extra == 'google-cloud' - - python-gssapi ; extra == 'gssapi' - - kubernetes ; extra == 'kubernetes' - - sqlalchemy>=2,<2.1 ; extra == 'monitoring' - - proxystore ; extra == 'proxystore' - - radical-pilot==1.90 ; extra == 'radical-pilot' - - radical-utils==1.90 ; extra == 'radical-pilot' - - pydot>=1.4.2 ; extra == 'visualization' - - networkx>=3.2,<3.3 ; extra == 'visualization' - - flask>=1.0.2 ; extra == 'visualization' - - flask-sqlalchemy ; extra == 'visualization' - - pandas>=2.2,<3 ; extra == 'visualization' - - plotly ; extra == 'visualization' - - python-daemon ; extra == 'visualization' - - work-queue ; extra == 'workqueue' - requires_python: '>=3.9.0' -- pypi: https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl - name: parso - version: 0.8.4 - sha256: a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 - requires_dist: - - flake8==5.0.4 ; extra == 'qa' - - mypy==0.971 ; extra == 'qa' - - types-setuptools==67.2.0.1 ; extra == 'qa' - - docopt ; extra == 'testing' - - pytest ; extra == 'testing' - requires_python: '>=3.6' - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda sha256: 472fc587c63ec4f6eba0cc0b06008a6371e0a08a5986de3cf4e8024a47b4fe6c md5: 0badf9c54e24cecfb0ad2f99d680c163 @@ -5637,12 +4946,6 @@ packages: purls: [] size: 1197308 timestamp: 1745955064657 -- pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl - name: pexpect - version: 4.9.0 - sha256: 7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 - requires_dist: - - ptyprocess>=0.5 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h80c1187_0.conda sha256: 7c9a8f65a200587bf7a0135ca476f9c472348177338ed8b825ddcc08773fde68 md5: 7911e727a6c24db662193a960b81b6b2 @@ -5748,74 +5051,6 @@ packages: - pkg:pypi/platformdirs?source=hash-mapping size: 23531 timestamp: 1746710438805 -- pypi: https://files.pythonhosted.org/packages/77/fe/81aaca3540c1a5530b4bc4fd7f1b6f77100243d7bb9b7ad3478b770d8b3e/polars-1.31.0-cp39-abi3-macosx_11_0_arm64.whl - name: polars - version: 1.31.0 - sha256: a94c5550df397ad3c2d6adc212e59fd93d9b044ec974dd3653e121e6487a7d21 - requires_dist: - - polars-cloud>=0.0.1a1 ; extra == 'polars-cloud' - - numpy>=1.16.0 ; extra == 'numpy' - - pandas ; extra == 'pandas' - - polars[pyarrow] ; extra == 'pandas' - - pyarrow>=7.0.0 ; extra == 'pyarrow' - - pydantic ; extra == 'pydantic' - - fastexcel>=0.9 ; extra == 'calamine' - - openpyxl>=3.0.0 ; extra == 'openpyxl' - - xlsx2csv>=0.8.0 ; extra == 'xlsx2csv' - - xlsxwriter ; extra == 'xlsxwriter' - - polars[calamine,openpyxl,xlsx2csv,xlsxwriter] ; extra == 'excel' - - adbc-driver-manager[dbapi] ; extra == 'adbc' - - adbc-driver-sqlite[dbapi] ; extra == 'adbc' - - connectorx>=0.3.2 ; extra == 'connectorx' - - sqlalchemy ; extra == 'sqlalchemy' - - polars[pandas] ; extra == 'sqlalchemy' - - polars[adbc,connectorx,sqlalchemy] ; extra == 'database' - - fsspec ; extra == 'fsspec' - - deltalake>=1.0.0 ; extra == 'deltalake' - - pyiceberg>=0.7.1 ; extra == 'iceberg' - - gevent ; extra == 'async' - - cloudpickle ; extra == 'cloudpickle' - - matplotlib ; extra == 'graph' - - altair>=5.4.0 ; extra == 'plot' - - great-tables>=0.8.0 ; extra == 'style' - - tzdata ; sys_platform == 'win32' and extra == 'timezone' - - cudf-polars-cu12 ; extra == 'gpu' - - polars[async,cloudpickle,database,deltalake,excel,fsspec,graph,iceberg,numpy,pandas,plot,pyarrow,pydantic,style,timezone] ; extra == 'all' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/b8/d9/5e2753784ea30d84b3e769a56f5e50ac5a89c129e87baa16ac0773eb4ef7/polars-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: polars - version: 1.31.0 - sha256: ada7940ed92bea65d5500ae7ac1f599798149df8faa5a6db150327c9ddbee4f1 - requires_dist: - - polars-cloud>=0.0.1a1 ; extra == 'polars-cloud' - - numpy>=1.16.0 ; extra == 'numpy' - - pandas ; extra == 'pandas' - - polars[pyarrow] ; extra == 'pandas' - - pyarrow>=7.0.0 ; extra == 'pyarrow' - - pydantic ; extra == 'pydantic' - - fastexcel>=0.9 ; extra == 'calamine' - - openpyxl>=3.0.0 ; extra == 'openpyxl' - - xlsx2csv>=0.8.0 ; extra == 'xlsx2csv' - - xlsxwriter ; extra == 'xlsxwriter' - - polars[calamine,openpyxl,xlsx2csv,xlsxwriter] ; extra == 'excel' - - adbc-driver-manager[dbapi] ; extra == 'adbc' - - adbc-driver-sqlite[dbapi] ; extra == 'adbc' - - connectorx>=0.3.2 ; extra == 'connectorx' - - sqlalchemy ; extra == 'sqlalchemy' - - polars[pandas] ; extra == 'sqlalchemy' - - polars[adbc,connectorx,sqlalchemy] ; extra == 'database' - - fsspec ; extra == 'fsspec' - - deltalake>=1.0.0 ; extra == 'deltalake' - - pyiceberg>=0.7.1 ; extra == 'iceberg' - - gevent ; extra == 'async' - - cloudpickle ; extra == 'cloudpickle' - - matplotlib ; extra == 'graph' - - altair>=5.4.0 ; extra == 'plot' - - great-tables>=0.8.0 ; extra == 'style' - - tzdata ; sys_platform == 'win32' and extra == 'timezone' - - cudf-polars-cu12 ; extra == 'gpu' - - polars[async,cloudpickle,database,deltalake,excel,fsspec,graph,iceberg,numpy,pandas,plot,pyarrow,pydantic,style,timezone] ; extra == 'all' - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.8.2-pyhd8ed1ab_1.conda sha256: bedda6b36e8e42b0255179446699a0cf08051e6d9d358dd0dd0e787254a3620e md5: b3e783e8e8ed7577cf0b6dee37d1fbac @@ -5949,16 +5184,6 @@ packages: purls: [] size: 8381 timestamp: 1726802424786 -- pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl - name: ptyprocess - version: 0.7.0 - sha256: 4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 -- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl - name: pure-eval - version: 0.2.3 - sha256: 1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 - requires_dist: - - pytest ; extra == 'tests' - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-20.0.0-py312h7900ff3_0.conda sha256: f7b08ff9ef4626e19a3cd08165ca1672675168fa9af9c2b0d2a5c104c71baf01 md5: 57b626b4232b77ee6410c7c03a99774d @@ -6107,34 +5332,6 @@ packages: - pkg:pypi/pydantic-settings?source=hash-mapping size: 38816 timestamp: 1750801673349 -- pypi: https://files.pythonhosted.org/packages/da/0c/6040018ee5854ab1e262e6e1758ccf2de49b1e54a1a811f8316ce3a5db2a/pydap-3.5.4-py3-none-any.whl - name: pydap - version: 3.5.4 - sha256: 1352bab73bf5b2f8abcb8134cf158ab0c30261aa5cf895dc691f01ef02bcdb36 - requires_dist: - - numpy - - requests - - requests-cache - - scipy - - webob - - beautifulsoup4 - - lxml - - sphinx ; extra == 'docs' - - pygments ; extra == 'docs' - - pandoc ; extra == 'docs' - - sphinx-rtd-theme ; extra == 'docs' - - nbsphinx ; extra == 'docs' - - numpydoc ; extra == 'docs' - - netcdf4 ; extra == 'netcdf' - - werkzeug>=2.2.2 ; extra == 'server' - - gunicorn ; extra == 'server' - - pastedeploy ; extra == 'server' - - docopt-ng ; extra == 'server' - - cryptography ; extra == 'server' - - gsw ; extra == 'server' - - coards ; extra == 'server' - - jinja2 ; extra == 'server' - requires_python: '>=3.10' - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a md5: 6b6ece66ebcae2d5f326c77ef2c5a066 @@ -6382,20 +5579,6 @@ packages: - pkg:pypi/pyyaml?source=hash-mapping size: 194243 timestamp: 1737454911892 -- pypi: https://files.pythonhosted.org/packages/69/9a/9ea7e230feda9400fb0ae0d61d7d6ddda635e718d941c44eeab22a179d34/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - name: pyzmq - version: 27.0.0 - sha256: 111db5f395e09f7e775f759d598f43cb815fc58e0147623c4816486e1a39dc22 - requires_dist: - - cffi ; implementation_name == 'pypy' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/93/a7/9ad68f55b8834ede477842214feba6a4c786d936c022a67625497aacf61d/pyzmq-27.0.0-cp312-abi3-macosx_10_15_universal2.whl - name: pyzmq - version: 27.0.0 - sha256: cbabc59dcfaac66655c040dfcb8118f133fb5dde185e5fc152628354c1598e52 - requires_dist: - - cffi ; implementation_name == 'pypy' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc md5: 353823361b1d27eb3960efb076dfcaf6 @@ -6534,13 +5717,13 @@ packages: timestamp: 1740379663071 - pypi: ./ name: ref-sample-data - version: 0.7.3 - sha256: fcc0507c8ba4b2aa8860efa46aa5405ec7b0ef746d181bf4fb8edca6e734da71 + version: 0.7.4 + sha256: 3b8c0ea13e5af488a1a63c61062a5619dc24c9e086a034a0ef7795bfdd8799b3 requires_python: '>=3.10' editable: true -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda - sha256: 9866aaf7a13c6cfbe665ec7b330647a0fb10a81e6f9b8fee33642232a1920e18 - md5: f6082eae112814f1447b56a5e1f6ed05 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + sha256: 8dc54e94721e9ab545d7234aa5192b74102263d3e704e6d0c8aa7008f2da2a7b + md5: db0c6b99149880c8ba515cf4abe93ee4 depends: - certifi >=2017.4.17 - charset-normalizer >=2,<4 @@ -6553,8 +5736,8 @@ packages: license_family: APACHE purls: - pkg:pypi/requests?source=hash-mapping - size: 59407 - timestamp: 1749498221996 + size: 59263 + timestamp: 1755614348400 - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.2.1-pyhd8ed1ab_1.conda sha256: 97195fe57ef9ab18e368a8d1f021be4e041f97638bed90a339e068989159e877 md5: 584e6aab3a5cffde537c575ad6a673ff @@ -6709,20 +5892,6 @@ packages: - sphinx ; extra == 'doc' - sphinx-rtd-theme ; extra == 'doc' requires_python: '>=2.7' -- pypi: https://files.pythonhosted.org/packages/5c/5b/4e0db8b10b4543afcb3dbc0827793d46e43ec1de6b377e313af3703d08e0/setproctitle-1.3.6-cp313-cp313-macosx_11_0_arm64.whl - name: setproctitle - version: 1.3.6 - sha256: 751ba352ed922e0af60458e961167fa7b732ac31c0ddd1476a2dfd30ab5958c5 - requires_dist: - - pytest ; extra == 'test' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e3/fb/5e9b5068df9e9f31a722a775a5e8322a29a638eaaa3eac5ea7f0b35e6314/setproctitle-1.3.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: setproctitle - version: 1.3.6 - sha256: a0d6252098e98129a1decb59b46920d4eca17b0395f3d71b0d327d086fefe77d - requires_dist: - - pytest ; extra == 'test' - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda sha256: 972560fcf9657058e3e1f97186cc94389144b46dbdf58c807ce62e83f977e863 md5: 4de79c071274a53dcaf2a8c749d1499e @@ -6833,11 +6002,6 @@ packages: - pkg:pypi/sortedcontainers?source=hash-mapping size: 28657 timestamp: 1738440459037 -- pypi: https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl - name: soupsieve - version: '2.7' - sha256: 6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4 - requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/noarch/sparse-0.17.0-pyhcf101f3_0.conda sha256: 8406de1065e1d4ba206d611dae9a03de7f226f486ce9fb02ab0f29c3bd031a6a md5: 1b59de14a7e5888f939611e1fe329e00 @@ -6852,95 +6016,6 @@ packages: - pkg:pypi/sparse?source=hash-mapping size: 121488 timestamp: 1747799051402 -- pypi: https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: sqlalchemy - version: 2.0.41 - sha256: 6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e - requires_dist: - - importlib-metadata ; python_full_version < '3.8' - - greenlet>=1 ; (python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and 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.3,!=0.2.4,!=0.2.6 ; 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/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl - name: sqlalchemy - version: 2.0.41 - sha256: d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc - requires_dist: - - importlib-metadata ; python_full_version < '3.8' - - greenlet>=1 ; (python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and 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.3,!=0.2.4,!=0.2.6 ; 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/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl - name: stack-data - version: 0.6.3 - sha256: d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 - requires_dist: - - executing>=1.2.0 - - asttokens>=2.1.0 - - pure-eval - - pytest ; extra == 'tests' - - typeguard ; extra == 'tests' - - pygments ; extra == 'tests' - - littleutils ; extra == 'tests' - - cython ; extra == 'tests' - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.1.0-pyhd8ed1ab_0.conda sha256: a83c83f5e622a2f34fb1d179c55c3ff912429cd0a54f9f3190ae44a0fdba2ad2 md5: a15c62b8a306b8978f094f76da2f903f @@ -7068,29 +6143,6 @@ packages: - pkg:pypi/tqdm?source=hash-mapping size: 89498 timestamp: 1735661472632 -- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl - name: traitlets - version: 5.14.3 - sha256: b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f - requires_dist: - - myst-parser ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - sphinx ; extra == 'docs' - - argcomplete>=3.0.3 ; extra == 'test' - - mypy>=1.7.0 ; extra == 'test' - - pre-commit ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-mypy-testing ; extra == 'test' - - pytest>=7.0,<8.2 ; extra == 'test' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl - name: typeguard - version: 4.4.4 - sha256: b5f562281b6bfa1f5492470464730ef001646128b180769880468bd84b68b09e - requires_dist: - - importlib-metadata>=3.6 ; python_full_version < '3.10' - - typing-extensions>=4.14.0 - requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.16.0-pyh167b9f4_0.conda sha256: 1ca70f0c0188598f9425a947afb74914a068bee4b7c4586eabb1c3b02fbf669f md5: 985cc086b73bda52b2f8d66dcda460a1 @@ -7330,19 +6382,6 @@ packages: - pkg:pypi/wcwidth?source=hash-mapping size: 32581 timestamp: 1733231433877 -- pypi: https://files.pythonhosted.org/packages/50/bd/c336448be43d40be28e71f2e0f3caf7ccb28e2755c58f4c02c065bfe3e8e/WebOb-1.8.9-py2.py3-none-any.whl - name: webob - version: 1.8.9 - sha256: 45e34c58ed0c7e2ecd238ffd34432487ff13d9ad459ddfd77895e67abba7c1f9 - requires_dist: - - legacy-cgi>=2.6 ; python_full_version >= '3.13' - - sphinx>=1.7.5 ; extra == 'docs' - - pylons-sphinx-themes ; extra == 'docs' - - pytest>=3.1.0 ; extra == 'testing' - - coverage ; extra == 'testing' - - pytest-cov ; extra == 'testing' - - pytest-xdist ; extra == 'testing' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce md5: 75cb7132eb58d97896e173ef12ac9986 @@ -7767,55 +6806,6 @@ packages: purls: [] size: 88016 timestamp: 1641347076660 -- pypi: https://files.pythonhosted.org/packages/94/72/c5fd70742126cab7403126a1719b4161a81b816d83a2fdb78b390d8ecc47/zarr-3.1.0-py3-none-any.whl - name: zarr - version: 3.1.0 - sha256: bd3d2f88d602d43f81df82e26dd115ea66635a2af5bf6da261d3c640bb4c1ce4 - requires_dist: - - donfig>=0.8 - - numcodecs[crc32c]>=0.14 - - numpy>=1.26 - - packaging>=22.0 - - typing-extensions>=4.9 - - astroid<4 ; extra == 'docs' - - numcodecs[msgpack] ; extra == 'docs' - - numpydoc ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - pytest ; extra == 'docs' - - rich ; extra == 'docs' - - s3fs>=2023.10.0 ; extra == 'docs' - - sphinx-autoapi==3.4.0 ; extra == 'docs' - - sphinx-autobuild>=2021.3.14 ; extra == 'docs' - - sphinx-copybutton ; extra == 'docs' - - sphinx-design ; extra == 'docs' - - sphinx-issues ; extra == 'docs' - - sphinx-reredirects ; extra == 'docs' - - sphinx==8.1.3 ; extra == 'docs' - - towncrier ; extra == 'docs' - - cupy-cuda12x ; extra == 'gpu' - - rich ; extra == 'optional' - - universal-pathlib ; extra == 'optional' - - fsspec>=2023.10.0 ; extra == 'remote' - - obstore>=0.5.1 ; extra == 'remote' - - botocore ; extra == 'remote-tests' - - fsspec>=2023.10.0 ; extra == 'remote-tests' - - moto[s3,server] ; extra == 'remote-tests' - - obstore>=0.5.1 ; extra == 'remote-tests' - - requests ; extra == 'remote-tests' - - s3fs>=2023.10.0 ; extra == 'remote-tests' - - coverage ; extra == 'test' - - hypothesis ; extra == 'test' - - mypy ; extra == 'test' - - packaging ; extra == 'test' - - pytest-accept ; extra == 'test' - - pytest-asyncio ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-xdist ; extra == 'test' - - pytest<8.4 ; extra == 'test' - - rich ; extra == 'test' - - tomlkit ; extra == 'test' - - uv ; extra == 'test' - requires_python: '>=3.11' - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d md5: e52c2ef711ccf31bb7f70ca87d144b9e diff --git a/pyproject.toml b/pyproject.toml index dc9540a1..e1b076b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ref-sample-data" -version = "0.7.3" +version = "0.7.4" description = "CMIP Rapid Evaluation Framework Sample Data" readme = "README.md" authors = [ @@ -18,18 +18,20 @@ platforms = ["osx-arm64", "linux-64"] [tool.pixi.dependencies] python = ">=3.10" pooch = ">=1.8.2,<2" -intake-esgf = ">=2025.7.16,<2026" +intake-esgf = ">=2025.9.26,<2026" matplotlib = ">=3.10.3,<4" scipy = ">=1.16.0,<2" xarray = ">=2025.7.1,<2026" typer = ">=0.16.0,<0.17" xcdat = ">=0.9.1,<0.10" xesmf = ">=0.8.10,<0.9" +joblib = ">=1.5.2,<2" +loguru = ">=0.7,<0.8" +requests = ">=2.32.5,<3" [tool.pixi.pypi-dependencies] # Add any dependencies that aren't available on conda-forge here ref_sample_data = { path = ".", editable = true } -climate-ref = ">=0.6.5,<0.7" [tool.pixi.feature.dev.dependencies] ruff = "*" diff --git a/registry.txt b/registry.txt index fdf2a814..8625edd5 100644 --- a/registry.txt +++ b/registry.txt @@ -216,15 +216,6 @@ obs4REF/obs4REF/ColumbiaU/WECANN-1-0/mon/hfls/gn/20250516/hfls_mon_WECANN-1-0_RE obs4REF/obs4REF/ColumbiaU/WECANN-1-0/mon/hfss/gn/20250516/hfss_mon_WECANN-1-0_REF_gn_200701-201512.nc 14bdeae9e0b4b7bfe849c97dbdd29eae87f27d9464e8b3795d815369b13ffd0c obs4REF/obs4REF/ECMWF/ERA-20C/mon/psl/gn/v20210727/psl_mon_ERA-20C_PCMDI_gn_190001-201012.nc 53262d8f9076f233399d149810a644464d3bb36ae0f131fd55f164bc623b78da obs4REF/obs4REF/ECMWF/ERA-20C/mon/ts/gn/v20210727/ts_mon_ERA-20C_PCMDI_gn_190001-201012.nc 95bf8da4b8a071464688b527e822724c33c2794d100052eb12eb2804219ddb94 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc 36bd5cbda06258fb6aafd9fb2ccb79b4d08574116a6ebe8ccc48b6462bdb6419 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc 9b7802f845ca67f6b4d4bd0a73e0bce1c5042ecf3e7b209a5e470fd084ead238 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc 208a988bc440699beda1738342e7571c28dd2c3b2d169e0770c1764996bd41a4 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc 3bfb4dec6966cea160af4ce872302af4d84ee2bd8bd3bba91468a424e17d9eae -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc da16b7d20e764e25af3c6b834376bed5041872a0b11fab59234eca5cf1124495 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc 08ae50141a576dfcbba0a9cf15a32653f48fa88d58406b60d21383e50dd309f0 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc 488e55c4f6c858301abb957a5fb7de866e93fa54b234dbce08df652fad634649 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc 9c5c4656b929d1c6dba5d83d5459db61d7d543182e58e29168eacdb7f151b125 -obs4REF/obs4REF/ECMWF/ERA-5/mon/ta/gn/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc 98e254f10b15c4d90dd258f66b8352f6e8b758f9bd64f435c90cb3bdd99c7086 obs4REF/obs4REF/ECMWF/ERA-INT/mon/hfls/gn/v20210727/hfls_mon_ERA-INT_PCMDI_gn_197901-201903.nc 50d2b48789dcd642641b30ab52cc0f3ad161c057220cda52788080b2be2b927e obs4REF/obs4REF/ECMWF/ERA-INT/mon/hfss/gn/v20210727/hfss_mon_ERA-INT_PCMDI_gn_197901-201903.nc 72f15a671e88cb0ec239af9e8c1a608bdf2837c884efde9721213481bcfa02a0 obs4REF/obs4REF/ECMWF/ERA-INT/mon/hur/gn/v20210727/hur_mon_ERA-INT_PCMDI_gn_198901-201001.nc 54c939a1a461930230a1ae1423856c1929d5dd6bab72cbdad1fe24c5da579908 diff --git a/scripts/fetch_test_data.py b/scripts/fetch_test_data.py index 74788fcd..e8879a4c 100755 --- a/scripts/fetch_test_data.py +++ b/scripts/fetch_test_data.py @@ -485,18 +485,6 @@ def process_sample_data_request( remove_ensembles=False, time_span=("2000", "2025"), ), - # # Obs4MIPs AIRS data - # Obs4MIPsRequest( - # facets=dict( - # project="obs4MIPs", - # institution_id="NASA-JPL", - # frequency="mon", - # source_id="AIRS-2-1", - # variable_id="ta", - # ), - # remove_ensembles=False, - # time_span=("2002", "2016"), - # ), # All unpublished obs4mips datasets Obs4REFRequest(), ] diff --git a/src/ref_sample_data/data_request/obs4ref.py b/src/ref_sample_data/data_request/obs4ref.py index a838fe07..90f8a355 100644 --- a/src/ref_sample_data/data_request/obs4ref.py +++ b/src/ref_sample_data/data_request/obs4ref.py @@ -1,10 +1,13 @@ +import os import pathlib +import tempfile from pathlib import Path -import climate_ref # noqa import pandas as pd +import pooch +import requests import xarray as xr -from climate_ref_core.dataset_registry import dataset_registry_manager +from loguru import logger from ref_sample_data.data_request.base import DecimateMixin @@ -22,6 +25,13 @@ class Obs4REFRequest(DecimateMixin): id = "obs4ref" source_type = "obs4REF" time_span = None + branch_or_tag: str = "main" + """ + The branch or tag to use for fetching the dataset registry + + This defaults to `main` but can be set to a specific tag or branch name to pin a different + version of the datasets. + """ def fetch_datasets(self) -> pd.DataFrame: """ @@ -29,8 +39,30 @@ def fetch_datasets(self) -> pd.DataFrame: Returns a dataframe of the metadata and paths to the fetched datasets. """ - registry = dataset_registry_manager["obs4ref"] + # This mimics how a registry is set up in climate_ref_core.dataset_registry + DATASET_URL = os.environ.get("REF_DATASET_URL", default="https://obs4ref.climate-ref.org") + + registry = pooch.create( + path=pooch.os_cache("climate_ref"), + base_url=DATASET_URL, + retry_if_failed=10, + env="REF_DATASET_CACHE_DIR", + ) + registry_url = ( + f"https://raw.githubusercontent.com/Climate-REF/climate-ref/refs/heads/{self.branch_or_tag}" + f"/packages/climate-ref/src/climate_ref/dataset_registry/obs4ref_reference.txt" + ) + response = requests.get(registry_url, timeout=30) + response.raise_for_status() + with tempfile.NamedTemporaryFile(mode="w", encoding="utf-8") as tmpfile: + # Write the registry to a temporary file + tmpfile.write(response.text) + tmpfile.flush() + logger.debug(f"Downloaded {tmpfile.name}: {response.text.count(os.linesep)} lines") + # Load the registry from the temporary file + registry.load_registry(tmpfile.name) + logger.info(f"Loaded dataset registry from {registry_url}: {len(registry.registry)} entries") datasets = [] for key in registry.registry.keys(): dataset_path = registry.fetch(key)