From 14de95fba1891c523eeaa36a11dc56a1adfa39c4 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 4 Apr 2026 15:41:00 +0200 Subject: [PATCH 01/19] template update --- .copier-answers.yml | 11 ++--- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/ISSUE_TEMPLATE/config.yaml | 5 ++ .github/pull_request_template.md | 11 +++-- .github/workflows/check-version.yml | 2 +- .github/workflows/pr-ci.yml | 40 ++++++++++++++-- .github/workflows/release.yml | 4 +- .pre-commit-config.yaml | 3 +- LICENSE | 2 +- README.md | 53 +++++++++++++++------ config/README.md | 15 +++--- figures/.gitkeep | 1 + mypy.ini | 1 + pixi.lock | 39 +++++++-------- pixi.toml | 12 ++--- tests/{clio_test.py => integration_test.py} | 13 +++-- 16 files changed, 141 insertions(+), 73 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/config.yaml create mode 100644 figures/.gitkeep rename tests/{clio_test.py => integration_test.py} (85%) diff --git a/.copier-answers.yml b/.copier-answers.yml index b81641e..4882041 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,13 +1,12 @@ # Changes here will be overwritten by Copier -# DO NOT MANUALLY MODIFY THIS FILE +# !!!!! DO NOT MANUALLY MODIFY THIS FILE !!!!! _commit: latest -_src_path: https://github.com/calliope-project/data-module-template.git +_src_path: https://github.com/modelblocks-org/data-module-template.git author_email: i.ruizmanuel@tudelft.nl author_family_name: Ruiz Manuel author_given_name: Ivan -github_org: calliope-project +github_org: modelblocks-org license: Apache-2.0 -module_description: A module that collects, harmonizes and aggregates global powerplant - capacities for energy systems modelling. -module_long_name: clio - Powerplants module +module_description: Aggregate global powerplant capacities into any resolution. +module_long_name: Modelblocks - Powerplants module module_short_name: module_powerplants diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cd94c32..1b66ddc 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,7 +24,7 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. Linux Fedora 41, Windows 10...] + - OS: [e.g. Linux Fedora 43, Windows 11...] - Version [e.g. v0.1.1] **Additional context** diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml new file mode 100644 index 0000000..28da94d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: General information + url: https://www.modelblocks.org/ + about: Please consult our website for general information on the Modelblocks methodology. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9610b97..400a69f 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,6 +8,11 @@ Fixes # ## Reviewer checklist -* [ ] `INTERFACE.yaml` is up-to-date with all relevant user resources and results. -* [ ] The integration example is up-to-date with a minimal use-case of the module. -* [ ] Module documentation is up-to-date. +* [ ] There are no `pip` dependencies in the module's environment files (`workflow/envs/`). +* [ ] All rules use `pathvars` (e.g., ``) in their inputs and outputs. +* [ ] The integration test-suite is successful, including: + * [ ] `pre-commit.ci` tests pass. + * [ ] tests pass for all relevant OS configurations (linux, osx, windows). +* [ ] Module documentation is up-to-date, including: + * [ ] `INTERFACE.yaml` mentions all relevant `pathvars` and `wildcards`. + * [ ] `README.md` describes how to use the module and has the necessary citations. diff --git a/.github/workflows/check-version.yml b/.github/workflows/check-version.yml index 8e57b32..0a4a602 100644 --- a/.github/workflows/check-version.yml +++ b/.github/workflows/check-version.yml @@ -6,4 +6,4 @@ on: jobs: copier-update: - uses: calliope-project/data-module-template/.github/workflows/template-check-version.yml@latest + uses: modelblocks-org/data-module-template/.github/workflows/template-check-version.yml@latest diff --git a/.github/workflows/pr-ci.yml b/.github/workflows/pr-ci.yml index a216bf5..728b9c5 100644 --- a/.github/workflows/pr-ci.yml +++ b/.github/workflows/pr-ci.yml @@ -1,9 +1,41 @@ -name: CI +# !!!!! DO NOT MODIFY UNLESS ABSOLUTELY NECESSARY !!!!! +# This workflow helps standardise integration tests across data modules +name: Pull Request CI tests for Modelblocks data modules on: pull_request: branches: - "main" - jobs: - ci-tests: - uses: calliope-project/data-module-template/.github/workflows/template-pr-ci.yml@latest + build: + name: Build + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + python-version: ["3.12"] + steps: + - uses: actions/checkout@v4 + - name: Setup pixi + uses: prefix-dev/setup-pixi@v0.8.3 + - name: Run integration tests + id: tests + run: pixi run test-integration + continue-on-error: true + - name: Run snakemake linting + id: linting + run: | + pixi run snakemake --lint --snakefile workflow/Snakefile + pixi run snakemake --lint --snakefile tests/integration/Snakefile + continue-on-error: true + - name: Save integration logs + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: integration-test-logs-${{ matrix.os }} + path: tests/integration/results/integration_test/logs + if-no-files-found: ignore + retention-days: 30 + - name: Fail if integration or linting failed + if: ${{ steps.tests.outcome == 'failure' || steps.linting.outcome == 'failure' }} + run: exit 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 32ab6f2..7e25226 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,4 +6,6 @@ on: jobs: release-workflow: - uses: calliope-project/data-module-template/.github/workflows/template-release.yml@latest + permissions: + contents: write + uses: modelblocks-org/data-module-template/.github/workflows/template-release.yml@latest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 605d7a8..d42af35 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,6 +12,7 @@ repos: # Repo quality - id: check-added-large-files args: [--enforce-all] + exclude: ^pixi\.lock$ - id: forbid-submodules - id: check-case-conflict - id: check-illegal-windows-names @@ -44,4 +45,4 @@ repos: files: .*\.(py|smk|md)$|^Snakefile$ ci: # https://pre-commit.ci/ - autoupdate_schedule: monthly + autoupdate_schedule: quarterly diff --git a/LICENSE b/LICENSE index 01d12ec..3946dd7 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2025 AUTHORS + Copyright 2026 AUTHORS Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 845af10..e0ac1ec 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,44 @@ -# clio - Powerplants module +# Modelblocks - Powerplants module -A module that collects, harmonizes and aggregates global powerplant capacities for energy systems modelling. +Aggregate global powerplant capacities into any resolution. -![Example of European shapes](./docs/europe_example.png) + -A modular `snakemake` workflow built for [`clio`](https://clio.readthedocs.io/) data modules. -## Using this module +## About + -This module can be imported directly into any `snakemake` workflow. -Please consult the integration example in `tests/integration/Snakefile` for more information. +This is a modular `snakemake` workflow created as part of the [Modelblocks project](https://www.modelblocks.org/). It can be imported directly into any `snakemake` workflow. + +For more information, please consult the Modelblocks [documentation](https://modelblocks.readthedocs.io/en/latest/), +the [integration example](./tests/integration/Snakefile), +and the `snakemake` [documentation](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html). + +## Overview + + +Data processing steps: +1. +2. + +## Configuration + + +Please consult the configuration [README](./config/README.md) and the [configuration example](./config/config.yaml) for a general overview on the configuration options of this module. + +## Input / output structure + + +Please consult the [interface file](./INTERFACE.yaml) for more information. ## Development + We use [`pixi`](https://pixi.sh/) as our package manager for development. -Once installed, run the following to clone this repo and install all dependencies. +Once installed, run the following to clone this repository and install all dependencies. ```shell -git clone git@github.com:calliope-project/module_powerplants.git +git clone git@github.com:modelblocks-org/module_powerplants.git cd module_powerplants pixi install --all ``` @@ -28,12 +49,6 @@ For testing, simply run: pixi run test-integration ``` -To view the documentation locally, use: - -```shell -pixi run serve-docs -``` - To test a minimal example of a workflow using this module: ```shell @@ -41,3 +56,11 @@ pixi shell # activate this project's environment cd tests/integration/ # navigate to the integration example snakemake --use-conda --cores 2 # run the workflow! ``` + +## References + + +This module is based on the following research and datasets: + +* +* diff --git a/config/README.md b/config/README.md index 2bd88fa..720820c 100644 --- a/config/README.md +++ b/config/README.md @@ -1,9 +1,8 @@ -# Configuration +We recommend consulting the following before using this module: +- `config/config.yaml`: a generic example configuration of this module. +- `workflow/internal/config.schema.yaml`: a schematic overview of all the configuration options of this module. +- `INTERFACE.yaml`: lists module input and output files, and their default locations. +- `tests/integration/Snakefile`: an example of how to call this module from another workflow. -This workflow is part of the [clio project](https://clio.readthedocs.io/en/latest/). -Please consult our documentation for more details. -Other useful resources are: - -- `INTERFACE.yaml`: user input files (placed in `resources/user`) and module output files (placed in `results`). -- `workflow/internal/config.schema.yaml`: general configuration options. -- `tests/integration/`: a simple example of how to use this module. +This data module is part of the [Modelblocks](https://www.modelblocks.org/) project. +Please consult the [Modelblocks documentation](https://modelblocks.readthedocs.io/) for more details. diff --git a/figures/.gitkeep b/figures/.gitkeep new file mode 100644 index 0000000..dcafcbe --- /dev/null +++ b/figures/.gitkeep @@ -0,0 +1 @@ +# For module documentation figures diff --git a/mypy.ini b/mypy.ini index c7b2d53..6769a42 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,3 +1,4 @@ [mypy] disable_error_code = import-untyped exclude = (^|/)\.(snakemake|pixi)(/|$) +exclude_gitignore = True diff --git a/pixi.lock b/pixi.lock index c1a59b5..6ebd622 100644 --- a/pixi.lock +++ b/pixi.lock @@ -33,7 +33,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2025.03.03-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2026.03.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.12-h00e76a6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.9-h82e2f02_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.10-h8a7a1e7_1.conda @@ -203,7 +203,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda @@ -294,7 +294,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2025.03.03-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2026.03.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.12-h8ec3750_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.9-h7ef17a8_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.10-h73553b4_1.conda @@ -452,7 +452,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h998013c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda @@ -522,7 +522,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.1-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2025.03.03-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2026.03.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-h1c9cd67_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-h8aa12e5_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-ha4dcb5c_1.conda @@ -672,7 +672,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py312h31fea79_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.0.0-py312hd7027bb_0.conda @@ -1282,9 +1282,9 @@ packages: - pkg:pypi/click?source=compressed-mapping size: 88117 timestamp: 1747811467132 -- conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2025.03.03-pyhd8ed1ab_0.conda - sha256: aeefe88574384f212db396a6b16e2980daa298239bce51a096d22317c839d856 - md5: 1eb44fb84e5eef6f73c491890ca0dd4b +- conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2026.03.30-pyhd8ed1ab_0.conda + sha256: a8b34e4bb8854ad899e461430fbabad81fa694805e45421bfe3e56da031d44ad + md5: 169bb144044321bb1cec1bfa4ea82a5b depends: - networkx >=3.4.2 - numpy >=2.2.3 @@ -1296,10 +1296,8 @@ packages: - pyyaml >=6.0.2 license: MIT license_family: MIT - purls: - - pkg:pypi/clio-tools?source=hash-mapping - size: 14536 - timestamp: 1741282465165 + size: 15754 + timestamp: 1774882664468 - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.12-h00e76a6_2.conda sha256: c9c125fc26459d760dd75859e4f84b78804088649fd231fd3d0c55c50f50d4a2 md5: e96d087e020082fc811457dba4ad4715 @@ -6227,17 +6225,16 @@ packages: purls: [] size: 6971 timestamp: 1745258861359 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 - md5: bc8e3267d44011051f2eb14d22fb0960 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda + sha256: d35c15c861d5635db1ba847a2e0e7de4c01994999602db1f82e41b5935a9578a + md5: f8a489f43a1342219a3a4d69cecc6b25 depends: - - python >=3.9 + - python >=3.10 + - python license: MIT license_family: MIT - purls: - - pkg:pypi/pytz?source=hash-mapping - size: 189015 - timestamp: 1742920947249 + size: 201725 + timestamp: 1773679724369 - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_0.conda sha256: 92d839c037f7aae1657528a9a71c686692251d41ee002132f96a05c923831844 md5: e9c66e89c71bac06654d9215534e9b83 diff --git a/pixi.toml b/pixi.toml index e635177..7646a81 100644 --- a/pixi.toml +++ b/pixi.toml @@ -1,15 +1,15 @@ -[project] +[workspace] name = "module_powerplants" authors = ["See AUTHORS file"] -description = "A module that collects, harmonizes and aggregates global powerplant capacities for energy systems modelling." +description = "Aggregate global powerplant capacities into any resolution." license = "Apache-2.0" readme = "README.md" channels = ["conda-forge", "bioconda"] platforms = ["win-64", "linux-64", "osx-arm64"] -homepage = "https://clio.readthedocs.io/" +homepage = "https://www.modelblocks.org/" [dependencies] -clio-tools = ">=2025.03.03" +clio-tools = ">=2026.03.30" conda = ">=25.0.0" ipdb = ">=0.13.13" ipykernel = ">=6.29.5" @@ -20,7 +20,7 @@ python = ">=3.12" ruff = ">=0.9.9" snakefmt = ">=0.10.2" snakemake-minimal = ">=8.29.0" -graphviz = ">=13.1.0,<14" +pytz = ">=2026.1.post1" [tasks] -test-integration = {cmd = "pytest tests/clio_test.py"} +test-integration = {cmd = "pytest tests/integration_test.py"} diff --git a/tests/clio_test.py b/tests/integration_test.py similarity index 85% rename from tests/clio_test.py rename to tests/integration_test.py index 0d6d0bd..231f587 100644 --- a/tests/clio_test.py +++ b/tests/integration_test.py @@ -1,7 +1,7 @@ -"""Set of standard clio tests. +"""Set of standard Modelblocks tests. -DO NOT MANUALLY MODIFY THIS FILE! -It should be updated through our templating functions. +PLEASE ENSURE THIS SET OF MINIMAL TESTS WORKS BEFORE PUBLISHING YOUR MODULE. +Contents may be updated in future template updates. """ import shutil @@ -43,15 +43,18 @@ def test_interface_file(module_path): @pytest.mark.parametrize( "file", [ - "CITATION.cff", "AUTHORS", + "CITATION.cff", "INTERFACE.yaml", "LICENSE", + "README.md", + "config/config.yaml", + "workflow/internal/config.schema.yaml", "tests/integration/Snakefile", ], ) def test_standard_file_existance(module_path, file): - """Check that a minimal set of files used for clio automatic docs are present.""" + """Check that a minimal set of files used for documentation are present.""" assert Path(module_path / file).exists() From afea6e5feb636c7bbfb793b7542cc38408c5c8b6 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:13:57 +0200 Subject: [PATCH 02/19] dissolve speed ups --- workflow/envs/shapes.yaml | 2 +- workflow/report/prepare_shapes.rst | 1 + workflow/rules/impute.smk | 2 +- workflow/rules/prepare.smk | 23 ++++++++++ workflow/scripts/_plots.py | 3 +- workflow/scripts/impute_years.py | 66 ++++++++++++++-------------- workflow/scripts/prepare_shapes.py | 69 ++++++++++++++++++++++++++++++ 7 files changed, 128 insertions(+), 38 deletions(-) create mode 100644 workflow/report/prepare_shapes.rst create mode 100644 workflow/scripts/prepare_shapes.py diff --git a/workflow/envs/shapes.yaml b/workflow/envs/shapes.yaml index b21661f..582ca6c 100644 --- a/workflow/envs/shapes.yaml +++ b/workflow/envs/shapes.yaml @@ -4,7 +4,7 @@ channels: - nodefaults dependencies: - click=8.2.1 - - cmap = 0.6.2 + - cmap = 0.7.1 - dask = 2025.7.0 - geopandas = 1.0.1 - ipdb = 0.13.13 diff --git a/workflow/report/prepare_shapes.rst b/workflow/report/prepare_shapes.rst new file mode 100644 index 0000000..6e34e5a --- /dev/null +++ b/workflow/report/prepare_shapes.rst @@ -0,0 +1 @@ +Dissolved country shapes, used during imputation. diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index b74c4a6..19b42f5 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -22,7 +22,7 @@ rule impute_years: tech_map=lambda wc: get_technology_mapping(wc.dataset), input: prepared="resources/automatic/prepared/{dataset}.parquet", - shapes="resources/user/{shapes}/shapes.parquet", + dissolved_shapes=rules.prepare_shapes.output.dissolved, output: imputed="resources/automatic/{shapes}/imputed/{dataset}.parquet", plot="resources/automatic/{shapes}/imputed/{dataset}.pdf", diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 8a848c3..fe80e60 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -14,6 +14,29 @@ PREPARED_PLANT_CAT = ( ) +rule prepare_shapes: + message: + "Preparing intermediate shapefile versions to speed up processing." + params: + crs=config["projected_crs"], + input: + shapes="resources/user/{shapes}/shapes.parquet", + output: + dissolved="resources/automatic/shapes/{shapes}/dissolved.parquet", + dissolved_plt=report( + "resources/automatic/shapes/{shapes}/dissolved.png", + caption="../report/prepare_shapes.rst", + category="Powerplants module", + subcategory="preparation" + ) + log: + "logs/{shapes}/prepare_shapes.log" + conda: + "../envs/shapes.yaml" + script: + "../scripts/prepare_shapes.py" + + rule prepare_hydropower: message: "Preparing hydropower powerplants using the GloHydroRes dataset." diff --git a/workflow/scripts/_plots.py b/workflow/scripts/_plots.py index 39abbec..241f897 100644 --- a/workflow/scripts/_plots.py +++ b/workflow/scripts/_plots.py @@ -7,6 +7,7 @@ import geopandas as gpd import numpy as np import pandas as pd +from cmap import Colormap from matplotlib import pyplot as plt from matplotlib import ticker as mticker from matplotlib.patches import Patch @@ -52,7 +53,7 @@ def plot_disaggregated_capacity_buildup( # Tech type color range tech_types = sorted(df["technology"].dropna().unique()) - cmap = plt.get_cmap(colormap) + cmap = Colormap(colormap).to_mpl() colors = [cmap(i) for i in np.linspace(0, 1, len(tech_types))] # Figure (always 2 columns, flexible rows) diff --git a/workflow/scripts/impute_years.py b/workflow/scripts/impute_years.py index 8dfb0a6..b562d80 100644 --- a/workflow/scripts/impute_years.py +++ b/workflow/scripts/impute_years.py @@ -88,34 +88,34 @@ def _impute_status(df: pd.DataFrame) -> pd.Series: def impute( - prepared_path: str, - shapes_path: str, - output_path: str, + prepared_cat_gdf: gpd.GeoDataFrame, + countries_gdf: gpd.GeoDataFrame, imputation: dict, technology_mapping: dict, projected_crs: str, -): +) -> gpd.GeoDataFrame: """Add automatic and user imputations to fill missing data. Args: - prepared_path (str): cleaned dataset following our schema. - shapes_path (str): country-level shapes to use. + prepared_cat_gdf (gpd.GeoDataFrame): cleaned category dataset following our schema. + countries_gdf (str): country-level shapes to use. output_path (str): resulting dataset. imputation (str): imputation configuration. technology_mapping (str): technology mapping configuration. projected_crs (str): crs used to calculate centroids. """ - prepared = gpd.read_parquet(prepared_path) - _utils.check_single_category(prepared) + _utils.check_single_category(prepared_cat_gdf) # Re-map polygons to their centroid to simplify further processing. # TODO: consider splitting them between shapes instead? - polygon_mask = prepared[prepared.geometry.geom_type != "Point"].index + polygon_mask = prepared_cat_gdf[ + prepared_cat_gdf.geometry.geom_type != "Point" + ].index if polygon_mask.any(): if projected_crs: - prev_crs = prepared.crs - prepared.loc[polygon_mask, "geometry"] = ( - prepared.loc[polygon_mask, "geometry"] + prev_crs = prepared_cat_gdf.crs + prepared_cat_gdf.loc[polygon_mask, "geometry"] = ( + prepared_cat_gdf.loc[polygon_mask, "geometry"] .to_crs(projected_crs) .centroid.to_crs(prev_crs) ) @@ -124,20 +124,13 @@ def impute( "Polygon powerplant geometries detected. Specify a projected CRS." ) - shapes = _schemas.ShapeSchema.validate(gpd.read_parquet(shapes_path)) - lifetimes = imputation["lifetime_years"] retirement_delay_years = imputation["retirement_delay_years"] scenario = SCENARIO_MAP[imputation["scenario"]] - countries_gdf = ( - shapes[["country_id", "geometry"]].dissolve("country_id").reset_index() - ) - countries_gdf["geometry"] = countries_gdf.buffer(0) - # Get facilities within the provided regions and for the given scenario imputed = gpd.sjoin( - prepared[prepared["status"].isin(scenario)], + prepared_cat_gdf[prepared_cat_gdf["status"].isin(scenario)], countries_gdf, predicate="intersects", how="inner", @@ -154,16 +147,12 @@ def impute( imputed = imputed.dropna(subset=["start_year", "end_year"]) imputed["status"] = _impute_status(imputed) - imputed = handle_polygon_overlaps(imputed, imputation["shape_overlap_correction"]) + imputed = handle_polygon_overlaps( + imputed, imputation["shape_overlap_correction"] + ) schema = _schemas.build_schema(technology_mapping, "impute") - schema.validate(imputed).to_parquet(output_path) - - -def plot(imputed_path: str, output_path: str, colormap: str = "tab20"): - """Plot stacked bar charts of active powerplant capacity over time per country.""" - df = pd.read_parquet(imputed_path) - _plots.plot_disaggregated_capacity_buildup(df, output_path, colormap) + return schema.validate(imputed) def handle_polygon_overlaps(df: gpd.GeoDataFrame, method: str) -> gpd.GeoDataFrame: @@ -198,14 +187,21 @@ def handle_polygon_overlaps(df: gpd.GeoDataFrame, method: str) -> gpd.GeoDataFra return df.reset_index(drop=True) -if __name__ == "__main__": - sys.stderr = open(snakemake.log[0], "w") - impute( - prepared_path=snakemake.input.prepared, - shapes_path=snakemake.input.shapes, - output_path=snakemake.output.imputed, +def main() -> None: + """Main snakemake process.""" + imputed_gdf = impute( + prepared_cat_gdf=gpd.read_parquet(snakemake.input.prepared), + countries_gdf=gpd.read_parquet(snakemake.input.dissolved_shapes), imputation=snakemake.params.imputation, technology_mapping=snakemake.params.tech_map, projected_crs=snakemake.params.projected_crs, ) - plot(imputed_path=snakemake.output.imputed, output_path=snakemake.output.plot) + imputed_gdf.to_parquet(snakemake.output.imputed) + _plots.plot_disaggregated_capacity_buildup( + imputed_gdf, snakemake.output.plot, "seaborn:tab20" + ) + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() diff --git a/workflow/scripts/prepare_shapes.py b/workflow/scripts/prepare_shapes.py new file mode 100644 index 0000000..8c4742b --- /dev/null +++ b/workflow/scripts/prepare_shapes.py @@ -0,0 +1,69 @@ +"""Prepare intermediate versions of the shape file used during processing.""" + +import sys +from typing import TYPE_CHECKING, Any + +import _schemas +import geopandas as gpd +from matplotlib import pyplot as plt +from matplotlib.axes import Axes +from matplotlib.figure import Figure + +if TYPE_CHECKING: + snakemake: Any + + +def dissolve_by_country(shapes: gpd.GeoDataFrame) -> gpd.GeoDataFrame: + """Dissolve shapes by their country.""" + countries_gdf = ( + shapes[["country_id", "geometry"]].dissolve("country_id").reset_index() + ) + countries_gdf["geometry"] = countries_gdf.buffer(0) + return countries_gdf + + +def plot( + original: gpd.GeoDataFrame, + new: gpd.GeoDataFrame, + *, + name: str, + crs: str, + cmap: str, + col: str, +) -> tuple[Figure, Axes]: + """Helper to view computed changes.""" + fig, axes = plt.subplots(1, 2, layout="constrained") + original.to_crs(crs).plot("shape_class", ax=axes[0]) + axes[0].set_title("User") + if new[col].is_unique: + # FIXME: odd issue when plotting a single category + # Upgrading geopandas might fix it. + new.to_crs(crs).plot(ax=axes[1], color="lightcoral") + else: + new.to_crs(crs).plot(col, ax=axes[1], cmap=cmap, categorical=True) + axes[1].set_title(name) + for ax in axes: + ax.set(xticks=[], yticks=[], xlabel="", ylabel="") + return fig, axes + + +def main(): + """Prepare a cleaned hydropower dataset.""" + shapes = _schemas.ShapeSchema.validate(gpd.read_parquet(snakemake.input.shapes)) + dissolved = dissolve_by_country(shapes) + dissolved.to_parquet(snakemake.output.dissolved) + + fig, _ = plot( + shapes, + dissolved, + col="country_id", + name="Dissolved", + crs=snakemake.params.crs, + cmap="glasbey:glasbey", + ) + fig.savefig(snakemake.output.dissolved_plt, dpi=200, bbox_inches="tight") + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() From e7888c876cc4b4d06f7436317fd61b2bc9338a6e Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:23:21 +0200 Subject: [PATCH 03/19] implement defensive shape file pattern --- workflow/rules/_utils.smk | 10 +++++----- workflow/rules/impute.smk | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index 882a1d7..a4bded5 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -59,16 +59,16 @@ def get_files_to_combine(shapes, category): to_combine = [] if category == "large_solar": to_combine += [ - f"resources/automatic/{shapes}/imputed/solar_utility_pv.parquet", - f"resources/automatic/{shapes}/imputed/solar_csp.parquet", + f"resources/automatic/shapes/{shapes}/imputed/solar_utility_pv.parquet", + f"resources/automatic/shapes/{shapes}/imputed/solar_csp.parquet", ] elif category == "fossil": to_combine += [ - f"resources/automatic/{shapes}/imputed/fossil_coal.parquet", - f"resources/automatic/{shapes}/imputed/fossil_oil_gas.parquet", + f"resources/automatic/shapes/{shapes}/imputed/fossil_coal.parquet", + f"resources/automatic/shapes/{shapes}/imputed/fossil_oil_gas.parquet", ] else: - to_combine.append(f"resources/automatic/{shapes}/imputed/{category}.parquet") + to_combine.append(f"resources/automatic/shapes/{shapes}/imputed/{category}.parquet") user_path = f"resources/user/{shapes}/impute/{category}.parquet" if exists(user_path): diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 19b42f5..5124b6c 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -24,8 +24,8 @@ rule impute_years: prepared="resources/automatic/prepared/{dataset}.parquet", dissolved_shapes=rules.prepare_shapes.output.dissolved, output: - imputed="resources/automatic/{shapes}/imputed/{dataset}.parquet", - plot="resources/automatic/{shapes}/imputed/{dataset}.pdf", + imputed="resources/automatic/shapes/{shapes}/imputed/{dataset}.parquet", + plot="resources/automatic/shapes/{shapes}/imputed/{dataset}.pdf", wildcard_constraints: dataset="|".join(PREPARED_PLANT_CAT), log: From 6632bc69bf41983724d9fa70277412dfd185f4de Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:40:31 +0200 Subject: [PATCH 04/19] rename env to powerplants.yaml --- .../envs/{shapes.yaml => powerplants.yaml} | 2 +- workflow/rules/aggregate.smk | 2 +- workflow/rules/impute.smk | 6 ++-- workflow/rules/prepare.smk | 28 +++++++++---------- workflow/rules/solar.smk | 6 ++-- 5 files changed, 22 insertions(+), 22 deletions(-) rename workflow/envs/{shapes.yaml => powerplants.yaml} (96%) diff --git a/workflow/envs/shapes.yaml b/workflow/envs/powerplants.yaml similarity index 96% rename from workflow/envs/shapes.yaml rename to workflow/envs/powerplants.yaml index 582ca6c..84b022d 100644 --- a/workflow/envs/shapes.yaml +++ b/workflow/envs/powerplants.yaml @@ -1,4 +1,4 @@ -name: shapes +name: powerplants channels: - conda-forge - nodefaults diff --git a/workflow/rules/aggregate.smk b/workflow/rules/aggregate.smk index 10e8a17..a9fa15a 100644 --- a/workflow/rules/aggregate.smk +++ b/workflow/rules/aggregate.smk @@ -25,6 +25,6 @@ rule aggregate_capacity: log: "logs/aggregate_capacity_{shapes}_{adjustment}_{category}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/aggregate_capacity.py" diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 5124b6c..3315037 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -31,7 +31,7 @@ rule impute_years: log: "logs/impute_years_{shapes}_{dataset}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/impute_years.py" @@ -63,7 +63,7 @@ rule impute_category_combination: log: "logs/impute_category_combination_{shapes}_{category}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/impute_category_combination.py" @@ -89,6 +89,6 @@ rule impute_capacity_adjustment: log: "logs/impute_capacity_adjustment_{shapes}_{category}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/impute_capacity_adjustment.py" diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index fe80e60..c94a552 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -32,7 +32,7 @@ rule prepare_shapes: log: "logs/{shapes}/prepare_shapes.log" conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_shapes.py" @@ -49,7 +49,7 @@ rule prepare_hydropower: log: "logs/prepare_hydropower.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_hydropower.py" @@ -69,7 +69,7 @@ rule prepare_solar_utility_pv: log: "logs/prepare_solar_utility_pv.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} {input.tz_sam:q} {input.gem_gspt:q} \ @@ -91,7 +91,7 @@ rule prepare_solar_csp: log: "logs/prepare_solar_csp.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} {input.gem_gspt:q} -o {output.path:q} \ @@ -114,7 +114,7 @@ if config["category"]["wind"]["source"] == "gem": log: "logs/prepare_wind_gem.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} {input.gem_gwpt:q} \ @@ -136,7 +136,7 @@ elif config["category"]["wind"]["source"] == "wemi": log: "logs/prepare_wind_wemi.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} {input.wemi:q} \ @@ -163,7 +163,7 @@ rule prepare_fossil_coal: log: "logs/prepare_fossil_coal.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_fossil_coal.py" @@ -182,7 +182,7 @@ rule prepare_bioenergy: log: "logs/prepare_bioenergy.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_bioenergy.py" @@ -201,7 +201,7 @@ rule prepare_fossil_oil_gas: log: "logs/prepare_fossil_oil_gas.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_fossil_oil_gas.py" @@ -218,7 +218,7 @@ rule prepare_nuclear: log: "logs/prepare_nuclear.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_nuclear.py" @@ -235,7 +235,7 @@ rule prepare_geothermal: log: "logs/prepare_geothermal.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_geothermal.py" @@ -253,7 +253,7 @@ rule prepare_statistics: log: "logs/prepare_statistics_{shapes}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/prepare_statistics.py" @@ -271,7 +271,7 @@ rule prepare_fuels: log: "logs/prepare_fuels.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} prepare {input.fuel_classes:q} -o {output:q} 2> {log:q} @@ -293,7 +293,7 @@ rule prepare_remapped_fuel_categories: wildcard_constraints: category="|".join(PREPARED_FUEL_CAT), conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" shell: """ python {input.script:q} remap {input.plants:q} {input.old:q} {input.new:q} \ diff --git a/workflow/rules/solar.smk b/workflow/rules/solar.smk index c817bdd..2979189 100644 --- a/workflow/rules/solar.smk +++ b/workflow/rules/solar.smk @@ -35,7 +35,7 @@ rule proxy_rooftop_pv: log: "logs/proxy_rooftop_pv_{shapes}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/proxy.py" @@ -62,7 +62,7 @@ rule aggregate_solar_capacity: log: "logs/aggregate_capacity_{shapes}_unadjusted_{category}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/aggregate_capacity.py" @@ -93,6 +93,6 @@ rule impute_capacity_adjustment_solar: log: "logs/impute_capacity_adjusted_solar_{shapes}.log", conda: - "../envs/shapes.yaml" + "../envs/powerplants.yaml" script: "../scripts/impute_capacity_adjustment_solar.py" From ce50f2450178f42ac793ffb0cac7075ea632c3e4 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 15:12:30 +0200 Subject: [PATCH 05/19] initial pathvars addition --- INTERFACE.yaml | 63 +- pixi.lock | 2338 +++++++++++++++++++++++++++++++++- pixi.toml | 1 + workflow/Snakefile | 18 +- workflow/rules/_utils.smk | 14 +- workflow/rules/aggregate.smk | 10 +- workflow/rules/automatic.smk | 16 +- workflow/rules/impute.smk | 26 +- workflow/rules/prepare.smk | 104 +- workflow/rules/solar.smk | 40 +- 10 files changed, 2442 insertions(+), 188 deletions(-) diff --git a/INTERFACE.yaml b/INTERFACE.yaml index be01eb8..3029f62 100644 --- a/INTERFACE.yaml +++ b/INTERFACE.yaml @@ -1,30 +1,41 @@ # Module Input-Output structure for automated doc. generation -resources: - user: - "{shape}/impute/{category}.parquet": | - Optional. Files with point-specific powerplant data to impute on top of the files produced by this module. - Useful when important powerplant facilities are missing in the source datasets. - - Can also be used to replace data when combined with `excluded_ids` in the configuration. - - "{shape}/proxies/rooftop_pv.tif": Proxy raster to use to estimate rooftop PV capacity. - - "{shape}/shapes.parquet": | - GeoParquet shapefile with the desired regional disaggregation. - - IMPORTANT: shapes must add up to whole countries to ensure proxied national statistics are correct. - -results: - "{shape}/aggregated/{adjustment}/{category}.parquet": > - Aggregated powerplant capacity per polygon in the given shapefile. - All categories are available. - - "{shape}/aggregated/proxies/rooftop_pv.tif": > - Generated proxy raster used to estimate rooftop PV capacity per country. - - "{shape}/statistics/category_capacity.parquet": > - National-level capacity statistics per category, for all the countries in the shape file. - +pathvars: + snakemake_defaults: + logs: + default: "" + description: location of rule log files. + resources: + default: "" + description: "location of module resource files." + results: + default: "" + description: "location of module results." + user_resources: + shapes: + default: "/user/{shapes}/shapes.parquet" + description: | + GeoParquet shapefile with the desired regional disaggregation. + IMPORTANT: shapes must add up to whole countries to ensure proxied national statistics are correct. + proxy_rooftop_pv: + default: "/user/{shapes}/proxies/rooftop_pv.tif" + description: Proxy raster to use to estimate rooftop PV capacity. + imputed_powerplants: + default: "/user/{shapes}/impute/{category}.parquet" + description: | + Optional. Files with point-specific powerplant data to impute on top of the files produced by this module. + Useful when important powerplant facilities are missing in the source datasets. + Can also be used to replace data when combined with `excluded_ids` in the configuration. + results: + aggregated_capacity: + default: "/{shape}/aggregated/{adjustment}/{category}.parquet" + description: > + Aggregated powerplant capacity per polygon in the given shapefile. + disaggregated_capacity: + default: "/{shape}/disaggregated/{adjustment}/{category}.parquet" + description: Disaggregated powerplants within polygons in the given shapefile. + statistics: + default: "/{shape}/statistics/category_capacity.parquet" + description: National-level capacity statistics per category, for all the countries in the shape file. wildcards: shape: name of the provided shapefile. adjustment: > diff --git a/pixi.lock b/pixi.lock index 6ebd622..a311691 100644 --- a/pixi.lock +++ b/pixi.lock @@ -22,6 +22,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-core-2.40.3-h0630a04_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.1-h2d2dd48_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.13-h2c9d079_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.2-h8b1a151_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.6.0-h9b893ba_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.12-h4bacb7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.26.3-hc87160b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.15.2-he9ea9c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.5-h6d69fc9_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h8b1a151_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h8b1a151_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.37.4-h4c8aef7_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.747-hc3785e1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.2-h206d751_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.13.3-hed0cdb0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hdd73cc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.12.0-ha7a2c86_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h52c5a47_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda @@ -71,11 +89,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/frozendict-2.4.6-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.44-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.86.0-hf516916_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.0-hcae58fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py312h8285ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h0c6a113_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda @@ -106,14 +127,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1423503_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.5-gpl_hc2c16d8_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.1-ha7f89c6_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.1-h635bf11_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.1-h53684a4_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.1-h635bf11_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.1-hb4dd7c2_9_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-32_h59b9bed_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-32_he106b2a_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/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.19.0-hcf29cc6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.13.3-ha770c72_1.conda @@ -125,6 +157,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-3.3.0-h25dbb67_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.3.0-hdbdcf42_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.78.1-h1d1128b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h4ce23a2_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-32_h7ac8fdf_openblas.conda @@ -135,7 +170,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.26.0-h9692893_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.26.0-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.1-h7376487_9_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h943b412_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h0dc7533_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsolv-0.7.34-h9463b59_0.conda @@ -143,7 +183,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h454ac66_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.11.3-hfe17d71_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda @@ -166,6 +208,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.11.3-he02047a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.1-py312h33ff503_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.0-h21090e2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.1-py312hf79963d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.25.0-hd8ed1ab_1.conda @@ -181,12 +224,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/plac-1.4.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py312hd0750ca_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.1-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.1-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-4-hd8ed1ab_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.6-py312h66e93f0_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda @@ -206,16 +252,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_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/referencing-0.36.2-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/reproc-14.2.5.post0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/reproc-cpp-14.2.5.post0-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.26.0-py312h680f630_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.14-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.8-py312h66e93f0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.12.3-hf9daec2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.1-h1cbb8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/simdjson-3.13.0-h84d6215_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda @@ -225,11 +272,16 @@ environments: - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.20.1-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.3.8-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-1.2.3-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.1.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.2.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.8.0-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.3.0-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-scheduler-plugins-2.0.2-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.19.0-pyhdfd78af_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.49-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_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/tabulate-0.9.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda @@ -269,6 +321,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.8.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h41580af_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_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 osx-arm64: @@ -283,6 +336,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.10.1-hcb83491_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.13-h6ee9776_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.6-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.2-h3e7f9b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.6.0-h351c84d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.12-h95cdebe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.26.3-h4137820_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.15.2-h69e7467_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.5-ha5d16b2_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.10-h3e7f9b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.37.4-h5505c15_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.747-had22720_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.13.3-h810541e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-hc57151b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.12.0-he467506_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hf8a9d22_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/black-24.10.0-py312h81bd7bf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py312h0dfefe5_1.conda @@ -331,11 +402,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.10-h27ca646_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozendict-2.4.6-py312h0bf5046_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.4-h7542897_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.44-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.86.0-hb9d6e3a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.14-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-13.1.0-haeab78c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.3.2-py312h6510ced_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.43-h07173f4_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda @@ -364,14 +438,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.8.1-pyh31011fe_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h385eeb1_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.5-gpl_h6fbacd7_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.1-h2124f06_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.1-hee8fe31_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.1-h3b6a98a_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.1-hee8fe31_9_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.1-h05be00f_9_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-32_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-32_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.19.0-hd5a2499_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-hc11a715_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.13.3-hce30654_1.conda @@ -380,6 +465,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-14_2_0_h6c33f7e_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-14.2.0-h6c33f7e_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.86.0-h1bb475b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-3.3.0-he41eb1d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-3.3.0-ha114238_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.78.1-h3e3f78d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-hfe07756_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.0-h5505292_0.conda @@ -390,13 +478,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmambapy-2.3.0-py312h3097733_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.30-openmp_hf332438_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.26.0-h08d5cc3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.26.0-hce30654_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.1-h16c0493_9_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.50-h3783ad8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.33.5-h4a5acfd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h4c27e2a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.60.0-h5c55ec3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.21-h1a92334_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsolv-0.7.34-h5f525b2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.50.2-hf8de324_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h14a376c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.1-h4030677_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.6.0-h07db88b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.1-h0ff4647_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.1-h9329255_0.conda @@ -416,6 +511,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/nlohmann_json-3.11.3-h00cdb27_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.3.1-py312h2f38b44_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.3.0-hd11884d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.1-py312h98f7732_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.25.0-hd8ed1ab_1.conda @@ -431,11 +527,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/plac-1.4.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.0.0-py312hea69d52_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py312h38bd297_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.1-py312h1f38498_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.1-py312h21b41d0_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-4-hd8ed1ab_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pycosat-0.6.6-py312hea69d52_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda @@ -455,12 +554,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h998013c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-ha480c28_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/referencing-0.36.2-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/reproc-14.2.5.post0-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/reproc-cpp-14.2.5.post0-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.26.0-py312hd3c0895_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml-0.18.14-py312hea69d52_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.8-py312h0bf5046_1.conda @@ -474,11 +573,16 @@ environments: - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.20.1-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.3.8-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-1.2.3-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.1.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.2.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.8.0-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.3.0-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-scheduler-plugins-2.0.2-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.19.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.49-py312hb3ab3e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_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/tabulate-0.9.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda @@ -501,6 +605,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.8.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h4818236_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312hea69d52_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda win-64: @@ -512,10 +617,29 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.6-hdf23a24_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-cal-0.9.13-h46f3b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-common-0.12.6-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.2-hcb3a2da_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.9-h972bbec_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.10-hb410799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.26.1-h0d5b9f9_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.14.0-h833cf40_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.5-h3ec5e31_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.3-h5e571c5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.747-h532609e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-core-cpp-1.16.2-h49e36cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-identity-cpp-1.13.3-h5ffce34_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-hcd625b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.12.0-h5ffce34_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-h1678c0b_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/black-24.10.0-py312h2e8e312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.6-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.7.14-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.7.14-pyhd8ed1ab_0.conda @@ -562,6 +686,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.44-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-13.1.0-ha5e8f4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py312ha1a9051_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-11.2.1-h8796e6f_0.conda @@ -589,11 +714,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.8.1-pyh5737063_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h6470a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20260107.1-cxx17_h0eb2380_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.1-gpl_h1ca5a36_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.1-h96192e2_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.1-h7d8d6a5_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.1-h081cd8e_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.1-h7d8d6a5_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.1-h524e9bd_3_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-32_h641d27c_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-32_h5e41251_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h43ecb02_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.24-h76ddb4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.1-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.13.3-h57928b3_1.conda @@ -602,6 +738,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h7208af6_11.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.84.2-hbc94333_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.1.0-h1383e82_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h01c467a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.11.2-default_h88281d1_1002.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-h135ad9c_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda @@ -610,12 +749,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmamba-2.3.0-hd0d0357_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmambapy-2.3.0-py312h1fc3bf7_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.1-h7051d1f_3_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.50-h95bef1e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h61fc761_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h04e5de1_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.20-hc70643c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsolv-0.7.34-h8883371_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.50.2-hf5d6505_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h23985f6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.0-h05922d8_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libutf8proc-2.11.3-hb980946_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_9.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda @@ -637,6 +781,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/nlohmann_json-3.11.3-he0c23c2_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.1-py312ha72d056_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.1-py312hc128f0a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.25.0-hd8ed1ab_1.conda @@ -656,6 +801,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py312he39998a_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.1-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.1-py312h12c7521_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-4-hd8ed1ab_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/pycosat-0.6.6-py312h4389bb4_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda @@ -676,11 +823,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py312h31fea79_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.0.0-py312hd7027bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.36.2-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/reproc-14.2.5.post0-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/reproc-cpp-14.2.5.post0-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.26.0-py312hdabe01f_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml-0.18.14-py312h4389bb4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.8-py312h4389bb4_1.conda @@ -694,12 +841,17 @@ environments: - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.20.1-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.3.8-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-1.2.3-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.1.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.2.1-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.8.0-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.3.0-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-scheduler-plugins-2.0.2-pyhd4c3c12_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.19.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py312he5662c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_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/tabulate-0.9.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2021.13.0-h62715c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda @@ -945,6 +1097,720 @@ packages: - pkg:pypi/attrs?source=hash-mapping size: 57181 timestamp: 1741918625732 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.10.1-h2d2dd48_2.conda + sha256: 292aa18fe6ab5351710e6416fbd683eaef3aa5b1b7396da9350ff08efc660e4f + md5: 675ea6d90900350b1dcfa8231a5ea2dd + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 134426 + timestamp: 1774274932726 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.10.1-hcb83491_2.conda + sha256: aba942578ad57e7b584434ed4e39c5ff7ed4ad3f326ac3eda26913ca343ea255 + md5: 1c701edc28f543a0e040325b223d5ca0 + depends: + - __osx >=11.0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + license: Apache-2.0 + license_family: APACHE + size: 116820 + timestamp: 1774275057443 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.6-hdf23a24_1.conda + sha256: ff1e5382e05daf03a209a20465c1dbdfe55e54850b51e3eb3971b856924a9003 + md5: 0088d3b4578bfaceccb8795e10eb69a9 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 125813 + timestamp: 1771494179454 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.13-h2c9d079_1.conda + sha256: f21d648349a318f4ae457ea5403d542ba6c0e0343b8642038523dd612b2a5064 + md5: 3c3d02681058c3d206b562b2e3bc337f + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - libgcc >=14 + - openssl >=3.5.4,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 56230 + timestamp: 1764593147526 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.13-h6ee9776_1.conda + sha256: 13c42cb54619df0a1c3e5e5b0f7c8e575460b689084024fd23abeb443aac391b + md5: 8baab664c541d6f059e83423d9fc5e30 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: Apache + size: 45233 + timestamp: 1764593742187 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-cal-0.9.13-h46f3b43_1.conda + sha256: 5f61082caea9fbdd6ba02702935e9dea9997459a7e6c06fd47f21b81aac882fb + md5: 7cc4953d504d4e8f3d6f4facb8549465 + depends: + - aws-c-common >=0.12.6,<0.12.7.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + size: 53613 + timestamp: 1764593604081 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.6-hb03c661_0.conda + sha256: 926a5b9de0a586e88669d81de717c8dd3218c51ce55658e8a16af7e7fe87c833 + md5: e36ad70a7e0b48f091ed6902f04c23b8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + size: 239605 + timestamp: 1763585595898 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.6-hc919400_0.conda + sha256: cd3817c82470826167b1d8008485676862640cff65750c34062e6c20aeac419b + md5: b759f02a7fa946ea9fd9fb035422c848 + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + size: 224116 + timestamp: 1763585987935 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-common-0.12.6-hfd05255_0.conda + sha256: 0627691c34eb3d9fcd18c71346d9f16f83e8e58f9983e792138a2cccf387d18a + md5: b1465f33b05b9af02ad0887c01837831 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + size: 236441 + timestamp: 1763586152571 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.2-h8b1a151_0.conda + sha256: 1838bdc077b77168416801f4715335b65e9223f83641a2c28644f8acd8f9db0e + md5: f16f498641c9e05b645fe65902df661a + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 22278 + timestamp: 1767790836624 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.2-h3e7f9b5_0.conda + sha256: ce405171612acef0924a1ff9729d556db7936ad380a81a36325b7df5405a6214 + md5: 6edccad10fc1c76a7a34b9c14efbeaa3 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 21470 + timestamp: 1767790900862 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.2-hcb3a2da_0.conda + sha256: f98fbb797d28de3ae41dbd42590549ee0a2a4e61772f9cc6d1a4fa45d47637de + md5: 0385f2340be1776b513258adaf70e208 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 23087 + timestamp: 1767790877990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.6.0-h9b893ba_1.conda + sha256: 4a1a060ab40cb4fa39d24418758ca9faa1f51df6918f05143118e79bb11b4350 + md5: cd4946050ecfcb3c6fd09106ae6a261e + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 58989 + timestamp: 1774270004533 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.6.0-h351c84d_1.conda + sha256: 8927fac75ad4cc4a2fbece5dbcc666cd6672a8ad87370cb183ff4d4f3e11f371 + md5: 228fe528ff814e420d8e13757f3c381e + depends: + - libcxx >=19 + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + license: Apache-2.0 + license_family: APACHE + size: 53641 + timestamp: 1774270084862 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.9-h972bbec_2.conda + sha256: a5be74b1fdab94159eedf2c094cf177cbddc921bc775b0daf850e4c0372468f4 + md5: a18eef8a4007656c5408fc8afe9f4442 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 57333 + timestamp: 1771380438001 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.12-h4bacb7b_1.conda + sha256: c6f910d400ef9034493988e8cd37bd4712e42d85921122bcda4ba68d4614b131 + md5: 7bc920933e5fb225aba86a788164a8f1 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-compression >=0.3.2,<0.3.3.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 225868 + timestamp: 1774270031584 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.12-h95cdebe_1.conda + sha256: b25380b43c2c5733dcaac88b075fa286893af1c147ca40d50286df150ace5fb8 + md5: 806ff124512457583d675c62336b1392 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-compression >=0.3.2,<0.3.3.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + size: 172940 + timestamp: 1774270153001 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.10-hb410799_0.conda + sha256: d528826b08c20d38b5a44bcd440aa6acff21e41821bf13726cc5d8f6f54a2f56 + md5: 37efcd1b134dbec06e22cbffbb115762 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-compression >=0.3.2,<0.3.3.0a0 + license: Apache-2.0 + license_family: APACHE + size: 207441 + timestamp: 1771421383740 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.26.3-hc87160b_0.conda + sha256: c66ebb7815949db72bab7c86bf477197e4bc6937c381cf32248bdd1ce496db00 + md5: dde6a3e4fe6bb2ecd2a7050dd1e701fb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - s2n >=1.7.1,<1.7.2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 181624 + timestamp: 1773868304737 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.26.3-h4137820_0.conda + sha256: 0e6ba2c8f250f466b9d671d3970e1f7c149c925b79c10fa7778708192a2a7833 + md5: 730d1cbd0973bd7ac150e181d3b572f3 + depends: + - __osx >=11.0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 177072 + timestamp: 1773868341204 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.26.1-h0d5b9f9_2.conda + sha256: 15f28a85ef7b841f75e658392882b9e3ee61f7727cce5ba85a9b5c9fc981ee64 + md5: fbc0da512f0ae855cab743c7ba2d094e + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + size: 182264 + timestamp: 1773328915344 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.15.2-he9ea9c5_1.conda + sha256: 3fc68793c0ca2c36524ae67abac696ce6b066a8be6b2b980cbdc40ae1310041a + md5: 8e77514673f5773b40ff8953583938b6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + license: Apache-2.0 + license_family: APACHE + size: 221711 + timestamp: 1774275485771 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.15.2-h69e7467_1.conda + sha256: 69a12dfccdeb1497e3fbcaedea77c7adab854b482558aaa4ce5dea3a80d08c76 + md5: 1f4f6b9a183bea3ddf9af5ebcda0933d + depends: + - __osx >=11.0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 156423 + timestamp: 1774275623505 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.14.0-h833cf40_1.conda + sha256: 6340943c5adfc73a9b9b7e6152a2d8c793fd6d9d85bfaa0b399ca09fcf40ebf8 + md5: 0088f53ad6df2dfb2832d7bde7567dd7 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + license: Apache-2.0 + license_family: APACHE + size: 210780 + timestamp: 1771458049739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.5-h6d69fc9_5.conda + sha256: c15869656f5fbebe27cc5aa58b23831f75d85502d324fedd7ee7e552c79b495d + md5: 4c5c16bf1133dcfe100f33dd4470998e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - openssl >=3.5.5,<4.0a0 + - aws-c-auth >=0.10.1,<0.10.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + size: 151340 + timestamp: 1774282148690 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.5-ha5d16b2_5.conda + sha256: bd8f4ffb8346dd02bda2bc1ae9993ebdb131298b1308cb9e6b1e771b530d9dd5 + md5: f33735fd60f9c4a21c51a0283eb8afc1 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - aws-c-auth >=0.10.1,<0.10.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 129783 + timestamp: 1774282252139 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.5-h3ec5e31_3.conda + sha256: 2bcf3bd41cc3a7e8cac172d2b59da3577e473ca50c274e0cd02da43f943258db + md5: 086743bc5701b6e6d542bcacbfbfdb89 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + size: 141978 + timestamp: 1771586339556 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h8b1a151_4.conda + sha256: 9d62c5029f6f8219368a8665f0a549da572dc777f52413b7d75609cacdbc02cc + md5: c7e3e08b7b1b285524ab9d74162ce40b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 59383 + timestamp: 1764610113765 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda + sha256: 8a4ee03ea6e14d5a498657e5fe96875a133b4263b910c5b60176db1a1a0aaa27 + md5: 658a8236f3f1ebecaaa937b5ccd5d730 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 53430 + timestamp: 1764755714246 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda + sha256: c86c30edba7457e04d905c959328142603b62d7d1888aed893b2e21cca9c302c + md5: 3c97faee5be6fd0069410cf2bca71c85 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 56509 + timestamp: 1764610148907 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h8b1a151_0.conda + sha256: 09472dd5fa4473cffd44741ee4c1112f2c76d7168d1343de53c2ad283dc1efa6 + md5: f8e1bcc5c7d839c5882e94498791be08 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 101435 + timestamp: 1771063496927 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.10-h3e7f9b5_0.conda + sha256: 06661bc848b27aa38a85d8018ace8d4f4a3069e22fa0963e2431dc6c0dc30450 + md5: 07f6c5a5238f5deeed6e985826b30de8 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 91917 + timestamp: 1771063496505 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda + sha256: 505b2365bbf3c197c9c2e007ba8262bcdaaddc970f84ce67cf73868ca2990989 + md5: 96e950e5007fb691322db578736aba52 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + size: 116853 + timestamp: 1771063509650 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.37.4-h4c8aef7_3.conda + sha256: b82d0bc6d4b716347e1aefb0acc6e4bff04b3f807537ada9b458a7e467beb2a0 + md5: 798a499cf76e530a992365d557ba5827 + depends: + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-event-stream >=0.6.0,<0.6.1.0a0 + - aws-c-mqtt >=0.15.2,<0.15.3.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + - aws-c-auth >=0.10.1,<0.10.2.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + size: 410120 + timestamp: 1774286908570 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.37.4-h5505c15_3.conda + sha256: bb9e0abbe22825810776e4c6929f4587567b795272126aaca7e55b30c91f2d29 + md5: a13b36ec511c0589632e3689cd34ccc0 + depends: + - libcxx >=19 + - __osx >=11.0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-mqtt >=0.15.2,<0.15.3.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-event-stream >=0.6.0,<0.6.1.0a0 + - aws-c-http >=0.10.12,<0.10.13.0a0 + - aws-c-auth >=0.10.1,<0.10.2.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + - aws-c-io >=0.26.3,<0.26.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 269460 + timestamp: 1774286981607 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.3-h5e571c5_0.conda + sha256: d970dfe1a26c8f78c8f5215aacb96c9105a845a7e6bb00973051c077ef6d26be + md5: b80eaad1305cbdefefb010a5724acad5 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-mqtt >=0.14.0,<0.14.1.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + license: Apache-2.0 + license_family: APACHE + size: 304139 + timestamp: 1771983373213 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.747-hc3785e1_3.conda + sha256: 62b7e565852fa061a26281b2890e432853fabefa8ea3dc22d00d39295a030805 + md5: cfffedbfd03d5a6bb74157c14b6f0cdf + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-crt-cpp >=0.37.4,<0.37.5.0a0 + - aws-c-event-stream >=0.6.0,<0.6.1.0a0 + - libcurl >=8.19.0,<9.0a0 + license: Apache-2.0 + license_family: APACHE + size: 3624521 + timestamp: 1773666645246 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.747-had22720_3.conda + sha256: b5ce4fafe17ab58980f944b9a45504ce45dda0423064591d51240eb8308589af + md5: 157ae2a6008d62f61107f5b78dce06d2 + depends: + - libcxx >=19 + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-event-stream >=0.6.0,<0.6.1.0a0 + - libcurl >=8.19.0,<9.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-crt-cpp >=0.37.4,<0.37.5.0a0 + license: Apache-2.0 + license_family: APACHE + size: 3260974 + timestamp: 1773666675518 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.747-h532609e_1.conda + sha256: fca0b8b5c8c5153cbc6e2d33db098218f5df8d9494bdebd18884f98d21cd9a69 + md5: 502016afd445393bf698dfcc005909de + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-crt-cpp >=0.37.3,<0.37.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 23793013 + timestamp: 1772084570337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.2-h206d751_0.conda + sha256: 321d1070905e467b6bc6f5067b97c1868d7345c272add82b82e08a0224e326f0 + md5: 5492abf806c45298ae642831c670bba0 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.18.0,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.4,<4.0a0 + license: MIT + license_family: MIT + size: 348729 + timestamp: 1768837519361 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda + sha256: d9a04af33d9200fcd9f6c954e2a882c5ac78af4b82025623e59cb7f7e590b451 + md5: 7efe92d28599c224a24de11bb14d395e + depends: + - __osx >=11.0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - openssl >=3.5.4,<4.0a0 + license: MIT + license_family: MIT + size: 290928 + timestamp: 1768837810218 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-core-cpp-1.16.2-h49e36cd_0.conda + sha256: 3f3bdc95cc398afe1dc23655aa3480fd2c972307987b2451d4723de6228b9427 + md5: b625bbba0b9ae28003bd96342043ea0c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 500955 + timestamp: 1768837821295 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.13.3-hed0cdb0_1.conda + sha256: 2beb6ae8406f946b8963a67e72fe74453e1411c5ae7e992978340de6c512d13c + md5: 68bfb556bdf56d56e9f38da696e752ca + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + size: 250511 + timestamp: 1770344967948 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.13.3-h810541e_1.conda + sha256: 428fa73808a688a252639080b6751953ad7ecd8a4cbd8f23147b954d6902b31b + md5: ca46cc84466b5e05f15a4c4f263b6e80 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libcxx >=19 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + size: 167424 + timestamp: 1770345338067 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-identity-cpp-1.13.3-h5ffce34_1.conda + sha256: 33a0c86a7095d0716f428818157fc1d74b04949f99d2211b3030b9c9f1426c63 + md5: 998e10f568f0db5615ef880673bc3f35 + depends: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 424962 + timestamp: 1770345047909 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hdd73cc9_1.conda + sha256: cef75b91bdd5a65c560b501df78905437cc2090a64b4c5ecd7da9e08e9e9af7c + md5: 939d9ce324e51961c7c4c0046733dbb7 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + size: 579825 + timestamp: 1770321459546 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-hc57151b_1.conda + sha256: 9de2f050a49597e5b98b59bf90880e00bfdff79a3afbb18828565c3a645d62d6 + md5: f08b3b9d7333dc427b79897e6e3e7f29 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - libcxx >=19 + license: MIT + license_family: MIT + size: 426735 + timestamp: 1770322058844 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-hcd625b1_1.conda + sha256: 654fae004aee8616a8ed4935a6fa703d629e4d1686a9fe431ef2e689846c0016 + md5: bc419192d40ca1b4928f70519d54b96c + depends: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 781612 + timestamp: 1770321543576 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.12.0-ha7a2c86_1.conda + sha256: ef7d1cae36910b21385d0816f8524a84dee1513e0306927e41a6bd32b5b9a0d0 + md5: 6400f73fe5ebe19fe7aca3616f1f1de7 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + size: 150405 + timestamp: 1770240307002 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.12.0-he467506_1.conda + sha256: 541be427e681d129c8722e81548d2e51c4b1a817f88333f3fbb3dcdef7eacafb + md5: b658a3fb0fc412b2a4d30da3fcec036f + depends: + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libcxx >=19 + - libxml2 + - libxml2-16 >=2.14.6 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + size: 121500 + timestamp: 1770240531430 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.12.0-h5ffce34_1.conda + sha256: 98dfdd2d86d34b93a39d04a73eb4ca26cc0986bf20892005a66db13077eb4b86 + md5: 716715d06097dfd791b0bab525839910 + depends: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 246289 + timestamp: 1770240396492 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h52c5a47_1.conda + sha256: 55aa8ad5217d358e0ccf4a715bd1f9bafef3cd1c2ea4021f0e916f174c20f8e3 + md5: 6d10339800840562b7dad7775f5d2c16 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + size: 302524 + timestamp: 1770384269834 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hf8a9d22_1.conda + sha256: 1891df88b68768bc042ea766c1be279bff0fdaf471470bfa3fa599284dbd0975 + md5: 601ac4f945ba078955557edf743f1f78 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - libcxx >=19 + license: MIT + license_family: MIT + size: 198153 + timestamp: 1770384528646 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-h1678c0b_1.conda + sha256: 9941733f0f4b3a2649f534c71195c8e7a92984e9e9f17c7eb6d84803e3cdccf1 + md5: 64afdd17c4a6f4cb1d97caaad1fdc191 + depends: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-common-cpp >=12.12.0,<12.12.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 438910 + timestamp: 1770384369008 - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py312h7900ff3_0.conda sha256: 2b4344d18328b3e8fd9b5356f4ee15556779766db8cb21ecf2ff818809773df6 md5: 2daba153b913b1b901cf61440ad5e019 @@ -1105,6 +1971,17 @@ packages: license_family: MIT size: 180327 timestamp: 1765215064054 +- conda: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.6-hfd05255_0.conda + sha256: 5e1e2e24ce279f77e421fcc0e5846c944a8a75f7cf6158427c7302b02984291a + md5: 7c6da34e5b6e60b414592c74582e28bf + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 193550 + timestamp: 1765215100218 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.7.14-h4c7d964_0.conda sha256: a7fe9bce8a0f9f985d44940ec13a297df571ee70fb2264b339c62fa190b2c437 md5: 40334594f5916bc4c0a0313d64bfe046 @@ -2315,6 +3192,27 @@ packages: purls: [] size: 26238 timestamp: 1750744808182 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + sha256: 6c33bf0c4d8f418546ba9c250db4e4221040936aef8956353bc764d4877bc39a + md5: d411fc29e338efb48c5fd4576d71d881 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 119654 + timestamp: 1726600001928 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 + md5: 57a511a5905caa37540eb914dfcbf1fb + depends: + - __osx >=11.0 + - libcxx >=17 + license: BSD-3-Clause + license_family: BSD + size: 82090 + timestamp: 1726600145480 - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 md5: 7c14f3706e099f8fcd47af2d494616cc @@ -2360,6 +3258,28 @@ packages: license: LGPL-2.1-or-later size: 102231 timestamp: 1757404604900 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + sha256: dc824dc1d0aa358e28da2ecbbb9f03d932d976c8dca11214aa1dcdfcbd054ba2 + md5: ff862eebdfeb2fd048ae9dc92510baca + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 143452 + timestamp: 1718284177264 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + sha256: 9fc77de416953aa959039db72bc41bfa4600ae3ff84acad04a7d0c1ab9552602 + md5: fef68d0a95aa5b84b5c1a4f6f3bf40e1 + depends: + - __osx >=11.0 + - gflags >=2.2.2,<2.3.0a0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 112215 + timestamp: 1718284365403 - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-h5888daf_0.conda sha256: cac69f3ff7756912bbed4c28363de94f545856b35033c0b86193366b95f5317d md5: 951ff8d9e5536896408e89d63230b8d5 @@ -2465,6 +3385,45 @@ packages: purls: [] size: 1205420 timestamp: 1751389900374 +- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py312h8285ef7_0.conda + sha256: 03c8d065ef1e07053252412c541b5f1af70bc5fa2f974f129128d90fbdc47fe5 + md5: db6bba1610e5c4256d2892ec2997c425 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 253793 + timestamp: 1771658391409 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.3.2-py312h6510ced_0.conda + sha256: 4b11b05d11c024162eb3486f0cf5dc5878fc27915ec03108aaee8946f36deead + md5: 5ec9884fbb0d262e2ae35293fccbd263 + depends: + - python + - python 3.12.* *_cpython + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 250518 + timestamp: 1771658526528 +- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py312ha1a9051_0.conda + sha256: cbc6f4c63c779f1b5fce7c22bb737c87daa14083134990c9673ef15ed0a85572 + md5: 0f200f3d8424d0ace61b9c2c0cfe99d4 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 235335 + timestamp: 1771658408666 - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h0c6a113_5.conda sha256: d36263cbcbce34ec463ce92bd72efa198b55d987959eab6210cc256a0e79573b md5: 67d00e9cfe751cfe581726c5eff7c184 @@ -3230,9 +4189,50 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: Apache - purls: [] - size: 164701 - timestamp: 1745264384716 + purls: [] + size: 164701 + timestamp: 1745264384716 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda + sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239 + md5: 6f7b4302263347698fd24565fbf11310 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - libabseil-static =20260107.1=cxx17* + - abseil-cpp =20260107.1 + license: Apache-2.0 + license_family: Apache + size: 1384817 + timestamp: 1770863194876 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda + sha256: 756611fbb8d2957a5b4635d9772bd8432cb6ddac05580a6284cca6fdc9b07fca + md5: bb65152e0d7c7178c0f1ee25692c9fd1 + depends: + - __osx >=11.0 + - libcxx >=19 + constrains: + - abseil-cpp =20260107.1 + - libabseil-static =20260107.1=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1229639 + timestamp: 1770863511331 +- conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20260107.1-cxx17_h0eb2380_0.conda + sha256: 7e7f3754f8afaabd946dc11d7c00fd1dc93f0388a2d226a7abf1bf07deab0e2b + md5: 60da39dd5fd93b2a4a0f986f3acc2520 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libabseil-static =20260107.1=cxx17* + - abseil-cpp =20260107.1 + license: Apache-2.0 + license_family: Apache + size: 1884784 + timestamp: 1770863303486 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.5-gpl_hc2c16d8_100.conda sha256: ee2cf1499a5a5fd5f03c6203597fe14bf28c6ca2a8fffb761e41f3cf371e768e md5: 5fdaa8b856683a5598459dead3976578 @@ -3291,6 +4291,316 @@ packages: purls: [] size: 1098688 timestamp: 1749386269743 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.1-ha7f89c6_9_cpu.conda + build_number: 9 + sha256: 227150d746680ddb0c1e8c346647d62f3e6b6fc43c22f87a330c616c9ef68d9d + md5: b94c6431eadc98b61f4b9c62a338b3c6 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.37.4,<0.37.5.0a0 + - aws-sdk-cpp >=1.11.747,<1.11.748.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libgcc >=14 + - libgoogle-cloud >=3.3.0,<3.4.0a0 + - libgoogle-cloud-storage >=3.3.0,<3.4.0a0 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.3.0,<2.3.1.0a0 + - snappy >=1.2.2,<1.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 6492912 + timestamp: 1774232411616 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.1-h2124f06_9_cpu.conda + build_number: 9 + sha256: f83971e3ac14af1bac795ea10cfbec05b61be727706add6afa687c73ce8549b5 + md5: b465d5d30009bdf37d672f825017840a + depends: + - __osx >=11.0 + - aws-crt-cpp >=0.37.4,<0.37.5.0a0 + - aws-sdk-cpp >=1.11.747,<1.11.748.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libcxx >=21 + - libgoogle-cloud >=3.3.0,<3.4.0a0 + - libgoogle-cloud-storage >=3.3.0,<3.4.0a0 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.3.0,<2.3.1.0a0 + - snappy >=1.2.2,<1.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 4249863 + timestamp: 1774231755880 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.1-h96192e2_3_cpu.conda + build_number: 3 + sha256: cde1ee32b6d5f168c1d3897b853919fb78da8292c8c7078dc4e2f2e526fa5207 + md5: 8d21a328a8209f520960e1d9369d13f0 + depends: + - aws-crt-cpp >=0.37.3,<0.37.4.0a0 + - aws-sdk-cpp >=1.11.747,<1.11.748.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgoogle-cloud >=2.39.0,<2.40.0a0 + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.2,<2.2.3.0a0 + - snappy >=1.2.2,<1.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 4245615 + timestamp: 1772108063322 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.1-h635bf11_9_cpu.conda + build_number: 9 + sha256: 42fb618f2402d14e96987d82f36453793ee7bae07c8dfa7fee54491bf1d163d9 + md5: 84cdfd12ec9a363b400f7d3850838ea3 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.1 ha7f89c6_9_cpu + - libarrow-compute 23.0.1 h53684a4_9_cpu + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 609325 + timestamp: 1774232640179 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.1-hee8fe31_9_cpu.conda + build_number: 9 + sha256: 807b643446069dcdac76cc9a034d5d6dddc26c28dd6d489bb7470e8444abf7be + md5: 7cda086867aa6c8c5fed0acd7342e597 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h2124f06_9_cpu + - libarrow-compute 23.0.1 h3b6a98a_9_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + size: 537445 + timestamp: 1774232143744 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.1-h7d8d6a5_3_cpu.conda + build_number: 3 + sha256: 6ed74d6e849ba1254cd9c86fdb20e9d30210df55695d14a977c6cc21b0d2707e + md5: 56a3928b7a9750118083d313112fb167 + depends: + - libarrow 23.0.1 h96192e2_3_cpu + - libarrow-compute 23.0.1 h081cd8e_3_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 463521 + timestamp: 1772108374948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.1-h53684a4_9_cpu.conda + build_number: 9 + sha256: 6ce44b5992a855e2412d904181729272b4732e8ebd8283a20b5b0b93f91f48f3 + md5: b3ba3597c481a636fc161185819cf6b1 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.1 ha7f89c6_9_cpu + - libgcc >=14 + - libre2-11 >=2025.11.5 + - libstdcxx >=14 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + size: 3003173 + timestamp: 1774232490011 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.1-h3b6a98a_9_cpu.conda + build_number: 9 + sha256: b37ca8baebed6d2aab5a24b7abe054ae1fb27aacf41ffe0316219d4be42079b9 + md5: 815aba0e26cb9494dbe428586e95dd2f + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h2124f06_9_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + size: 2258629 + timestamp: 1774231884175 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.1-h081cd8e_3_cpu.conda + build_number: 3 + sha256: 394f421625f1b2c03dbd3494ba1d7c9eb16d5f52e13700f113038a0b5df7a146 + md5: ac61483ab4caeca4b11416b60fcc3303 + depends: + - libarrow 23.0.1 h96192e2_3_cpu + - libre2-11 >=2025.11.5 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 1769195 + timestamp: 1772108171084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.1-h635bf11_9_cpu.conda + build_number: 9 + sha256: cc3fb77d53f7e2db2cd35ffc1371d677d9e13682b7964e196cab533b319a85ea + md5: 9c5282b7aaf2261d3dbe5a61d24d5337 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.1 ha7f89c6_9_cpu + - libarrow-acero 23.0.1 h635bf11_9_cpu + - libarrow-compute 23.0.1 h53684a4_9_cpu + - libgcc >=14 + - libparquet 23.0.1 h7376487_9_cpu + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 607738 + timestamp: 1774232745741 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.1-hee8fe31_9_cpu.conda + build_number: 9 + sha256: 42672a9adaadb8da15566e24cf2de35d1d05cc3db72413affdfdc12985ac92a0 + md5: 110646c79598670eaa007968280b5596 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h2124f06_9_cpu + - libarrow-acero 23.0.1 hee8fe31_9_cpu + - libarrow-compute 23.0.1 h3b6a98a_9_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libparquet 23.0.1 h16c0493_9_cpu + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + size: 536818 + timestamp: 1774232323846 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.1-h7d8d6a5_3_cpu.conda + build_number: 3 + sha256: f161fd6f62098993de2a9d91f2c83922ed6c7a1aa533acd120b023500ed79395 + md5: bd8460e9f0c23d89bd5761c160569081 + depends: + - libarrow 23.0.1 h96192e2_3_cpu + - libarrow-acero 23.0.1 h7d8d6a5_3_cpu + - libarrow-compute 23.0.1 h081cd8e_3_cpu + - libparquet 23.0.1 h7051d1f_3_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 445584 + timestamp: 1772108509299 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.1-hb4dd7c2_9_cpu.conda + build_number: 9 + sha256: 037f4befc2df64d9c7903eb7508c1495772f17b7a318b5a888aaddb6307b48a0 + md5: d5338f154126253750e8ccc539386b92 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 ha7f89c6_9_cpu + - libarrow-acero 23.0.1 h635bf11_9_cpu + - libarrow-dataset 23.0.1 h635bf11_9_cpu + - libgcc >=14 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 518730 + timestamp: 1774232781245 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.1-h05be00f_9_cpu.conda + build_number: 9 + sha256: 37b12a2d645c267e0f289ccf5890d0df1cad5f300fabe116a2cca5608f89181d + md5: cff8fd0f1cc0801a172114f7742ede4a + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h2124f06_9_cpu + - libarrow-acero 23.0.1 hee8fe31_9_cpu + - libarrow-dataset 23.0.1 hee8fe31_9_cpu + - libcxx >=21 + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + size: 472305 + timestamp: 1774232406953 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.1-h524e9bd_3_cpu.conda + build_number: 3 + sha256: 07a166e3118401f0cec12777aa0b8ffbc2121e0a15de1fda49a9f0d324e5441f + md5: ecc48673b077bce0278580bdff5a8608 + depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h96192e2_3_cpu + - libarrow-acero 23.0.1 h7d8d6a5_3_cpu + - libarrow-dataset 23.0.1 h7d8d6a5_3_cpu + - libprotobuf >=6.33.5,<6.33.6.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 378879 + timestamp: 1772108554879 - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-32_h59b9bed_openblas.conda build_number: 32 sha256: 1540bf739feb446ff71163923e7f044e867d163c50b605c8b421c55ff39aa338 @@ -3343,6 +4653,102 @@ packages: purls: [] size: 3735390 timestamp: 1750389080409 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e + md5: 72c8fd1af66bd67bf580645b426513ed + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 79965 + timestamp: 1764017188531 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda + sha256: a7cb9e660531cf6fbd4148cff608c85738d0b76f0975c5fc3e7d5e92840b7229 + md5: 006e7ddd8a110771134fcc4e1e3a6ffa + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 79443 + timestamp: 1764017945924 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 + md5: 444b0a45bbd1cb24f82eedb56721b9c4 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 82042 + timestamp: 1764017799966 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b + md5: 366b40a69f0ad6072561c1d09301c886 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 34632 + timestamp: 1764017199083 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda + sha256: 2eae444039826db0454b19b52a3390f63bfe24f6b3e63089778dd5a5bf48b6bf + md5: 079e88933963f3f149054eec2c487bc2 + depends: + - __osx >=11.0 + - libbrotlicommon 1.2.0 hc919400_1 + license: MIT + license_family: MIT + size: 29452 + timestamp: 1764017979099 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb + md5: 450e3ae947fc46b60f1d8f8f318b40d4 + depends: + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 34449 + timestamp: 1764017851337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d + md5: 4ffbb341c8b616aa2494b6afb26a0c5f + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 298378 + timestamp: 1764017210931 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda + sha256: 01436c32bb41f9cb4bcf07dda647ce4e5deb8307abfc3abdc8da5317db8189d1 + md5: b2b7c8288ca1a2d71ff97a8e6a1e8883 + depends: + - __osx >=11.0 + - libbrotlicommon 1.2.0 hc919400_1 + license: MIT + license_family: MIT + size: 290754 + timestamp: 1764018009077 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a + md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c + depends: + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 252903 + timestamp: 1764017901735 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-32_he106b2a_openblas.conda build_number: 32 sha256: 92a001fc181e6abe4f4a672b81d9413ca2f22609f8a95327dfcc6eee593ffeb9 @@ -3388,6 +4794,35 @@ packages: purls: [] size: 3735392 timestamp: 1750389122586 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 + md5: c965a5aa0d5c1c37ffc62dff36e28400 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 20440 + timestamp: 1633683576494 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 + md5: 32bd82a6a625ea6ce090a81c3d34edeb + depends: + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + size: 18765 + timestamp: 1633683992603 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2 + sha256: 75e60fbe436ba8a11c170c89af5213e8bec0418f88b7771ab7e3d9710b70c54e + md5: cd4cc2d0c610c8cb5419ccc979f2d6ce + depends: + - vc >=14.1,<15.0a0 + - vs2015_runtime >=14.16.27012 + license: BSD-3-Clause + license_family: BSD + size: 25694 + timestamp: 1633684287072 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda sha256: 205c4f19550f3647832ec44e35e6d93c8c206782bdd620c1d7cf66237580ff9c md5: 49c553b47ff679a6a1e9fc80b9c5a2d4 @@ -3529,6 +4964,37 @@ packages: purls: [] size: 107458 timestamp: 1702146414478 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 427426 + timestamp: 1685725977222 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + sha256: 8c136d7586259bb5c0d2b913aaadc5b9737787ae4f40e3ad1beaf96c80b919b7 + md5: 1a109764bff3bdc7bdd84088347d71dc + depends: + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 368167 + timestamp: 1685726248899 +- conda: https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda + sha256: af03882afb7a7135288becf340c2f0cf8aa8221138a9a7b108aaeb308a486da1 + md5: 25efbd786caceef438be46da78a7b5ef + depends: + - openssl >=3.1.1,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-3-Clause + license_family: BSD + size: 410555 + timestamp: 1685726568668 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda sha256: da2080da8f0288b95dd86765c801c6e166c4619b910b11f9a8446fb852438dc2 md5: 4211416ecba1866fab0c6470986c22d6 @@ -3891,6 +5357,174 @@ packages: purls: [] size: 535456 timestamp: 1750808243424 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-3.3.0-h25dbb67_1.conda + sha256: 17ea802cef3942b0a850b8e33b03fc575f79734f3c829cdd6a4e56e2dae60791 + md5: b2baa4ce6a9d9472aaa602b88f8d40ac + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcurl >=8.19.0,<9.0a0 + - libgcc >=14 + - libgrpc >=1.78.1,<1.79.0a0 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - openssl >=3.5.5,<4.0a0 + constrains: + - libgoogle-cloud 3.3.0 *_1 + license: Apache-2.0 + license_family: Apache + size: 2558266 + timestamp: 1774212240265 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-3.3.0-he41eb1d_1.conda + sha256: 632d23ea1c00b2f439d8846d4925646dafa6c0380ecc3353d8a9afa878829539 + md5: b4e0ec13e232efea554bb5155dc1ef32 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcurl >=8.19.0,<9.0a0 + - libcxx >=19 + - libgrpc >=1.78.1,<1.79.0a0 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - openssl >=3.5.5,<4.0a0 + constrains: + - libgoogle-cloud 3.3.0 *_1 + license: Apache-2.0 + license_family: Apache + size: 1773417 + timestamp: 1774214139261 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h01c467a_1.conda + sha256: 098ac4abc51752a1c56c1c05ed4220e88daa7d0e18922b0d355056d5b305f167 + md5: 453d3a0347fe049b922a2a851c1c0110 + depends: + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgrpc >=1.78.0,<1.79.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libgoogle-cloud 2.39.0 *_1 + license: Apache-2.0 + license_family: Apache + size: 15218 + timestamp: 1770462467767 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.3.0-hdbdcf42_1.conda + sha256: 838b6798962039e7f1ed97be85c3a36ceacfd4611bdf76e7cc0b6cd8741edf57 + md5: da94b149c8eea6ceef10d9e408dcfeb3 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=14 + - libgoogle-cloud 3.3.0 h25dbb67_1 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 779217 + timestamp: 1774212426084 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-3.3.0-ha114238_1.conda + sha256: 024e3e099a478b3b89e0dee32348a55c6a1237fe66aa730172ae642f63ffc093 + md5: 7fb98178c58d71ba046a451968d8579f + depends: + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=19 + - libgoogle-cloud 3.3.0 he41eb1d_1 + - libzlib >=1.3.2,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 523970 + timestamp: 1774214725148 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_1.conda + sha256: 127bd4becdd1abace1f99520b53440450ff3974468c90afa5aad68c25e7707b0 + md5: 88ebaa9b98c04cd5ad7b042b7e4f49c9 + depends: + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgoogle-cloud 2.39.0 h01c467a_1 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + size: 15235 + timestamp: 1770462799291 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.78.1-h1d1128b_0.conda + sha256: 5bb935188999fd70f67996746fd2dca85ec6204289e11695c316772e19451eb8 + md5: b5fb6d6c83f63d83ef2721dca6ff7091 + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.6,<2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libgcc >=14 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.78.1 + license: Apache-2.0 + license_family: APACHE + size: 7021360 + timestamp: 1774020290672 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.78.1-h3e3f78d_0.conda + sha256: a6e01573795484c2200e499ddffb825d24184888be6a596d4beaceebe6f8f525 + md5: 17b9e07ba9b46754a6953999a948dcf7 + depends: + - __osx >=11.0 + - c-ares >=1.34.6,<2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcxx >=19 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.78.1 + license: Apache-2.0 + license_family: APACHE + size: 4820402 + timestamp: 1774012715207 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda + sha256: e5667a557c6211db4e1de0bf3146b880977cd7447dce5e5f5cb7d9e3dc9afa70 + md5: 26dbb65607f8fe485df5ee98fa6eb79f + depends: + - c-ares >=1.34.6,<2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - re2 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - grpc-cpp =1.78.1 + license: Apache-2.0 + license_family: APACHE + size: 11546515 + timestamp: 1774013326223 - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.11.2-default_h88281d1_1002.conda sha256: dbc7d0536b4e1fb2361ca90a80b52cde1c85e0b159fa001f795e7d40e99438b0 md5: 46621eae093570430d56aa6b4e298500 @@ -4316,6 +5950,106 @@ packages: purls: [] size: 4163399 timestamp: 1750378829050 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.26.0-h9692893_0.conda + sha256: 5126b75e7733de31e261aa275c0a1fd38b25fdfff23e7d7056ebd6ca76d11532 + md5: c360be6f9e0947b64427603e91f9651f + depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcurl >=8.19.0,<9.0a0 + - libgrpc >=1.78.0,<1.79.0a0 + - libopentelemetry-cpp-headers 1.26.0 ha770c72_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - nlohmann_json + - prometheus-cpp >=1.3.0,<1.4.0a0 + constrains: + - cpp-opentelemetry-sdk =1.26.0 + license: Apache-2.0 + license_family: APACHE + size: 934274 + timestamp: 1774001192674 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.26.0-h08d5cc3_0.conda + sha256: 47ce35cc7b903d546cc8ac0a09abfab7aea955147dc18bb2c9eaa5dc7c378a37 + md5: 8cb49289db7cfec1dea3bf7e0e4f0c8d + depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcurl >=8.19.0,<9.0a0 + - libgrpc >=1.78.0,<1.79.0a0 + - libopentelemetry-cpp-headers 1.26.0 hce30654_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - nlohmann_json + - prometheus-cpp >=1.3.0,<1.4.0a0 + constrains: + - cpp-opentelemetry-sdk =1.26.0 + license: Apache-2.0 + license_family: APACHE + size: 579527 + timestamp: 1774001294901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.26.0-ha770c72_0.conda + sha256: fec2ba047f7000c213ca7ace5452435197c79fbcb1690da7ce85e99312245984 + md5: cb93c6e226a7bed5557601846555153d + license: Apache-2.0 + license_family: APACHE + size: 396403 + timestamp: 1774001149705 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.26.0-hce30654_0.conda + sha256: 17f18bab128650598d2f09ae653ab406b9f049e0692b4519a2cf09a6f1603ee9 + md5: efdb13315f1041c7750214a20c1ab162 + license: Apache-2.0 + license_family: APACHE + size: 396412 + timestamp: 1774001222028 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.1-h7376487_9_cpu.conda + build_number: 9 + sha256: 2ab9ac48c43b9800777c05b504337ef93597bf310ac8cff957796cc6776992a2 + md5: 2dccf1b6cf9dba8857050740dbc0497e + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.1 ha7f89c6_9_cpu + - libgcc >=14 + - libstdcxx >=14 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1390169 + timestamp: 1774232604005 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.1-h16c0493_9_cpu.conda + build_number: 9 + sha256: 85fc60c1db0d7908dac20a04300f979c39f3997fd9678eed4e211ffd1d4ddc51 + md5: 3b6e1cea9cf48fbf2312a1b5f5745d35 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h2124f06_9_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.26.0,<1.27.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1072901 + timestamp: 1774232081998 +- conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.1-h7051d1f_3_cpu.conda + build_number: 3 + sha256: 04b6cacec2ba910a9339cd63d8c5f27626bad7c3c86040b5580d20d13c42cc46 + md5: 8ff27385263c4440f53422a1446feac9 + depends: + - libarrow 23.0.1 h96192e2_3_cpu + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 946568 + timestamp: 1772108328374 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h943b412_0.conda sha256: c7b212bdd3f9d5450c4bae565ccb9385222bf9bb92458c2a23be36ff1b981389 md5: 51de14db340a848869e69c632b43cca7 @@ -4349,6 +6083,91 @@ packages: purls: [] size: 352422 timestamp: 1751559786122 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda + sha256: afbf195443269ae10a940372c1d37cda749355d2bd96ef9587a962abd87f2429 + md5: 11ac478fa72cf12c214199b8a96523f4 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 3638698 + timestamp: 1769749419271 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.33.5-h4a5acfd_0.conda + sha256: 626852cd50690526c9eac216a9f467edd4cbb01060d0efe41b7def10b54bdb08 + md5: b839e3295b66434f20969c8b940f056a + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2713660 + timestamp: 1769748299578 +- conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h61fc761_0.conda + sha256: 73e2ac7ff32b635b9f6a485dfd5ec1968b7f4bd49f21350e919b2ed8966edaa3 + md5: 69e5855826e56ea4b67fb888ef879afd + depends: + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + size: 7117788 + timestamp: 1769749718218 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h0dc7533_1.conda + sha256: 138fc85321a8c0731c1715688b38e2be4fb71db349c9ab25f685315095ae70ff + md5: ced7f10b6cfb4389385556f47c0ad949 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - re2 2025.11.05.* + license: BSD-3-Clause + license_family: BSD + size: 213122 + timestamp: 1768190028309 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h4c27e2a_1.conda + sha256: 1e2d23bbc1ffca54e4912365b7b59992b7ae5cbeb892779a6dcd9eca9f71c428 + md5: 40d8ad21be4ccfff83a314076c3563f4 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcxx >=19 + constrains: + - re2 2025.11.05.* + license: BSD-3-Clause + license_family: BSD + size: 165851 + timestamp: 1768190225157 +- conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h04e5de1_1.conda + sha256: 7e26b7868b10e40bc441e00c558927835eacef7e5a39611c2127558edd660c8f + md5: 3d863f1a19f579ca511f6ac02038ab5a + depends: + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - re2 2025.11.05.* + license: BSD-3-Clause + license_family: BSD + size: 266062 + timestamp: 1768190189553 - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda sha256: 960b137673b2b8293e2a12d194add72967b3bf12fcdf691e7ad8bd5c8318cec3 md5: 91e6d4d684e237fba31b9815c4b40edf @@ -4542,6 +6361,47 @@ packages: purls: [] size: 29093 timestamp: 1750808292700 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h454ac66_1.conda + sha256: 4888b9ea2593c36ca587a5ebe38d0a56a0e6d6a9e4bb7da7d9a326aaaca7c336 + md5: 8ed82d90e6b1686f5e98f8b7825a15ef + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 424208 + timestamp: 1753277183984 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h14a376c_1.conda + sha256: 8b703f2c6e47ed5886d7298601b9416b59e823fc8d1a8fa867192c94c5911aac + md5: 3161023bb2f8c152e4c9aa59bdd40975 + depends: + - __osx >=11.0 + - libcxx >=19 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 323360 + timestamp: 1753277264380 +- conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h23985f6_1.conda + sha256: 87516b128ffa497fc607d5da0cc0366dbee1dbcc14c962bf9ea951d480c7698b + md5: 556d49ad5c2ad553c2844cc570bb71c7 + depends: + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.1,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 636513 + timestamp: 1753277481158 - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 md5: cd5a90476766d53e901500df9215e927 @@ -4592,6 +6452,36 @@ packages: purls: [] size: 979074 timestamp: 1747067408877 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.11.3-hfe17d71_0.conda + sha256: ecbf4b7520296ed580498dc66a72508b8a79da5126e1d6dc650a7087171288f9 + md5: 1247168fe4a0b8912e3336bccdbf98a5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 85969 + timestamp: 1768735071295 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda + sha256: ae1a82e62cd4e3c18e005ae7ff4358ed72b2bfbfe990d5a6a5587f81e9a100dc + md5: 2255add2f6ae77d0a96624a5cbde6d45 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 87916 + timestamp: 1768735311947 +- conda: https://conda.anaconda.org/conda-forge/win-64/libutf8proc-2.11.3-hb980946_0.conda + sha256: 5d82af0779eab283416240da792a0d2fe4f8213c447e9f04aeaab1801468a90c + md5: 5f34fcb6578ea9bdbfd53cc2cfb88200 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 89061 + timestamp: 1768735187639 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 md5: 40b61aab5c7ba9ff276c41cfffe6b80b @@ -5283,6 +7173,60 @@ packages: license_family: Apache size: 9343023 timestamp: 1769557547888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.0-h21090e2_0.conda + sha256: a60c2578c8422e0c67206d269767feb4d3e627511558b6866e5daf2231d5214d + md5: 8027fce94fdfdf2e54f9d18cbae496df + depends: + - tzdata + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.2,<1.3.0a0 + - libabseil >=20260107.1,<20260108.0a0 + - libabseil * cxx17* + - libprotobuf >=6.33.5,<6.33.6.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1468651 + timestamp: 1773230208923 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.3.0-hd11884d_0.conda + sha256: 8594f064828cca9b8d625e2ebe79436fd4ffc030c950573380c54a8f4329f955 + md5: 77bfe521901c1a247cc66c1276826a85 + depends: + - tzdata + - libcxx >=19 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - snappy >=1.2.2,<1.3.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libabseil >=20260107.1,<20260108.0a0 + - libabseil * cxx17* + - lz4-c >=1.10.0,<1.11.0a0 + license: Apache-2.0 + license_family: APACHE + size: 548180 + timestamp: 1773230270828 +- conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda + sha256: dcfca3c3c117e9102fcfca116ec9e4f0bbcd0f13b3fce06ff111ae9f107d04b7 + md5: aa6701a960f0e94478229af1e061c237 + depends: + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.2,<1.3.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1073185 + timestamp: 1770452512023 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 md5: 58335b26c38bf4a20f399384c33cbcf9 @@ -5701,6 +7645,33 @@ packages: - pkg:pypi/pluggy?source=hash-mapping size: 24246 timestamp: 1747339794916 +- conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + sha256: 013669433eb447548f21c3c6b16b2ed64356f726b5f77c1b39d5ba17a8a4b8bc + md5: a83f6a2fdc079e643237887a37460668 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - zlib + license: MIT + license_family: MIT + size: 199544 + timestamp: 1730769112346 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda + sha256: 851a77ae1a8e90db9b9f3c4466abea7afb52713c3d98ceb0d37ba6ff27df2eff + md5: 7172339b49c94275ba42fec3eaeda34f + depends: + - __osx >=11.0 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - zlib + license: MIT + license_family: MIT + size: 173220 + timestamp: 1730769371051 - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda sha256: ebc1bb62ac612af6d40667da266ff723662394c0ca78935340a5b5c14831227b md5: d17ae9db4dc594267181bd199bf9a551 @@ -5845,6 +7816,109 @@ packages: - pkg:pypi/pure-eval?source=hash-mapping size: 16668 timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.1-py312h7900ff3_0.conda + sha256: 05ac953b934135cf63343ddc6cbea56abfd167af118f22a47fc8984f9158beb8 + md5: 58710f6789e9a893472922a9dcd03f4f + depends: + - libarrow-acero 23.0.1.* + - libarrow-dataset 23.0.1.* + - libarrow-substrait 23.0.1.* + - libparquet 23.0.1.* + - pyarrow-core 23.0.1 *_0_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 28639 + timestamp: 1771307345680 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.1-py312h1f38498_0.conda + sha256: 3cc847d7fc9d16efb145dd2593c3bcc78a4423a77be1748214e7b1c02a85bcb7 + md5: 9a2007e9af67ae4fc94ec64d29672382 + depends: + - libarrow-acero 23.0.1.* + - libarrow-dataset 23.0.1.* + - libarrow-substrait 23.0.1.* + - libparquet 23.0.1.* + - pyarrow-core 23.0.1 *_0_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 28670 + timestamp: 1771307852216 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.1-py312h2e8e312_0.conda + sha256: a38a2c1478e0f2e557449dfe04e431609378b9cb1caeb509dbdc36ca7239ca46 + md5: 35a0bf970ae94226283f081608aa300b + depends: + - libarrow-acero 23.0.1.* + - libarrow-dataset 23.0.1.* + - libarrow-substrait 23.0.1.* + - libparquet 23.0.1.* + - pyarrow-core 23.0.1 *_0_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 28986 + timestamp: 1771307398563 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.1-py312h2054cf2_0_cpu.conda + sha256: e023133b8d24bada11fcf57b80aca98cf253a09ce996393949c006d236ac87b7 + md5: 9ad4bfc6f8ca7cdf4acf857fa0c9a91f + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.1.* *cpu + - libarrow-compute 23.0.1.* *cpu + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + size: 4776752 + timestamp: 1771307276253 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.1-py312h21b41d0_0_cpu.conda + sha256: 285b146dbb09da5cd71cb8a460f833572f5e527ba44c5541b4739254aaf447d1 + md5: 2c0f60cf75d24b80367308e5454b472a + depends: + - __osx >=11.0 + - libarrow 23.0.1.* *cpu + - libarrow-compute 23.0.1.* *cpu + - libcxx >=21 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + size: 3915948 + timestamp: 1771307781330 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.1-py312h12c7521_0_cpu.conda + sha256: 617bfc043a1994a6b1ad17aa67411c6bd92fc1bc474c5f3c6e6dd8c32f84be24 + md5: 57a03f6ba3866b0fa13bee3d0ae7aed8 + depends: + - libarrow 23.0.1.* *cpu + - libarrow-compute 23.0.1.* *cpu + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - numpy >=1.23,<3 + - libprotobuf >=6.33.5 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + size: 3573854 + timestamp: 1771307365258 - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-4-hd8ed1ab_3.tar.bz2 sha256: d4fb485b79b11042a16dc6abfb0c44c4f557707c2653ac47c81e5d32b24a3bb0 md5: 878f923dd6acc8aeb47a75da6c4098be @@ -6347,6 +8421,33 @@ packages: - pkg:pypi/pyzmq?source=hash-mapping size: 364291 timestamp: 1749899188003 +- conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_1.conda + sha256: 3fc684b81631348540e9a42f6768b871dfeab532d3f47d5c341f1f83e2a2b2b2 + md5: 66a715bc01c77d43aca1f9fcb13dde3c + depends: + - libre2-11 2025.11.05 h0dc7533_1 + license: BSD-3-Clause + license_family: BSD + size: 27469 + timestamp: 1768190052132 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-ha480c28_1.conda + sha256: 5bab972e8f2bff1b5b3574ffec8ecb89f7937578bd107584ed3fde507ff132f9 + md5: a1ff22f664b0affa3de712749ccfbf04 + depends: + - libre2-11 2025.11.05 h4c27e2a_1 + license: BSD-3-Clause + license_family: BSD + size: 27445 + timestamp: 1768190259003 +- conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda + sha256: 345b1ed8288d81510101f886aaf547e3294370e5dab340c4c3fcb0b25e5d99e0 + md5: 6807f05dcf3f1736ad6cc9525b8b8725 + depends: + - libre2-11 2025.11.05 h04e5de1_1 + license: BSD-3-Clause + license_family: BSD + size: 220305 + timestamp: 1768190225351 - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c md5: 283b96675859b20a825f8fa30f311446 @@ -6471,17 +8572,6 @@ packages: - pkg:pypi/requests?source=hash-mapping size: 59407 timestamp: 1749498221996 -- conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda - sha256: f010d25e0ab452c0339a42807c84316bf30c5b8602b9d74d566abf1956d23269 - md5: b965b0dfdb3c89966a6a25060f73aa67 - depends: - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/reretry?source=hash-mapping - size: 12563 - timestamp: 1735477549872 - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.26.0-py312h680f630_0.conda sha256: bb051358e7550fd8ef9129def61907ad03853604f5e641108b1dbe2ce93247cc md5: 5b251d4dd547d8b5970152bae2cc1600 @@ -6667,6 +8757,17 @@ packages: - pkg:pypi/ruff?source=hash-mapping size: 9700006 timestamp: 1752279245806 +- conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.1-h1cbb8d7_1.conda + sha256: dbbe4ab36b90427f12d69fc14a8b601b6bca4185c6c4dd67b8046a8da9daec03 + md5: 9d978822b57bafe72ebd3f8b527bba71 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - openssl >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 395083 + timestamp: 1773251675551 - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda sha256: 972560fcf9657058e3e1f97186cc94389144b46dbdf58c807ce62e83f977e863 md5: 4de79c071274a53dcaf2a8c749d1499e @@ -6801,35 +8902,41 @@ packages: - pkg:pypi/snakemake-interface-logger-plugins?source=hash-mapping size: 12539 timestamp: 1742472457005 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.1.1-pyhdfd78af_0.tar.bz2 - sha256: 74d683e40e84f534db394900cd7962b70c84e0ad120cc797bdb90a704ece444e - md5: 136bcee2bee666a611ad5813a742cdba +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.3.0-pyhd4c3c12_0.conda + sha256: 7b7be41b59f2d904acb014ee182561610c930bef5f607742011ee23befe73831 + md5: e6fd8cfb23b294da699e395dbc968d11 depends: - python >=3.11.0,<4.0.0 - snakemake-interface-common >=1.16.0,<2.0.0 license: MIT - purls: - - pkg:pypi/snakemake-interface-report-plugins?source=hash-mapping - size: 13249 - timestamp: 1752225894860 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.2.1-pyhdfd78af_0.tar.bz2 - sha256: 759127ee57236f6cfff795c497d56fd758a0aaae9cf54b6e6a100bb600816695 - md5: de5d573c67176a5b1756987f9a8a595e + size: 14490 + timestamp: 1761910544502 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-scheduler-plugins-2.0.2-pyhd4c3c12_0.conda + sha256: d5234883768d5876707df6897151a100581293336a599195ead32894bea4fa2f + md5: 1500fccf5e46c7f91d14925449ff3632 + depends: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.20.1,<2.0.0 + license: MIT + size: 16446 + timestamp: 1760984180933 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda + sha256: 695a2c5c2bc417df0e440943f7637953f9e8c6e887c59432947d7e14ae1ffdac + md5: 8e6d2ea30aec2f8eabd03cac524f1f33 depends: + - humanfriendly >=10.0,<11 - python >=3.11.0,<4.0.0 - - reretry >=0.11.8,<0.12.0 - snakemake-interface-common >=1.12.0,<2.0.0 + - tenacity >=9.1.4,<10.0 - throttler >=1.2.2,<2.0.0 - wrapt >=1.15.0,<2.0.0 license: MIT license_family: MIT - purls: - - pkg:pypi/snakemake-interface-storage-plugins?source=hash-mapping - size: 19926 - timestamp: 1742480267140 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.8.0-pyhdfd78af_0.tar.bz2 - sha256: a64f6810a1ffba386835ba53d49c78ae557839a604b00159e4cf6274d8cea6fc - md5: 588f915c84e7b3ed7bc7534254099493 + size: 22783 + timestamp: 1773699846635 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.19.0-pyhdfd78af_0.conda + sha256: 043b09633a430437d10d32949eebb104c12fc28ec6057de4253b5f45736c9a84 + md5: ff434de1e63f54864df031454a35b1ae depends: - appdirs - conda-inject >=1.3.1,<2.0 @@ -6843,29 +8950,120 @@ packages: - jinja2 >=3.0,<4.0 - jsonschema - nbformat - - packaging >=24.0,<26.0 + - packaging >=24.0 - psutil - - pulp >=2.3.1,<3.1 - - python >=3.11,<3.13 + - pulp >=2.3.1,<3.4 + - python >=3.11,<3.14 - pyyaml - requests >=2.8.1,<3.0 - - reretry - smart_open >=4.0,<8.0 - snakemake-interface-common >=1.20.1,<2.0 - snakemake-interface-executor-plugins >=9.3.2,<10.0 - - snakemake-interface-logger-plugins >=1.1.0,<2.0.0 - - snakemake-interface-report-plugins >=1.1.0,<2.0.0 - - snakemake-interface-storage-plugins >=4.1.0,<5.0 + - snakemake-interface-logger-plugins >=1.1.0,<3.0.0 + - snakemake-interface-report-plugins >=1.2.0,<2.0.0 + - snakemake-interface-scheduler-plugins >=2.0.0,<3.0.0 + - snakemake-interface-storage-plugins >=4.3.2,<5.0 + - sqlmodel >=0.0.37,<0.0.38 - tabulate + - tenacity >=9.1.4,<10.0 - throttler - wrapt - yte >=1.5.5,<2.0 license: MIT license_family: MIT - purls: - - pkg:pypi/snakemake?source=hash-mapping - size: 877774 - timestamp: 1752146131114 + size: 883944 + timestamp: 1774700572519 +- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 + md5: 98b6c9dc80eb87b2519b97bcf7e578dd + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + size: 45829 + timestamp: 1762948049098 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda + sha256: cb9305ede19584115f43baecdf09a3866bfcd5bcca0d9e527bd76d9a1dbe2d8d + md5: fca4a2222994acd7f691e57f94b750c5 + depends: + - libcxx >=19 + - __osx >=11.0 + license: BSD-3-Clause + license_family: BSD + size: 38883 + timestamp: 1762948066818 +- conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda + sha256: d2deda1350abf8c05978b73cf7fe9147dd5c7f2f9b312692d1b98e52efad53c3 + md5: 3075846de68f942150069d4289aaad63 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: BSD-3-Clause + license_family: BSD + size: 67417 + timestamp: 1762948090450 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py312h5253ce2_0.conda + sha256: ab3445a03e1fe99093cac00a4f923c25e1f438cc7f7b64d254b7e4f06e52693e + md5: 0662f9f9ffb7ae91f2c095c77f18b9a5 + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 3707065 + timestamp: 1775241332871 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.49-py312hb3ab3e3_0.conda + sha256: a430d00ddc75f25f112951fb4b6e6eefe5880bd9c3d3b110e8069743b6d288b0 + md5: 93ab49fc903f4ea6ea94817ee4058ff7 + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __osx >=11.0 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 3697021 + timestamp: 1775241400922 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py312he5662c2_0.conda + sha256: ee7289c97b4892fac2752d71fc773603210bf3b671c886499c7dbacad9b4c08a + md5: d42e4d5316b68fc70bdf09e5fccf3eb0 + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 3665426 + timestamp: 1775241406935 +- conda: https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda + sha256: 9cbf4805021fd817fde2654ccc1a1bd0352647614819a28381e81098efe4da20 + md5: 00e6147bef9a85139099c9861c3b976b + depends: + - python >=3.10 + - sqlalchemy >=2.0.14,<2.1.0 + - pydantic >=2.11.0 + - python + license: MIT + license_family: MIT + size: 30854 + timestamp: 1771872849343 - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 md5: b1b505328da7a6b246787df4b5a49fbc @@ -6904,6 +9102,16 @@ packages: purls: [] size: 151460 timestamp: 1732982860332 +- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + sha256: 32e75900d6a094ffe4290a8c9f1fa15744d9da8ff617aba4acaa0f057a065c34 + md5: 043f0599dc8aa023369deacdb5ac24eb + depends: + - python >=3.10 + - python + license: Apache-2.0 + license_family: APACHE + size: 31404 + timestamp: 1770510172846 - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda sha256: cdd2067b03db7ed7a958de74edc1a4f8c4ae6d0aa1a61b5b70b89de5013f0f78 md5: 6fc48bef3b400c82abaee323a9d4e290 @@ -7697,6 +9905,26 @@ packages: - pkg:pypi/zipp?source=hash-mapping size: 22963 timestamp: 1749421737203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_2.conda + sha256: 245c9ee8d688e23661b95e3c6dd7272ca936fabc03d423cdb3cdee1bbcf9f2f2 + md5: c2a01a08fc991620a74b32420e97868a + depends: + - __glibc >=2.17,<3.0.a0 + - libzlib 1.3.2 h25fd6f3_2 + license: Zlib + license_family: Other + size: 95931 + timestamp: 1774072620848 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_2.conda + sha256: 8dd2ac25f0ba714263aac5832d46985648f4bfb9b305b5021d702079badc08d2 + md5: f1c0bce276210bed45a04949cfe8dc20 + depends: + - __osx >=11.0 + - libzlib 1.3.2 h8088a28_2 + license: Zlib + license_family: Other + size: 81123 + timestamp: 1774072974535 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda sha256: ff62d2e1ed98a3ec18de7e5cf26c0634fd338cb87304cf03ad8cbafe6fe674ba md5: 630db208bc7bbb96725ce9832c7423bb diff --git a/pixi.toml b/pixi.toml index 7646a81..9734530 100644 --- a/pixi.toml +++ b/pixi.toml @@ -21,6 +21,7 @@ ruff = ">=0.9.9" snakefmt = ">=0.10.2" snakemake-minimal = ">=8.29.0" pytz = ">=2026.1.post1" +pyarrow = ">=23.0.1,<24" [tasks] test-integration = {cmd = "pytest tests/integration_test.py"} diff --git a/workflow/Snakefile b/workflow/Snakefile index 2ea73b0..90cc69a 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -2,7 +2,21 @@ import yaml from snakemake.utils import min_version, validate -min_version("8.10") +min_version("9.19") + + +# !!!!! IMPORTANT !!!!! +# Define pathvars for all user resource files and result files +# This allows users to re-wire how the module is used in their workflow with ease. +pathvars: + # User resources + shapes="/user/{shapes}/shapes.parquet", + proxy_rooftop_pv="/user/{shapes}/proxies/rooftop_pv.tif", + imputed_powerplants="/user/{shapes}/impute/{category}.parquet", + # Module results + aggregated_capacity="/{shape}/aggregated/{adjustment}/{category}.parquet", + disaggregated_capacity="/{shape}/disaggregated/{adjustment}/{category}.parquet", + statistics="/{shape}/statistics/category_capacity.parquet", # Load the example configuration. This will be overridden by users. @@ -43,7 +57,7 @@ rule all: output: "INVALID", log: - stderr="logs/all.stderr", + stderr="/all.stderr", conda: "envs/shell.yaml" shell: diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index a4bded5..5b677f0 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -25,7 +25,7 @@ def additional_config_validation(): def get_excluded_powerplant_ids(category): - """Handle cases where the naming in /results/.../disaggregated and configuration files mismatch. + """Handle cases where the naming in //.../disaggregated and configuration files mismatch. These are categories that include technologies poorly tracked at individual level. Proxying processes are necessary, and /disaggregated/ uses a different name to deter @@ -59,18 +59,18 @@ def get_files_to_combine(shapes, category): to_combine = [] if category == "large_solar": to_combine += [ - f"resources/automatic/shapes/{shapes}/imputed/solar_utility_pv.parquet", - f"resources/automatic/shapes/{shapes}/imputed/solar_csp.parquet", + f"/automatic/shapes/{shapes}/imputed/solar_utility_pv.parquet", + f"/automatic/shapes/{shapes}/imputed/solar_csp.parquet", ] elif category == "fossil": to_combine += [ - f"resources/automatic/shapes/{shapes}/imputed/fossil_coal.parquet", - f"resources/automatic/shapes/{shapes}/imputed/fossil_oil_gas.parquet", + f"/automatic/shapes/{shapes}/imputed/fossil_coal.parquet", + f"/automatic/shapes/{shapes}/imputed/fossil_oil_gas.parquet", ] else: - to_combine.append(f"resources/automatic/shapes/{shapes}/imputed/{category}.parquet") + to_combine.append(f"/automatic/shapes/{shapes}/imputed/{category}.parquet") - user_path = f"resources/user/{shapes}/impute/{category}.parquet" + user_path = f"/user/{shapes}/impute/{category}.parquet" if exists(user_path): to_combine.append(user_path) return to_combine diff --git a/workflow/rules/aggregate.smk b/workflow/rules/aggregate.smk index a9fa15a..4396ed5 100644 --- a/workflow/rules/aggregate.smk +++ b/workflow/rules/aggregate.smk @@ -9,12 +9,12 @@ rule aggregate_capacity: params: year=config["imputation"]["adjustment_year"], input: - powerplants="results/{shapes}/disaggregated/{adjustment}/{category}.parquet", - shapes="resources/user/{shapes}/shapes.parquet", + powerplants="/{shapes}/disaggregated/{adjustment}/{category}.parquet", + shapes="", output: - aggregated="results/{shapes}/aggregated/{adjustment}/{category}.parquet", + aggregated="/{shapes}/aggregated/{adjustment}/{category}.parquet", plot=report( - "results/{shapes}/aggregated/{adjustment}/{category}.pdf", + "/{shapes}/aggregated/{adjustment}/{category}.pdf", caption="../report/aggregate_capacity.rst", category="Powerplants module", subcategory="{category}", @@ -23,7 +23,7 @@ rule aggregate_capacity: adjustment="|".join(ADJUSTMENTS), category="|".join(IMPUTED_CAT), log: - "logs/aggregate_capacity_{shapes}_{adjustment}_{category}.log", + "/aggregate_capacity_{shapes}_{adjustment}_{category}.log", conda: "../envs/powerplants.yaml" script: diff --git a/workflow/rules/automatic.smk b/workflow/rules/automatic.smk index 07f24e4..1f57a5b 100644 --- a/workflow/rules/automatic.smk +++ b/workflow/rules/automatic.smk @@ -7,9 +7,9 @@ rule download_eia: params: url=internal["resources"]["automatic"]["EIA"], output: - path="resources/automatic/downloads/EIA-INTL.txt", + path="/automatic/downloads/EIA-INTL.txt", log: - "logs/download_eia.log", + "/download_eia.log", conda: "../envs/shell.yaml" shell: @@ -24,9 +24,9 @@ rule download_tz_sam: params: url=internal["resources"]["automatic"]["TZ-SAM"], output: - path="resources/automatic/downloads/TZ-SAM.gpkg", + path="/automatic/downloads/TZ-SAM.gpkg", log: - "logs/download_tz_sam.log", + "/download_tz_sam.log", conda: "../envs/shell.yaml" shell: @@ -41,9 +41,9 @@ rule download_glohydrores: params: url=internal["resources"]["automatic"]["GloHydroRes"], output: - path="resources/automatic/downloads/GloHydroRes.csv", + path="/automatic/downloads/GloHydroRes.csv", log: - "logs/download_glohydrores.log", + "/download_glohydrores.log", conda: "../envs/shell.yaml" shell: @@ -58,9 +58,9 @@ rule download_gem: params: url=lambda wc: internal["resources"]["automatic"]["GEM"][wc.dataset], output: - path="resources/automatic/downloads/GEM_{dataset}.xlsx", + path="/automatic/downloads/GEM_{dataset}.xlsx", log: - "logs/download_gem_{dataset}.log", + "/download_gem_{dataset}.log", conda: "../envs/shell.yaml" shell: diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 3315037..0eee124 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -21,15 +21,15 @@ rule impute_years: projected_crs=config["projected_crs"], tech_map=lambda wc: get_technology_mapping(wc.dataset), input: - prepared="resources/automatic/prepared/{dataset}.parquet", + prepared="/automatic/prepared/{dataset}.parquet", dissolved_shapes=rules.prepare_shapes.output.dissolved, output: - imputed="resources/automatic/shapes/{shapes}/imputed/{dataset}.parquet", - plot="resources/automatic/shapes/{shapes}/imputed/{dataset}.pdf", + imputed="/automatic/shapes/{shapes}/imputed/{dataset}.parquet", + plot="/automatic/shapes/{shapes}/imputed/{dataset}.pdf", wildcard_constraints: dataset="|".join(PREPARED_PLANT_CAT), log: - "logs/impute_years_{shapes}_{dataset}.log", + "/impute_years_{shapes}_{dataset}.log", conda: "../envs/powerplants.yaml" script: @@ -45,15 +45,15 @@ rule impute_category_combination: input: to_combine=lambda wc: get_files_to_combine(wc.shapes, wc.category), output: - combined="results/{shapes}/disaggregated/unadjusted/{category}.parquet", + combined="/{shapes}/disaggregated/unadjusted/{category}.parquet", plot=report( - "results/{shapes}/disaggregated/unadjusted/{category}.pdf", + "/{shapes}/disaggregated/unadjusted/{category}.pdf", caption="../report/impute_category_combination_histogram.rst", category="Powerplants module", subcategory="{category}", ), explore=report( - "results/{shapes}/disaggregated/unadjusted/{category}.html", + "/{shapes}/disaggregated/unadjusted/{category}.html", caption="../report/impute_category_combination_map.rst", category="Powerplants module", subcategory="{category}", @@ -61,7 +61,7 @@ rule impute_category_combination: wildcard_constraints: category="|".join(IMPUTED_CAT), log: - "logs/impute_category_combination_{shapes}_{category}.log", + "/impute_category_combination_{shapes}_{category}.log", conda: "../envs/powerplants.yaml" script: @@ -74,12 +74,12 @@ rule impute_capacity_adjustment: params: year=config["imputation"]["adjustment_year"], input: - unadjusted="results/{shapes}/disaggregated/unadjusted/{category}.parquet", - stats="results/{shapes}/statistics/category_capacity.parquet", + unadjusted="/{shapes}/disaggregated/unadjusted/{category}.parquet", + stats="/{shapes}/statistics/category_capacity.parquet", output: - adjusted="results/{shapes}/disaggregated/adjusted/{category}.parquet", + adjusted="/{shapes}/disaggregated/adjusted/{category}.parquet", plot=report( - "results/{shapes}/disaggregated/adjusted/{category}.pdf", + "/{shapes}/disaggregated/adjusted/{category}.pdf", caption="../report/impute_capacity_adjustment.rst", category="Powerplants module", subcategory="{category}", @@ -87,7 +87,7 @@ rule impute_capacity_adjustment: wildcard_constraints: category="|".join(IMPUTED_CAT - IMPUTED_CAT_WITHOUT_ADJUSTMENT), log: - "logs/impute_capacity_adjustment_{shapes}_{category}.log", + "/impute_capacity_adjustment_{shapes}_{category}.log", conda: "../envs/powerplants.yaml" script: diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index c94a552..468b04e 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -20,17 +20,17 @@ rule prepare_shapes: params: crs=config["projected_crs"], input: - shapes="resources/user/{shapes}/shapes.parquet", + shapes="", output: - dissolved="resources/automatic/shapes/{shapes}/dissolved.parquet", + dissolved="/automatic/shapes/{shapes}/dissolved.parquet", dissolved_plt=report( - "resources/automatic/shapes/{shapes}/dissolved.png", + "/automatic/shapes/{shapes}/dissolved.png", caption="../report/prepare_shapes.rst", category="Powerplants module", subcategory="preparation" ) log: - "logs/{shapes}/prepare_shapes.log" + "/{shapes}/prepare_shapes.log" conda: "../envs/powerplants.yaml" script: @@ -43,11 +43,11 @@ rule prepare_hydropower: params: technology_mapping=config["category"]["hydropower"]["technology_mapping"], input: - glohydrores_path="resources/automatic/downloads/GloHydroRes.csv", + glohydrores_path="/automatic/downloads/GloHydroRes.csv", output: - output_path="resources/automatic/prepared/hydropower.parquet", + output_path="/automatic/prepared/hydropower.parquet", log: - "logs/prepare_hydropower.log", + "/prepare_hydropower.log", conda: "../envs/powerplants.yaml" script: @@ -62,12 +62,12 @@ rule prepare_solar_utility_pv: tech_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], input: script=workflow.source_path("../scripts/prepare_solar_utility_pv.py"), - tz_sam="resources/automatic/downloads/TZ-SAM.gpkg", - gem_gspt="resources/automatic/downloads/GEM_GSPT.xlsx", + tz_sam="/automatic/downloads/TZ-SAM.gpkg", + gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: - path="resources/automatic/prepared/solar_utility_pv.parquet", + path="/automatic/prepared/solar_utility_pv.parquet", log: - "logs/prepare_solar_utility_pv.log", + "/prepare_solar_utility_pv.log", conda: "../envs/powerplants.yaml" shell: @@ -85,11 +85,11 @@ rule prepare_solar_csp: tech_name=config["category"]["solar"]["technology_mapping"]["csp"], input: script=workflow.source_path("../scripts/prepare_solar_csp.py"), - gem_gspt="resources/automatic/downloads/GEM_GSPT.xlsx", + gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: - path="resources/automatic/prepared/solar_csp.parquet", + path="/automatic/prepared/solar_csp.parquet", log: - "logs/prepare_solar_csp.log", + "/prepare_solar_csp.log", conda: "../envs/powerplants.yaml" shell: @@ -108,11 +108,11 @@ if config["category"]["wind"]["source"] == "gem": tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_gwpt.py"), - gem_gwpt="resources/automatic/downloads/GEM_GWPT.xlsx", + gem_gwpt="/automatic/downloads/GEM_GWPT.xlsx", output: - path="resources/automatic/prepared/wind.parquet", + path="/automatic/prepared/wind.parquet", log: - "logs/prepare_wind_gem.log", + "/prepare_wind_gem.log", conda: "../envs/powerplants.yaml" shell: @@ -130,11 +130,11 @@ elif config["category"]["wind"]["source"] == "wemi": tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_wemi.py"), - wemi="resources/user/WEMI.xls", + wemi="/user/WEMI.xls", output: - path="resources/automatic/prepared/wind.parquet", + path="/automatic/prepared/wind.parquet", log: - "logs/prepare_wind_wemi.log", + "/prepare_wind_wemi.log", conda: "../envs/powerplants.yaml" shell: @@ -156,12 +156,12 @@ rule prepare_fossil_coal: technology_mapping=config["category"]["fossil"]["technology_mapping"]["coal"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gcpt="resources/automatic/downloads/GEM_GCPT.xlsx", + gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", output: - plants=temp("resources/automatic/temp/plants_fossil_coal.parquet"), - fuels=temp("resources/automatic/temp/fuels_fossil_coal.parquet"), + plants=temp("/automatic/temp/plants_fossil_coal.parquet"), + fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), log: - "logs/prepare_fossil_coal.log", + "/prepare_fossil_coal.log", conda: "../envs/powerplants.yaml" script: @@ -175,12 +175,12 @@ rule prepare_bioenergy: technology_mapping=config["category"]["bioenergy"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gbpt="resources/automatic/downloads/GEM_GBPT.xlsx", + gem_gbpt="/automatic/downloads/GEM_GBPT.xlsx", output: - plants=temp("resources/automatic/temp/plants_bioenergy.parquet"), - fuels=temp("resources/automatic/temp/fuels_bioenergy.parquet"), + plants=temp("/automatic/temp/plants_bioenergy.parquet"), + fuels=temp("/automatic/temp/fuels_bioenergy.parquet"), log: - "logs/prepare_bioenergy.log", + "/prepare_bioenergy.log", conda: "../envs/powerplants.yaml" script: @@ -194,12 +194,12 @@ rule prepare_fossil_oil_gas: technology_mapping=config["category"]["fossil"]["technology_mapping"]["oil_gas"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gogpt="resources/automatic/downloads/GEM_GOGPT.xlsx", + gem_gogpt="/automatic/downloads/GEM_GOGPT.xlsx", output: - plants=temp("resources/automatic/temp/plants_fossil_oil_gas.parquet"), - fuels=temp("resources/automatic/temp/fuels_fossil_oil_gas.parquet"), + plants=temp("/automatic/temp/plants_fossil_oil_gas.parquet"), + fuels=temp("/automatic/temp/fuels_fossil_oil_gas.parquet"), log: - "logs/prepare_fossil_oil_gas.log", + "/prepare_fossil_oil_gas.log", conda: "../envs/powerplants.yaml" script: @@ -212,11 +212,11 @@ rule prepare_nuclear: params: technology_mapping=config["category"]["nuclear"]["technology_mapping"], input: - gem_gnpt="resources/automatic/downloads/GEM_GNPT.xlsx", + gem_gnpt="/automatic/downloads/GEM_GNPT.xlsx", output: - plants="resources/automatic/prepared/nuclear.parquet", + plants="/automatic/prepared/nuclear.parquet", log: - "logs/prepare_nuclear.log", + "/prepare_nuclear.log", conda: "../envs/powerplants.yaml" script: @@ -229,11 +229,11 @@ rule prepare_geothermal: params: technology_mapping=config["category"]["geothermal"]["technology_mapping"], input: - gem_ggpt="resources/automatic/downloads/GEM_GGPT.xlsx", + gem_ggpt="/automatic/downloads/GEM_GGPT.xlsx", output: - plants="resources/automatic/prepared/geothermal.parquet", + plants="/automatic/prepared/geothermal.parquet", log: - "logs/prepare_geothermal.log", + "/prepare_geothermal.log", conda: "../envs/powerplants.yaml" script: @@ -244,14 +244,14 @@ rule prepare_statistics: message: "Get EIA annual country capacity statistics." input: - shapes="resources/user/{shapes}/shapes.parquet", - eia_bulk="resources/automatic/downloads/EIA-INTL.txt", + shapes="", + eia_bulk="/automatic/downloads/EIA-INTL.txt", output: - total="results/{shapes}/statistics/total_capacity.parquet", - categories="results/{shapes}/statistics/category_capacity.parquet", - plot="results/{shapes}/statistics/category_capacity.pdf", + total="/{shapes}/statistics/total_capacity.parquet", + categories="/{shapes}/statistics/category_capacity.parquet", + plot="/{shapes}/statistics/category_capacity.pdf", log: - "logs/prepare_statistics_{shapes}.log", + "/prepare_statistics_{shapes}.log", conda: "../envs/powerplants.yaml" script: @@ -264,12 +264,12 @@ rule prepare_fuels: input: script=workflow.source_path("../scripts/prepare_fuels.py"), fuel_classes=expand( - "resources/automatic/temp/fuels_{cat}.parquet", cat=PREPARED_FUEL_CAT + "/automatic/temp/fuels_{cat}.parquet", cat=PREPARED_FUEL_CAT ), output: - "results/fuel_classes.parquet", + "/fuel_classes.parquet", log: - "logs/prepare_fuels.log", + "/prepare_fuels.log", conda: "../envs/powerplants.yaml" shell: @@ -283,13 +283,13 @@ rule prepare_remapped_fuel_categories: "Remap fuel classes of combustion plants to harmonised ones." input: script=workflow.source_path("../scripts/prepare_fuels.py"), - plants="resources/automatic/temp/plants_{category}.parquet", - old="resources/automatic/temp/fuels_{category}.parquet", - new="results/fuel_classes.parquet", + plants="/automatic/temp/plants_{category}.parquet", + old="/automatic/temp/fuels_{category}.parquet", + new="/fuel_classes.parquet", output: - "resources/automatic/prepared/{category}.parquet", + "/automatic/prepared/{category}.parquet", log: - "logs/prepare_remapped_fuel_categories_{category}.log", + "/prepare_remapped_fuel_categories_{category}.log", wildcard_constraints: category="|".join(PREPARED_FUEL_CAT), conda: diff --git a/workflow/rules/solar.smk b/workflow/rules/solar.smk index 2979189..b5eb415 100644 --- a/workflow/rules/solar.smk +++ b/workflow/rules/solar.smk @@ -20,20 +20,20 @@ rule proxy_rooftop_pv: category="solar", year=config["imputation"]["adjustment_year"], input: - shapes="resources/user/{shapes}/shapes.parquet", - proxy="resources/user/{shapes}/proxies/rooftop_pv.tif", - agg_unadj="results/{shapes}/aggregated/unadjusted/large_solar.parquet", - stats="results/{shapes}/statistics/category_capacity.parquet", + shapes="", + proxy="", + agg_unadj="/{shapes}/aggregated/unadjusted/large_solar.parquet", + stats="/{shapes}/statistics/category_capacity.parquet", output: - proxy="results/{shapes}/proxies/rooftop_pv.tif", + proxy="/{shapes}/proxies/rooftop_pv.tif", plot=report( - "results/{shapes}/proxies/rooftop_pv.pdf", + "/{shapes}/proxies/rooftop_pv.pdf", caption="../report/proxy_rooftop_pv.rst", category="Powerplants module", subcategory="solar", ), log: - "logs/proxy_rooftop_pv_{shapes}.log", + "/proxy_rooftop_pv_{shapes}.log", conda: "../envs/powerplants.yaml" script: @@ -46,13 +46,13 @@ rule aggregate_solar_capacity: params: technology=config["category"]["solar"]["technology_mapping"]["rooftop_pv"], input: - large_solar="results/{shapes}/aggregated/unadjusted/large_solar.parquet", - proxy="results/{shapes}/proxies/rooftop_pv.tif", - shapes="resources/user/{shapes}/shapes.parquet", + large_solar="/{shapes}/aggregated/unadjusted/large_solar.parquet", + proxy="/{shapes}/proxies/rooftop_pv.tif", + shapes="", output: - aggregated="results/{shapes}/aggregated/unadjusted/{category}.parquet", + aggregated="/{shapes}/aggregated/unadjusted/{category}.parquet", plot=report( - "results/{shapes}/aggregated/unadjusted/{category}.pdf", + "/{shapes}/aggregated/unadjusted/{category}.pdf", caption="../report/aggregate_capacity.rst", category="Powerplants module", subcategory="{category}", @@ -60,7 +60,7 @@ rule aggregate_solar_capacity: wildcard_constraints: category="solar", log: - "logs/aggregate_capacity_{shapes}_unadjusted_{category}.log", + "/aggregate_capacity_{shapes}_unadjusted_{category}.log", conda: "../envs/powerplants.yaml" script: @@ -73,25 +73,25 @@ rule impute_capacity_adjustment_solar: params: year=config["imputation"]["adjustment_year"], input: - unadjusted="results/{shapes}/aggregated/unadjusted/solar.parquet", - shapes="resources/user/{shapes}/shapes.parquet", - stats="results/{shapes}/statistics/category_capacity.parquet", + unadjusted="/{shapes}/aggregated/unadjusted/solar.parquet", + shapes="", + stats="/{shapes}/statistics/category_capacity.parquet", output: - adjusted="results/{shapes}/aggregated/adjusted/solar.parquet", + adjusted="/{shapes}/aggregated/adjusted/solar.parquet", adj_plot=report( - "results/{shapes}/aggregated/adjusted/solar_adj.pdf", + "/{shapes}/aggregated/adjusted/solar_adj.pdf", caption="../report/impute_capacity_adjustment.rst", category="Powerplants module", subcategory="solar", ), map_plot=report( - "results/{shapes}/aggregated/adjusted/solar_map.pdf", + "/{shapes}/aggregated/adjusted/solar_map.pdf", caption="../report/aggregate_capacity.rst", category="Powerplants module", subcategory="solar", ), log: - "logs/impute_capacity_adjusted_solar_{shapes}.log", + "/impute_capacity_adjusted_solar_{shapes}.log", conda: "../envs/powerplants.yaml" script: From 31373782525591e8951c69a9a746fc7989eb0b19 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 15:41:22 +0200 Subject: [PATCH 06/19] cleanup CSP preparation --- pixi.lock | 7970 ++++++++++++++++++++++++- pixi.toml | 28 + workflow/rules/prepare.smk | 11 +- workflow/scripts/prepare_solar_csp.py | 26 +- 4 files changed, 7936 insertions(+), 99 deletions(-) diff --git a/pixi.lock b/pixi.lock index a311691..37f887f 100644 --- a/pixi.lock +++ b/pixi.lock @@ -889,6 +889,819 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h4389bb4_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-hbeecb71_2.conda + powerplants: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.anaconda.org/nodefaults/ + indexes: + - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit + 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/alsa-lib-1.2.15.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.6-hb9c0fe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.13-h2c9d079_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.2-h8b1a151_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.9-h841be55_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.10-hf621c6d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.26.1-hc87160b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.14.0-ha25ca29_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.5-h9b5df67_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h8b1a151_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h8b1a151_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.37.2-hb153662_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-hc9b1074_13.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.2-h206d751_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.13.3-hed0cdb0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hdd73cc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.12.0-ha7a2c86_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h52c5a47_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.3.0-py312h90b7ffd_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/noarch/bokeh-3.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_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/cmap-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.7.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.7.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-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 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.62.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freexl-2.0.0-h9dce30a_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.0.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.0.1-pyha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.0-h480dda7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipdb-0.13.13-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/json-c-0.18-h6688a6e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py312h0a2e395_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.6-gpl_hc2c16d8_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-19.0.1-h3c191e6_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-19.0.1-h635bf11_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-19.0.1-h635bf11_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-19.0.1-hb4dd7c2_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.8-default_h99862b1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.0-default_h746c552_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-hb8b1518_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.18.0-h4e3cde8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.11.4-hed660dc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.2-h32235b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-h9d11ab5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.78.1-h1d1128b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1022.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.8-hf7376ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.2-hf7376ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-h9692893_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-19.0.1-h7376487_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.56-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.1-h5c52fec_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h0dc7533_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h96cd706_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-h2eee824_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h454ac66_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h8261f1e_0.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-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.1-h26afc86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - 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-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.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.10.3-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.3-py312hd3ec401_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.0.10-h05a5f5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.20.0-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.18.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.5-py312h33ff503_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-hbb90d81_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.0-py312hf9745cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.24.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-geopandas-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-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/pathspec-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.1.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.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/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-19.0.1-py312h7900ff3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-19.0.1-py312hc195796_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.12.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.41.5-py312h868fb18_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.11.1-py312h6e8b602_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.1-py312h03c6e1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.10.1-py312h9da60e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.9-h9e4cc4f_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-librt-0.8.1-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.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.10.1-hca0d9c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.7.1-h1cbb8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py312h3226591_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h950be2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.52.0-hbc0de68_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/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.2.5-h988505b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.1-pyhd8ed1ab_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.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 + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.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-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dc/78/be204fb409b59876ef4658710a022794f16f779a3e9e7df654acc38b2104/fiona-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: git+https://github.com/jnnr/gregor.git?rev=fix-memory-explosion#383e3f03d028ade6695560d9fe1d211d735d3789 + - pypi: https://files.pythonhosted.org/packages/67/72/331727423b28fffdfd8bf18bdc55c18d374c0fefd2dde390cd833f8f4477/rasterio-1.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/5e/0b/bd73621d2a5f87da97158c5c77a4bf31e27d60cf6bcc6ddea532043cc21d/rasterstats-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3f/dd/0b2c68495331ba36af783139baaa94693ef310d484d458c11dfa1357287d/rioxarray-0.22.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/20/05/ed9b2571bbf38f1a2425391f18e3ac11cb1e91482c22d644a1640dea9da7/simplejson-3.20.2-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/99/92/545eb2ca17fc0e05456728d7e4378bfee48d66433ae3b7e71948e46826fb/xarray-2026.2.0-py3-none-any.whl + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.6-ha02d361_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.13-h6ee9776_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.6-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.2-h3e7f9b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.9-hd533cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.10-ha1850f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.26.1-h4137820_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.14.0-h5721393_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.5-h7d214dc_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.10-h3e7f9b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.37.2-hcfbc53e_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h71a6bcd_13.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.13.3-h810541e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-hc57151b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.12.0-he467506_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hf8a9d22_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.3.0-py312h44dc372_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.2.0-h7d5ae5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py312h0dfefe5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_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/cmap-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py312h2bbb03f_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.7.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.7.0-pyhe01879c_0.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/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.62.0-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.0.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.0.1-pyha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.0-h4bcf65f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipdb-0.13.13-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py312h3093aea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h385eeb1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.1.0-h1eee2c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.6-gpl_h6fbacd7_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-19.0.1-h96c63c9_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-19.0.1-h0f28eaf_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-19.0.1-h0f28eaf_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-19.0.1-h8746646_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-6_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-6_hb0561ab_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.19.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.24-h5773f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_18.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.11.4-h6521a42_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_18.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_18.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-h2f60c08_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-ha114238_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.78.1-h3e3f78d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.3.0-h48b13b8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.2-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h913acd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hc33e383_1022.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-6_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.32-openmp_he657e61_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-h08d5cc3_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-19.0.1-hdcf9336_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.56-h132b30e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.33.5-h4a5acfd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h4c27e2a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-hf7cb3ef_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-h823fe50_16.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1b79a29_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h14a376c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.1-h7dc4979_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.6.0-h07db88b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxcb-1.17.0-hdb1d25a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.1-h0ff4647_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.1-h9329255_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.1-h9329255_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.2-hc7d1edf_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/osx-arm64/lz4-4.4.5-py312h2b25a0d_1.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/osx-arm64/lzo-2.10-h925e9cb_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py312h04c11ed_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.3-py312h1f38498_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.3-py312hdbc7e53_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.10-hff1a8ea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.2-py312h84eede6_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.20.0-py312hefc2c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.18.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/nlohmann_json-3.12.0-h784d473_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.3.5-py312he281c53_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjpeg-2.5.4-hd9e9057_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py312h2a925e6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-h578b684_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.0-py312hcb1e3ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.24.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-geopandas-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-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/pathspec-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.46-h7125dd6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.1.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.6.2-hdbeaa80_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hb3ab3e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.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/osx-arm64/pyarrow-19.0.1-py312h1f38498_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-19.0.1-py312hae6ed00_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.12.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.41.5-py312h6ef9ec0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.11.1-py312hb22504d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.1-py312h237c406_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.9-hc22306f_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-librt-0.8.1-py312hb3ab3e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h998013c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-ha480c28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py312he5ca3e3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h0f234b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py312h08b294e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.52.0-h85ec8f2_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/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.5-py312h2bbb03f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.1-pyhd8ed1ab_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hc919400_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.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-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-ng-2.3.3-hed4e4f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ba/45/693c1cca53023aaf6e3adc11422080f5fa427484e7b85e48f19c40d6357f/fiona-1.10.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: git+https://github.com/jnnr/gregor.git?rev=fix-memory-explosion#383e3f03d028ade6695560d9fe1d211d735d3789 + - pypi: https://files.pythonhosted.org/packages/de/19/ab4326e419b543da623ce4191f68e3f36a4d9adc64f3df5c78f044d8d9ca/rasterio-1.4.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/5e/0b/bd73621d2a5f87da97158c5c77a4bf31e27d60cf6bcc6ddea532043cc21d/rasterstats-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3f/dd/0b2c68495331ba36af783139baaa94693ef310d484d458c11dfa1357287d/rioxarray-0.22.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ad/f1/efd09efcc1e26629e120fef59be059ce7841cc6e1f949a4db94f1ae8a918/simplejson-3.20.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/99/92/545eb2ca17fc0e05456728d7e4378bfee48d66433ae3b7e71948e46826fb/xarray-2026.2.0-py3-none-any.whl + win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.6-hdf23a24_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-cal-0.9.13-h46f3b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-common-0.12.6-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.2-hcb3a2da_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.9-h972bbec_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.10-hb410799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.26.1-h0d5b9f9_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.14.0-h833cf40_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.5-h3ec5e31_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.2-h5e571c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-ha60a6cd_13.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py312h06d0912_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-hfd34d9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.6-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_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/cmap-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.7.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.7.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.3.1-he0c23c2_0.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/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-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 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.62.0-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.0.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.0.1-pyha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.0-hdade9fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.2.0-h5f2951f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipdb-0.13.13-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py312h78d62e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.18-hf2c6c5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20260107.1-cxx17_h0eb2380_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.6-gpl_he24518a_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-19.0.1-hd086c85_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-19.0.1-h7d8d6a5_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-19.0.1-h7d8d6a5_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-19.0.1-h524e9bd_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.0-default_ha2db4b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h43ecb02_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.24-h76ddb4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.11.4-h64ee9a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.2-hd9c3897_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h01c467a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1022.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-19.0.1-h7051d1f_45_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.56-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h61fc761_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h04e5de1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-h5ff11c1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h9d118f5_16.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h23985f6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h550210a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libutf8proc-2.11.3-hb980946_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h06f855e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-ha29bfb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.1-ha29bfb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_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/win-64/lz4-4.4.5-py312hc3c93f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h2466b09_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-h6a83c73_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.3-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.3-py312h90004f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.0.10-h9fa1bad_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py312hf90b1b7_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.20.0-py312he06e257_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.18.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.5-py312ha72d056_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py312h83acffa_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.0-py312h72972c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.24.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-geopandas-0.24.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-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/pathspec-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.46-h3402e2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py312h31f0997_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.1.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.6.2-h7990399_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-19.0.1-py312h2e8e312_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-19.0.1-py312h85419b5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.12.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.41.5-py312hdabe01f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.11.1-py312h2d4285c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.1-py312h5ea471a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.10.1-py312h0c8bdd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.9-h3f84c4b_1_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-librt-0.8.1-py312he5662c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.2-py312h31fea79_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.10.1-h7502b6c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py312hea30aaf_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py312ha0f8e3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.52.0-hdb435a2_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/win-64/tbb-2022.3.0-h3155e25_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py312he06e257_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py312he06e257_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uriparser-0.9.8-h5a68840_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.2.5-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.1-pyhd8ed1ab_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.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-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/0d/914fd3c4c32043c2c512fa5021e83b2348e1b7a79365d75a0a37cb545362/fiona-1.10.1-cp312-cp312-win_amd64.whl + - pypi: git+https://github.com/jnnr/gregor.git?rev=fix-memory-explosion#383e3f03d028ade6695560d9fe1d211d735d3789 + - pypi: https://files.pythonhosted.org/packages/be/cc/453816b489af94b9a243eda889865973d518989ba6923b2381f6d6722b43/rasterio-1.4.3-cp312-cp312-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/5e/0b/bd73621d2a5f87da97158c5c77a4bf31e27d60cf6bcc6ddea532043cc21d/rasterstats-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3f/dd/0b2c68495331ba36af783139baaa94693ef310d484d458c11dfa1357287d/rioxarray-0.22.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fa/c9/5cc2189f4acd3a6e30ffa9775bf09b354302dbebab713ca914d7134d0f29/simplejson-3.20.2-cp312-cp312-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/99/92/545eb2ca17fc0e05456728d7e4378bfee48d66433ae3b7e71948e46826fb/xarray-2026.2.0-py3-none-any.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 @@ -897,6 +1710,20 @@ packages: purls: [] size: 2562 timestamp: 1578324546067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 + md5: a9f577daf3de00bca7c3c76c0ecbd1de + depends: + - __glibc >=2.17,<3.0.a0 + - libgomp >=7.5.0 + constrains: + - openmp_impl <0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28948 + timestamp: 1770939786096 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 build_number: 16 sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 @@ -911,6 +1738,32 @@ packages: purls: [] size: 23621 timestamp: 1650670423406 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + build_number: 7 + sha256: 7acaa2e0782cad032bdaf756b536874346ac1375745fb250e9bdd6a48a7ab3cd + md5: a44032f282e7d2acdeb1c240308052dd + depends: + - llvm-openmp >=9.0.1 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 8325 + timestamp: 1764092507920 +- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 + md5: 1626967b574d1784b578b52eaeb071e7 + depends: + - libgomp >=7.5.0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - openmp_impl <0.0a0 + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 52252 + timestamp: 1770943776666 - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda build_number: 8 sha256: 1a62cd1f215fe0902e7004089693a78347a30ad687781dfda2289cab000e652d @@ -948,6 +1801,28 @@ packages: purls: [] size: 619606 timestamp: 1750236493212 +- pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + name: affine + version: 2.4.0 + sha256: 8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92 + requires_dist: + - pydocstyle ; extra == 'dev' + - flake8 ; extra == 'dev' + - coveralls ; extra == 'dev' + - pytest>=4.6 ; extra == 'test' + - pytest-cov ; extra == 'test' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda + sha256: d88aa7ae766cf584e180996e92fef2aa7d8e0a0a5ab1d4d49c32390c1b5fff31 + md5: dcdc58c15961dbf17a0621312b01f5cb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: GPL + purls: [] + size: 584660 + timestamp: 1768327524772 - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda sha256: e8d87cb66bcc62bc8d8168037b776de962ebf659e45acb1a813debde558f7339 md5: 5a81866192811f3a0827f5f93e589f02 @@ -1028,6 +1903,19 @@ packages: - pkg:pypi/asttokens?source=hash-mapping size: 28206 timestamp: 1733250564754 +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + sha256: ee4da0f3fe9d59439798ee399ef3e482791e48784873d546e706d0935f9ff010 + md5: 9673a61a297b00016442e022d689faa6 + depends: + - python >=3.10 + constrains: + - astroid >=2,<5 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/asttokens?source=hash-mapping + size: 28797 + timestamp: 1763410017955 - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 sha256: 26ab9386e80bf196e51ebe005da77d57decf6d989b4f34d96130560bc133479c md5: 6b889f174df1e0f816276ae69281af4d @@ -1086,6 +1974,11 @@ packages: purls: [] size: 347530 timestamp: 1713896411580 +- pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + name: attrs + version: 26.1.0 + sha256: c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 + requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.3.0-pyh71513ae_0.conda sha256: 99c53ffbcb5dc58084faf18587b215f9ac8ced36bbfb55fa807c00967e419019 md5: a10d11958cadc13fdb43df75f8b1903f @@ -1112,12 +2005,28 @@ packages: license_family: APACHE size: 134426 timestamp: 1774274932726 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.10.1-hcb83491_2.conda - sha256: aba942578ad57e7b584434ed4e39c5ff7ed4ad3f326ac3eda26913ca343ea255 - md5: 1c701edc28f543a0e040325b223d5ca0 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.6-hb9c0fe4_1.conda + sha256: 84f9e2f83d9d93da551e0058c651015dd4bfd84256c6293db01130911c5e0f12 + md5: b1143a5b5a03ee174b3f3f7c49df3c09 depends: - - __osx >=11.0 - - aws-c-io >=0.26.3,<0.26.4.0a0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 133452 + timestamp: 1771494128397 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.10.1-hcb83491_2.conda + sha256: aba942578ad57e7b584434ed4e39c5ff7ed4ad3f326ac3eda26913ca343ea255 + md5: 1c701edc28f543a0e040325b223d5ca0 + depends: + - __osx >=11.0 + - aws-c-io >=0.26.3,<0.26.4.0a0 - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - aws-c-common >=0.12.6,<0.12.7.0a0 - aws-c-cal >=0.9.13,<0.9.14.0a0 @@ -1126,6 +2035,21 @@ packages: license_family: APACHE size: 116820 timestamp: 1774275057443 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.6-ha02d361_1.conda + sha256: 69b1b619958a9120b92ba9f418c51309fbd14f67628ea9617e7e0a4936d5d035 + md5: 798becc566a5335533252906c42ef71b + depends: + - __osx >=11.0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 115282 + timestamp: 1771494170485 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.6-hdf23a24_1.conda sha256: ff1e5382e05daf03a209a20465c1dbdfe55e54850b51e3eb3971b856924a9003 md5: 0088d3b4578bfaceccb8795e10eb69a9 @@ -1140,6 +2064,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 125813 timestamp: 1771494179454 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.13-h2c9d079_1.conda @@ -1152,6 +2077,7 @@ packages: - openssl >=3.5.4,<4.0a0 license: Apache-2.0 license_family: Apache + purls: [] size: 56230 timestamp: 1764593147526 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.13-h6ee9776_1.conda @@ -1162,6 +2088,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: Apache + purls: [] size: 45233 timestamp: 1764593742187 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-cal-0.9.13-h46f3b43_1.conda @@ -1174,6 +2101,7 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + purls: [] size: 53613 timestamp: 1764593604081 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.6-hb03c661_0.conda @@ -1184,6 +2112,7 @@ packages: - libgcc >=14 license: Apache-2.0 license_family: Apache + purls: [] size: 239605 timestamp: 1763585595898 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.6-hc919400_0.conda @@ -1193,6 +2122,7 @@ packages: - __osx >=11.0 license: Apache-2.0 license_family: Apache + purls: [] size: 224116 timestamp: 1763585987935 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-common-0.12.6-hfd05255_0.conda @@ -1204,6 +2134,7 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + purls: [] size: 236441 timestamp: 1763586152571 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.2-h8b1a151_0.conda @@ -1215,6 +2146,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 22278 timestamp: 1767790836624 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.2-h3e7f9b5_0.conda @@ -1225,6 +2157,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 21470 timestamp: 1767790900862 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.2-hcb3a2da_0.conda @@ -1237,8 +2170,24 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 23087 timestamp: 1767790877990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.9-h841be55_2.conda + sha256: 179610f3c76238ca5fc4578384381bfd297e0ae1b96f6be52220c51f66b38131 + md5: 7e1ea1a67435a32e04305fda877acd1e + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 58801 + timestamp: 1771380394434 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.6.0-h9b893ba_1.conda sha256: 4a1a060ab40cb4fa39d24418758ca9faa1f51df6918f05143118e79bb11b4350 md5: cd4946050ecfcb3c6fd09106ae6a261e @@ -1253,6 +2202,20 @@ packages: license_family: APACHE size: 58989 timestamp: 1774270004533 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.9-hd533cd8_2.conda + sha256: c06a47704bba4f9f979e2ee2d0b35200458f1ac6d4009fcd2c6d616ed8a18160 + md5: 523157d65a64b29f4bf2be084756df69 + depends: + - libcxx >=19 + - __osx >=11.0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 53198 + timestamp: 1771380419309 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.6.0-h351c84d_1.conda sha256: 8927fac75ad4cc4a2fbece5dbcc666cd6672a8ad87370cb183ff4d4f3e11f371 md5: 228fe528ff814e420d8e13757f3c381e @@ -1278,8 +2241,24 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 57333 timestamp: 1771380438001 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.10-hf621c6d_0.conda + sha256: c61272aaff8aec10bb6a2afa62a7181e4ab00f4577350a8023431c74b9e91a72 + md5: 977e7d3cba1ef84fc088869b292672fe + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-compression >=0.3.2,<0.3.3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 225671 + timestamp: 1771421336421 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.12-h4bacb7b_1.conda sha256: c6f910d400ef9034493988e8cd37bd4712e42d85921122bcda4ba68d4614b131 md5: 7bc920933e5fb225aba86a788164a8f1 @@ -1294,6 +2273,20 @@ packages: license_family: APACHE size: 225868 timestamp: 1774270031584 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.10-ha1850f6_0.conda + sha256: a73aa557b246944f13af9fb3ad9f3bad6260252aa0b92df066eb5113c0be8fec + md5: 2b65d6ea75034df28aa2f2117920c51f + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-compression >=0.3.2,<0.3.3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 172345 + timestamp: 1771421384051 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.12-h95cdebe_1.conda sha256: b25380b43c2c5733dcaac88b075fa286893af1c147ca40d50286df150ace5fb8 md5: 806ff124512457583d675c62336b1392 @@ -1320,8 +2313,23 @@ packages: - aws-c-compression >=0.3.2,<0.3.3.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 207441 timestamp: 1771421383740 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.26.1-hc87160b_2.conda + sha256: f224ba83bba90744cb8a85ce63075b2cd940cb8e232bc3e3f32d7aac833ab61c + md5: 3a7d90d34895728f0b69107602b6e189 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - s2n >=1.7.1,<1.7.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 181558 + timestamp: 1773409398408 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.26.3-hc87160b_0.conda sha256: c66ebb7815949db72bab7c86bf477197e4bc6937c381cf32248bdd1ce496db00 md5: dde6a3e4fe6bb2ecd2a7050dd1e701fb @@ -1335,6 +2343,18 @@ packages: license_family: APACHE size: 181624 timestamp: 1773868304737 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.26.1-h4137820_2.conda + sha256: 131064d83b9e8b0214c0c240df053e55fef0a7c0590acf6fb569354ae0d22cb8 + md5: c67922134dc54a497da7a12bca07d001 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 177168 + timestamp: 1773328939595 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.26.3-h4137820_0.conda sha256: 0e6ba2c8f250f466b9d671d3970e1f7c149c925b79c10fa7778708192a2a7833 md5: 730d1cbd0973bd7ac150e181d3b572f3 @@ -1357,8 +2377,23 @@ packages: - aws-c-cal >=0.9.13,<0.9.14.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 182264 timestamp: 1773328915344 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.14.0-ha25ca29_1.conda + sha256: 2e9f2fc6ca8aa993b4962dbae711df69e8091b6a691bdcef8c8398dc81f923d7 + md5: a827b063719f5aac504d06ac77cc3125 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 220029 + timestamp: 1771458032786 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.15.2-he9ea9c5_1.conda sha256: 3fc68793c0ca2c36524ae67abac696ce6b066a8be6b2b980cbdc40ae1310041a md5: 8e77514673f5773b40ff8953583938b6 @@ -1372,6 +2407,19 @@ packages: license_family: APACHE size: 221711 timestamp: 1774275485771 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.14.0-h5721393_1.conda + sha256: e6149bb7b836ddd3ccf87ff84d57925ee27e773b531932e75095b90cb30f87e0 + md5: f06bafa0131571f5a09d25ad2478873f + depends: + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 155370 + timestamp: 1771458064307 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.15.2-h69e7467_1.conda sha256: 69a12dfccdeb1497e3fbcaedea77c7adab854b482558aaa4ce5dea3a80d08c76 md5: 1f4f6b9a183bea3ddf9af5ebcda0933d @@ -1396,6 +2444,7 @@ packages: - aws-c-http >=0.10.10,<0.10.11.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 210780 timestamp: 1771458049739 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.5-h6d69fc9_5.conda @@ -1415,6 +2464,40 @@ packages: license_family: APACHE size: 151340 timestamp: 1774282148690 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.5-h9b5df67_3.conda + sha256: 4ec226a26aa1971d739f8600310b98f6ce8c24b93d88f8acb8387e9de0f4361e + md5: 1f130ac4eb7f1dea1ae4b5f53683e3aa + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - openssl >=3.5.5,<4.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 151354 + timestamp: 1771586299371 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.5-h7d214dc_3.conda + sha256: 691d5081569ec9cebf6a9d33b5ea7d0d7e642469b0f11b6736a4c277f5d879a9 + md5: 79e417d4617e8e1c0738184979cd0753 + depends: + - __osx >=11.0 + - aws-checksums >=0.2.10,<0.2.11.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 129600 + timestamp: 1771586353474 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.5-ha5d16b2_5.conda sha256: bd8f4ffb8346dd02bda2bc1ae9993ebdb131298b1308cb9e6b1e771b530d9dd5 md5: f33735fd60f9c4a21c51a0283eb8afc1 @@ -1445,6 +2528,7 @@ packages: - aws-c-cal >=0.9.13,<0.9.14.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 141978 timestamp: 1771586339556 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h8b1a151_4.conda @@ -1456,6 +2540,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 59383 timestamp: 1764610113765 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda @@ -1466,6 +2551,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 53430 timestamp: 1764755714246 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda @@ -1478,6 +2564,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 56509 timestamp: 1764610148907 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h8b1a151_0.conda @@ -1489,6 +2576,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 101435 timestamp: 1771063496927 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.10-h3e7f9b5_0.conda @@ -1499,6 +2587,7 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 91917 timestamp: 1771063496505 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda @@ -1511,8 +2600,30 @@ packages: - aws-c-common >=0.12.6,<0.12.7.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 116853 timestamp: 1771063509650 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.37.2-hb153662_3.conda + sha256: 2bad7d8bca75405a3fdac0660a2b5ed9d1c1d27177061f65375a6cfb79c6a46d + md5: c3bb19fc041068029018ab183baa8982 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + - aws-c-mqtt >=0.14.0,<0.14.1.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 410131 + timestamp: 1771591557961 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.37.4-h4c8aef7_3.conda sha256: b82d0bc6d4b716347e1aefb0acc6e4bff04b3f807537ada9b458a7e467beb2a0 md5: 798a499cf76e530a992365d557ba5827 @@ -1533,6 +2644,26 @@ packages: license_family: APACHE size: 410120 timestamp: 1774286908570 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.37.2-hcfbc53e_3.conda + sha256: ebc491ad5f4030b6d44fcdb3aec8b61398c0f0bfff52c3c90b44620f74d47d16 + md5: 696c5b6dbe8009b2e15aac2607a9fc82 + depends: + - __osx >=11.0 + - libcxx >=19 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-mqtt >=0.14.0,<0.14.1.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 269265 + timestamp: 1771591598233 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.37.4-h5505c15_3.conda sha256: bb9e0abbe22825810776e4c6929f4587567b795272126aaca7e55b30c91f2d29 md5: a13b36ec511c0589632e3689cd34ccc0 @@ -1552,6 +2683,27 @@ packages: license_family: APACHE size: 269460 timestamp: 1774286981607 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.2-h5e571c5_3.conda + sha256: a5bfc2fcdd817c1e866c9714015b3da240edcc4a56b62a7c272673e560fb1ed1 + md5: f4fc7111c76b3b1ddb362faac178fcb2 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-auth >=0.9.6,<0.9.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.26.1,<0.26.2.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.10,<0.10.11.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-mqtt >=0.14.0,<0.14.1.0a0 + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 304133 + timestamp: 1771591601153 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.3-h5e571c5_0.conda sha256: d970dfe1a26c8f78c8f5215aacb96c9105a845a7e6bb00973051c077ef6d26be md5: b80eaad1305cbdefefb010a5724acad5 @@ -1572,6 +2724,23 @@ packages: license_family: APACHE size: 304139 timestamp: 1771983373213 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-hc9b1074_13.conda + sha256: de21a4c8c2cb7734389232ade478199390dd16fc6e3acee18dbefeac3e22d59c + md5: e7b0b55965db0d2b85c9ae1397d14012 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 3472435 + timestamp: 1771598202437 - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.747-hc3785e1_3.conda sha256: 62b7e565852fa061a26281b2890e432853fabefa8ea3dc22d00d39295a030805 md5: cfffedbfd03d5a6bb74157c14b6f0cdf @@ -1588,6 +2757,22 @@ packages: license_family: APACHE size: 3624521 timestamp: 1773666645246 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h71a6bcd_13.conda + sha256: f67ddd3afb7179625ce1f87018fca6f7d82a9df81b7ffb9a3f4c0bad148f6042 + md5: 17bdc86efd639bb245e13a352e98de87 + depends: + - __osx >=11.0 + - libcxx >=19 + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + - libzlib >=1.3.1,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 3127456 + timestamp: 1771598261058 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.747-had22720_3.conda sha256: b5ce4fafe17ab58980f944b9a45504ce45dda0423064591d51240eb8308589af md5: 157ae2a6008d62f61107f5b78dce06d2 @@ -1603,6 +2788,22 @@ packages: license_family: APACHE size: 3260974 timestamp: 1773666675518 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-ha60a6cd_13.conda + sha256: 3c2eef2b8af5532d02ab10a7de737457bb124693665769214025df103aba994b + md5: 3ebfac2b1d56ed6afd74b79b48ddfe80 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 3438987 + timestamp: 1771598251928 - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.747-h532609e_1.conda sha256: fca0b8b5c8c5153cbc6e2d33db098218f5df8d9494bdebd18884f98d21cd9a69 md5: 502016afd445393bf698dfcc005909de @@ -1629,6 +2830,7 @@ packages: - openssl >=3.5.4,<4.0a0 license: MIT license_family: MIT + purls: [] size: 348729 timestamp: 1768837519361 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda @@ -1641,6 +2843,7 @@ packages: - openssl >=3.5.4,<4.0a0 license: MIT license_family: MIT + purls: [] size: 290928 timestamp: 1768837810218 - conda: https://conda.anaconda.org/conda-forge/win-64/azure-core-cpp-1.16.2-h49e36cd_0.conda @@ -1665,6 +2868,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 250511 timestamp: 1770344967948 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.13.3-h810541e_1.conda @@ -1677,6 +2881,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 167424 timestamp: 1770345338067 - conda: https://conda.anaconda.org/conda-forge/win-64/azure-identity-cpp-1.13.3-h5ffce34_1.conda @@ -1702,6 +2907,7 @@ packages: - libstdcxx >=14 license: MIT license_family: MIT + purls: [] size: 579825 timestamp: 1770321459546 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-hc57151b_1.conda @@ -1714,6 +2920,7 @@ packages: - libcxx >=19 license: MIT license_family: MIT + purls: [] size: 426735 timestamp: 1770322058844 - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-hcd625b1_1.conda @@ -1742,6 +2949,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 150405 timestamp: 1770240307002 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.12.0-he467506_1.conda @@ -1756,6 +2964,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 121500 timestamp: 1770240531430 - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.12.0-h5ffce34_1.conda @@ -1782,6 +2991,7 @@ packages: - libstdcxx >=14 license: MIT license_family: MIT + purls: [] size: 302524 timestamp: 1770384269834 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hf8a9d22_1.conda @@ -1795,6 +3005,7 @@ packages: - libcxx >=19 license: MIT license_family: MIT + purls: [] size: 198153 timestamp: 1770384528646 - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-h1678c0b_1.conda @@ -1811,6 +3022,49 @@ packages: license_family: MIT size: 438910 timestamp: 1770384369008 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.3.0-py312h90b7ffd_0.conda + sha256: d77a24be15e283d83214121428290dbe55632a6e458378205b39c550afa008cf + md5: 5b8c55fed2e576dde4b0b33693a4fdb1 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=hash-mapping + size: 237970 + timestamp: 1767045004512 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.3.0-py312h44dc372_0.conda + sha256: aee745bfca32f7073d3298157bbb2273d6d83383cb266840cf0a7862b3cd8efc + md5: c2d5961bfd98504b930e704426d16572 + depends: + - python + - python 3.12.* *_cpython + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=hash-mapping + size: 241051 + timestamp: 1767045000787 +- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py312h06d0912_0.conda + sha256: c9c97cd644faa6c4fb38017c5ecfd082f56a3126af5925d246364fa4a22b2a74 + md5: 2db2b356f08f19ce4309a79a9ee6b9d8 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=hash-mapping + size: 236635 + timestamp: 1767045021157 - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py312h7900ff3_0.conda sha256: 2b4344d18328b3e8fd9b5356f4ee15556779766db8cb21ecf2ff818809773df6 md5: 2daba153b913b1b901cf61440ad5e019 @@ -1863,17 +3117,177 @@ packages: - pkg:pypi/black?source=hash-mapping size: 417913 timestamp: 1728504045145 -- conda: https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda - sha256: ea5f4c876eff2ed469551b57f1cc889a3c01128bf3e2e10b1fea11c3ef39eac2 - md5: c7eb87af73750d6fd97eff8bbee8cb9c +- conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d + md5: 2c2fae981fd2afd00812c92ac47d023d depends: - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 48427 + timestamp: 1733513201413 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + sha256: c3fe902114b9a3ac837e1a32408cc2142c147ec054c1038d37aec6814343f48a + md5: 925acfb50a750aa178f7a0aced77f351 + depends: + - __osx >=11.0 + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 33602 + timestamp: 1733513285902 +- conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-hfd34d9b_1.conda + sha256: 9303a7a0e03cf118eab3691013f6d6cbd1cbac66efbc70d89b20f5d0145257c0 + md5: 357d7be4146d5fec543bfaa96a8a40de + depends: + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 49840 + timestamp: 1733513605730 +- conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.0-pyhd8ed1ab_0.conda + sha256: 96a6486d4fe27c02c1092a40096dfd82043929b3a7da156a49b28d851159c551 + md5: b9a6da57e94cd12bd71e7ab0713ef052 + depends: + - contourpy >=1.2 + - jinja2 >=2.9 + - narwhals >=1.13 + - numpy >=1.16 + - packaging >=16.8 + - pillow >=7.1.0 + - python >=3.10 + - pyyaml >=3.10 + - tornado >=6.2 + - xyzservices >=2021.09.1 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/bokeh?source=hash-mapping + size: 4240579 + timestamp: 1773302678722 +- conda: https://conda.anaconda.org/conda-forge/noarch/boltons-25.0.0-pyhd8ed1ab_0.conda + sha256: ea5f4c876eff2ed469551b57f1cc889a3c01128bf3e2e10b1fea11c3ef39eac2 + md5: c7eb87af73750d6fd97eff8bbee8cb9c + depends: + - python >=3.9 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/boltons?source=hash-mapping size: 302296 timestamp: 1749686302834 +- conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda + sha256: 1acf87c77d920edd098ddc91fa785efc10de871465dee0f463815b176e019e8b + md5: 1fcdf88e7a8c296d3df8409bf0690db4 + depends: + - jinja2 >=3 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/branca?source=hash-mapping + size: 30176 + timestamp: 1759755695447 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + sha256: e511644d691f05eb12ebe1e971fd6dc3ae55a4df5c253b4e1788b789bdf2dfa6 + md5: 8ccf913aaba749a5496c17629d859ed1 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.2.0 hb03c661_1 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 20103 + timestamp: 1764017231353 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.2.0-h7d5ae5b_1.conda + sha256: 422ac5c91f8ef07017c594d9135b7ae068157393d2a119b1908c7e350938579d + md5: 48ece20aa479be6ac9a284772827d00c + depends: + - __osx >=11.0 + - brotli-bin 1.2.0 hc919400_1 + - libbrotlidec 1.2.0 hc919400_1 + - libbrotlienc 1.2.0 hc919400_1 + license: MIT + license_family: MIT + purls: [] + size: 20237 + timestamp: 1764018058424 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + sha256: a4fffdf1c9b9d3d0d787e20c724cff3a284dfa3773f9ce609c93b1cfd0ce8933 + md5: bc58fdbced45bb096364de0fba1637af + depends: + - brotli-bin 1.2.0 hfd05255_1 + - libbrotlidec 1.2.0 hfd05255_1 + - libbrotlienc 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 20342 + timestamp: 1764017988883 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + sha256: 64b137f30b83b1dd61db6c946ae7511657eead59fdf74e84ef0ded219605aa94 + md5: af39b9a8711d4a8d437b52c1d78eb6a1 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 21021 + timestamp: 1764017221344 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.2.0-hc919400_1.conda + sha256: e2d142052a83ff2e8eab3fe68b9079cad80d109696dc063a3f92275802341640 + md5: 377d015c103ad7f3371be1777f8b584c + depends: + - __osx >=11.0 + - libbrotlidec 1.2.0 hc919400_1 + - libbrotlienc 1.2.0 hc919400_1 + license: MIT + license_family: MIT + purls: [] + size: 18628 + timestamp: 1764018033635 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + sha256: e76966232ef9612de33c2087e3c92c2dc42ea5f300050735a3c646f33bce0429 + md5: 6abd7089eb3f0c790235fe469558d190 + depends: + - libbrotlidec 1.2.0 hfd05255_1 + - libbrotlienc 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 22714 + timestamp: 1764017952449 - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda sha256: 49df13a1bb5e388ca0e4e87022260f9501ed4192656d23dc9d9a1b4bf3787918 md5: 64088dffd7413a2dd557ce837b4cbbdb @@ -1887,6 +3301,8 @@ packages: - libbrotlicommon 1.2.0 hb03c661_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=compressed-mapping size: 368300 timestamp: 1764017300621 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py312h0dfefe5_1.conda @@ -1902,6 +3318,8 @@ packages: - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping size: 359503 timestamp: 1764018572368 - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda @@ -1917,6 +3335,8 @@ packages: - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping size: 335482 timestamp: 1764018063640 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda @@ -1930,6 +3350,17 @@ packages: purls: [] size: 252783 timestamp: 1720974456583 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 + md5: d2ffd7602c02f2b316fd921d39876885 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 260182 + timestamp: 1771350215188 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91 md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab @@ -1940,6 +3371,28 @@ packages: purls: [] size: 122909 timestamp: 1720974522888 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda + sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df + md5: 620b85a3f45526a8bc4d23fd78fc22f0 + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 124834 + timestamp: 1771350416561 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 + md5: 4cb8e6b48f67de0b018719cdf1136306 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 56115 + timestamp: 1771350256444 - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda sha256: 35a5dad92e88fdd7fc405e864ec239486f4f31eec229e31686e61a140a8e573b md5: 276e7ffe9ffe39688abc665ef0f45596 @@ -1960,6 +3413,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 207882 timestamp: 1765214722852 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda @@ -1969,6 +3423,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 180327 timestamp: 1765215064054 - conda: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.6-hfd05255_0.conda @@ -1980,6 +3435,7 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 193550 timestamp: 1765215100218 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.7.14-h4c7d964_0.conda @@ -2000,6 +3456,24 @@ packages: purls: [] size: 155658 timestamp: 1752482350666 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 + md5: f001e6e220355b7f87403a4d0e5bf1ca + depends: + - __win + license: ISC + purls: [] + size: 147734 + timestamp: 1772006322223 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda + sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc + md5: 4492fd26db29495f0ba23f146cd5638d + depends: + - __unix + license: ISC + purls: [] + size: 147413 + timestamp: 1772006283803 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 md5: 09262e66b19567aff4f592fb53b28760 @@ -2075,6 +3549,16 @@ packages: - pkg:pypi/certifi?source=compressed-mapping size: 159755 timestamp: 1752493370797 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda + sha256: a6b118fd1ed6099dc4fc03f9c492b88882a780fadaef4ed4f93dc70757713656 + md5: 765c4d97e877cdbbb88ff33152b86125 + depends: + - python >=3.10 + license: ISC + purls: + - pkg:pypi/certifi?source=compressed-mapping + size: 151445 + timestamp: 1772001170301 - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457 md5: a861504bbea4161a9170b85d4d2be840 @@ -2134,6 +3618,17 @@ packages: - pkg:pypi/charset-normalizer?source=hash-mapping size: 50481 timestamp: 1746214981991 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda + sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 + md5: a9167b9571f3baa9d448faa2139d1089 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=compressed-mapping + size: 58872 + timestamp: 1775127203018 - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda sha256: 8aee789c82d8fdd997840c952a586db63c6890b00e88c4fb6e80a38edd5f51c0 md5: 94b550b8d3a614dbd326af798c7dfb40 @@ -2159,6 +3654,24 @@ packages: - pkg:pypi/click?source=compressed-mapping size: 88117 timestamp: 1747811467132 +- pypi: https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl + name: click-plugins + version: 1.1.1.2 + sha256: 008d65743833ffc1f5417bf0e78e8d2c23aab04d9745ba817bd3e71b0feb6aa6 + requires_dist: + - click>=4.0 + - pytest>=3.6 ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - wheel ; extra == 'dev' + - coveralls ; extra == 'dev' +- pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + name: cligj + version: 0.7.2 + sha256: c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df + requires_dist: + - click>=4.0 + - pytest-cov ; extra == 'test' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,<4' - conda: https://conda.anaconda.org/conda-forge/noarch/clio-tools-2026.03.30-pyhd8ed1ab_0.conda sha256: a8b34e4bb8854ad899e461430fbabad81fa694805e45421bfe3e56da031d44ad md5: 169bb144044321bb1cec1bfa4ea82a5b @@ -2175,6 +3688,30 @@ packages: license_family: MIT size: 15754 timestamp: 1774882664468 +- conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 + md5: 61b8078a0905b12529abc622406cb62c + depends: + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cloudpickle?source=hash-mapping + size: 27353 + timestamp: 1765303462831 +- conda: https://conda.anaconda.org/conda-forge/noarch/cmap-0.7.1-pyhd8ed1ab_0.conda + sha256: f9c050a644e2780ba21c364adeb339f312bc3a286af399e11ca736e48947c39e + md5: 7d6f02f644a3e4afae56a264a196d91d + depends: + - numpy + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cmap?source=hash-mapping + size: 661176 + timestamp: 1770177250420 - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.12-h00e76a6_2.conda sha256: c9c125fc26459d760dd75859e4f84b78804088649fd231fd3d0c55c50f50d4a2 md5: e96d087e020082fc811457dba4ad4715 @@ -2714,6 +4251,54 @@ packages: - pkg:pypi/connection-pool?source=hash-mapping size: 8331 timestamp: 1608581999360 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda + sha256: 62447faf7e8eb691e407688c0b4b7c230de40d5ecf95bf301111b4d05c5be473 + md5: 43c2bc96af3ae5ed9e8a10ded942aa50 + depends: + - numpy >=1.25 + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/contourpy?source=hash-mapping + size: 320386 + timestamp: 1769155979897 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda + sha256: fa1b3967c644c1ffaf8beba3d7aee2301a8db32c0e9a56649a0e496cf3abd27c + md5: f9cce0bc86b46533489a994a47d3c7d2 + depends: + - numpy >=1.25 + - python + - python 3.12.* *_cpython + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/contourpy?source=hash-mapping + size: 286084 + timestamp: 1769156157865 +- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda + sha256: 5f0dd3a4243e8293acc40abf3b11bcb23401268a1ef2ed3bce4d5a060383c1da + md5: 475bd41a63e613f2f2a2764cd1cd3b25 + depends: + - numpy >=1.25 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/contourpy?source=hash-mapping + size: 244035 + timestamp: 1769155978578 - conda: https://conda.anaconda.org/conda-forge/linux-64/cpp-expected-1.1.0-hff21bea_1.conda sha256: 234e423531e0d5f31e8e8b2979c4dfa05bdb4c502cb3eb0a5db865bd831d333e md5: 54e8e1a8144fd678c5d43905e3ba684d @@ -2770,6 +4355,136 @@ packages: license: Python-2.0 size: 46463 timestamp: 1772728929620 +- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + sha256: bb47aec5338695ff8efbddbc669064a3b10fe34ad881fb8ad5d64fbfa6910ed1 + md5: 4c2a8fef270f6c69591889b93f9f55c1 + depends: + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cycler?source=hash-mapping + size: 14778 + timestamp: 1764466758386 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + sha256: ee09ad7610c12c7008262d713416d0b58bf365bc38584dce48950025850bdf3f + md5: cae723309a49399d2949362f4ab5c9e4 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libntlm >=1.8,<2.0a0 + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause-Attribution + license_family: BSD + purls: [] + size: 209774 + timestamp: 1750239039316 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda + sha256: 75b3d3c9497cded41e029b7a0ce4cc157334bbc864d6701221b59bb76af4396d + md5: 29fd0bdf551881ab3d2801f7deaba528 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cytoolz?source=hash-mapping + size: 623770 + timestamp: 1771855837505 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py312h2bbb03f_2.conda + sha256: be8d2bf477d0bf8d19a7916c2ceccef33cbfecf918508c18b89098aa7b20017e + md5: 49389c14c49a416f458ce91491f62c67 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cytoolz?source=hash-mapping + size: 591797 + timestamp: 1771856474133 +- conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.conda + sha256: e817c9154c917f562e378cf2898a1ff82f20c87ef465b75b2bcba94235604814 + md5: 978c009bc3f0add939e44aff97bfaee1 + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - toolz >=0.10.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cytoolz?source=hash-mapping + size: 563651 + timestamp: 1771855915942 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.7.0-pyhe01879c_0.conda + sha256: 03cf80a89674166ec5aabbc63dbe6a317f09e2b585ace2c1296ded91033d5f72 + md5: e764bbc4315343e806bc55d73d102335 + depends: + - python >=3.10 + - dask-core >=2025.7.0,<2025.7.1.0a0 + - distributed >=2025.7.0,<2025.7.1.0a0 + - cytoolz >=0.11.0 + - lz4 >=4.3.2 + - numpy >=1.24 + - pandas >=2.0 + - bokeh >=3.1.0 + - jinja2 >=2.10.3 + - pyarrow >=14.0.1 + - python + constrains: + - openssl !=1.1.1e + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 11522 + timestamp: 1752542237166 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.7.0-pyhe01879c_1.conda + sha256: 039130562a81522460f6638cabaca153798d865c24bb87781475e8fd5708d590 + md5: 3293644021329a96c606c3d95e180991 + depends: + - python >=3.10 + - click >=8.1 + - cloudpickle >=3.0.0 + - fsspec >=2021.9.0 + - packaging >=20.0 + - partd >=1.4.0 + - pyyaml >=5.3.1 + - toolz >=0.10.0 + - importlib-metadata >=4.13.0 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/dask?source=hash-mapping + size: 1058723 + timestamp: 1752524171028 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + sha256: 8bb557af1b2b7983cf56292336a1a1853f26555d9c6cecf1e5b2b96838c9da87 + md5: ce96f2f470d39bd96ce03945af92e280 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.86.2,<3.0a0 + - libexpat >=2.7.3,<3.0a0 + license: AFL-2.1 OR GPL-2.0-or-later + purls: [] + size: 447649 + timestamp: 1764536047944 - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda sha256: 3b988146a50e165f0fa4e839545c679af88e4782ec284cc7b6d07dd226d6a068 md5: 679616eb5ad4e521c83da4650860aba7 @@ -2842,6 +4557,36 @@ packages: - pkg:pypi/decorator?source=compressed-mapping size: 14129 timestamp: 1740385067843 +- conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.7.0-pyhe01879c_0.conda + sha256: d8c43144fe7dd9d8496491a6bf60996ceb0bbe291e234542e586dba979967df8 + md5: b94b2b0dc755b7f1fd5d1984e46d932c + depends: + - python >=3.10 + - click >=8.0 + - cloudpickle >=3.0.0 + - cytoolz >=0.11.2 + - dask-core >=2025.7.0,<2025.7.1.0a0 + - jinja2 >=2.10.3 + - locket >=1.0.0 + - msgpack-python >=1.0.2 + - packaging >=20.0 + - psutil >=5.8.0 + - pyyaml >=5.4.1 + - sortedcontainers >=2.0.5 + - tblib >=1.6.0 + - toolz >=0.11.2 + - tornado >=6.2.0 + - urllib3 >=1.26.5 + - zict >=3.0.0 + - python + constrains: + - openssl !=1.1.1e + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/distributed?source=hash-mapping + size: 847541 + timestamp: 1752539128419 - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda sha256: 5603c7d0321963bb9b4030eadabc3fd7ca6103a38475b4e0ed13ed6d97c86f4e md5: 0a2014fd9860f8b1eaa0b1f3d3771a08 @@ -2863,6 +4608,30 @@ packages: - pkg:pypi/docutils?source=hash-mapping size: 402700 timestamp: 1733217860944 +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + sha256: 1bcc132fbcc13f9ad69da7aa87f60ea41de7ed4d09f3a00ff6e0e70e1c690bc2 + md5: bfd56492d8346d669010eccafe0ba058 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 69544 + timestamp: 1739569648873 +- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.3.1-he0c23c2_0.conda + sha256: b1fee32ef36a98159f0a2a96c4e734dfc9adff73acd444940831b22c1fb6d5c0 + md5: e9a1402439c18a4e3c7a52e4246e9e1c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 71355 + timestamp: 1739570178995 - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_0.conda sha256: ab88f587a9b7dc3cbb636823423c2ecfd868d4719b491af37c09b0384214bacf md5: b2681af65644be41a18d4b00b67938f1 @@ -2892,6 +4661,17 @@ packages: purls: [] size: 355201 timestamp: 1648505273975 +- conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda + sha256: 2209534fbf2f70c20661ff31f57ab6a97b82ee98812e8a2dcb2b36a0d345727c + md5: 71bf9646cbfabf3022c8da4b6b4da737 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/et-xmlfile?source=hash-mapping + size: 21908 + timestamp: 1733749746332 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda sha256: ce61f4f99401a4bd455b89909153b40b9c823276aefcbb06f2044618696009ca md5: 72e42d28960d875c7654614f8b50939a @@ -2914,6 +4694,83 @@ packages: - pkg:pypi/executing?source=hash-mapping size: 29652 timestamp: 1745502200340 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/executing?source=hash-mapping + size: 30753 + timestamp: 1756729456476 +- pypi: https://files.pythonhosted.org/packages/7e/0d/914fd3c4c32043c2c512fa5021e83b2348e1b7a79365d75a0a37cb545362/fiona-1.10.1-cp312-cp312-win_amd64.whl + name: fiona + version: 1.10.1 + sha256: 41cde2c52c614457e9094ea44b0d30483540789e62fe0fa758c2a2963e980817 + requires_dist: + - attrs>=19.2.0 + - certifi + - click~=8.0 + - click-plugins>=1.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - fiona[calc,s3,test] ; extra == 'all' + - pyparsing ; extra == 'calc' + - shapely ; extra == 'calc' + - boto3>=1.3.1 ; extra == 's3' + - aiohttp ; extra == 'test' + - fsspec ; extra == 'test' + - fiona[s3] ; extra == 'test' + - pytest>=7 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytz ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/ba/45/693c1cca53023aaf6e3adc11422080f5fa427484e7b85e48f19c40d6357f/fiona-1.10.1-cp312-cp312-macosx_11_0_arm64.whl + name: fiona + version: 1.10.1 + sha256: 8c77fcfd3cdb0d3c97237965f8c60d1696a64923deeeb2d0b9810286cbe25911 + requires_dist: + - attrs>=19.2.0 + - certifi + - click~=8.0 + - click-plugins>=1.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - fiona[calc,s3,test] ; extra == 'all' + - pyparsing ; extra == 'calc' + - shapely ; extra == 'calc' + - boto3>=1.3.1 ; extra == 's3' + - aiohttp ; extra == 'test' + - fsspec ; extra == 'test' + - fiona[s3] ; extra == 'test' + - pytest>=7 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytz ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/dc/78/be204fb409b59876ef4658710a022794f16f779a3e9e7df654acc38b2104/fiona-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: fiona + version: 1.10.1 + sha256: 537872cbc9bda7fcdf73851c91bc5338fca2b502c4c17049ccecaa13cde1f18f + requires_dist: + - attrs>=19.2.0 + - certifi + - click~=8.0 + - click-plugins>=1.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - fiona[calc,s3,test] ; extra == 'all' + - pyparsing ; extra == 'calc' + - shapely ; extra == 'calc' + - boto3>=1.3.1 ; extra == 's3' + - aiohttp ; extra == 'test' + - fsspec ; extra == 'test' + - fiona[s3] ; extra == 'test' + - pytest>=7 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytz ; extra == 'test' + requires_python: '>=3.8' - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.1.4-h07f6e7f_1.conda sha256: 2db2a6a1629bc2ac649b31fd990712446394ce35930025e960e1765a9249af5d md5: 288a90e722fd7377448b00b2cddcb90d @@ -2949,6 +4806,22 @@ packages: purls: [] size: 184746 timestamp: 1742833874774 +- conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda + sha256: 782fa186d7677fd3bc1ff7adb4cc3585f7d2c7177c30bcbce21f8c177135c520 + md5: a6997a7dcd6673c0692c61dfeaea14ab + depends: + - branca >=0.6.0 + - jinja2 >=2.9 + - numpy + - python >=3.9 + - requests + - xyzservices + license: MIT + license_family: MIT + purls: + - pkg:pypi/folium?source=hash-mapping + size: 82665 + timestamp: 1750113928159 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b md5: 0c96522c6bdaed4b1566d11387caaf45 @@ -2996,6 +4869,22 @@ packages: purls: [] size: 265599 timestamp: 1730283881107 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda + sha256: aa4a44dba97151221100a637c7f4bde619567afade9c0265f8e1c8eed8d7bd8c + md5: 867127763fbe935bab59815b6e0b7b5c + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libuuid >=2.41.3,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 270705 + timestamp: 1771382710863 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.15.0-h1383a14_1.conda sha256: f79d3d816fafbd6a2b0f75ebc3251a30d3294b08af9bb747194121f5efa364bc md5: 7b29f48742cea5d1ccb5edd839cb5621 @@ -3025,6 +4914,23 @@ packages: purls: [] size: 192355 timestamp: 1730284147944 +- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda + sha256: ff2db9d305711854de430f946dc59bd40167940a1de38db29c5a78659f219d9c + md5: a0b1b87e871011ca3b783bbf410bc39f + depends: + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 195332 + timestamp: 1771382820659 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 md5: fee5683a3f04bd15cbd8318b096a27ab @@ -3048,6 +4954,71 @@ packages: purls: [] size: 4102 timestamp: 1566932280397 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 + depends: + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.62.0-py312h8a5da7c_0.conda + sha256: 777c80a1aa0889e6b637631c31f95d0b048848c5ba710f89ed7cedd3ad318227 + md5: 526f7ffd63820e55d7992cc1cf931a36 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli + - libgcc >=14 + - munkres + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/fonttools?source=hash-mapping + size: 2935817 + timestamp: 1773137546716 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.62.0-py312h04c11ed_0.conda + sha256: 28f0c979e143d95dc039ac16f3479e7c149c8e7a048bb69f872ac39410eabd34 + md5: 55b465d2e3ff2b244595398c4c712d48 + depends: + - __osx >=11.0 + - brotli + - munkres + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/fonttools?source=compressed-mapping + size: 2870592 + timestamp: 1773160169285 +- conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.62.0-py312h05f76fc_0.conda + sha256: 41bfb37800a8247339abdac2ae2e1cb4cfe62bf5cd853efc768f726916c36df6 + md5: 96c115ac5095960276978618087116ec + depends: + - brotli + - munkres + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - unicodedata2 >=15.1.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: + - pkg:pypi/fonttools?source=hash-mapping + size: 2502674 + timestamp: 1773138226380 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.13.3-ha770c72_1.conda sha256: 7ef7d477c43c12a5b4cddcf048a83277414512d1116aba62ebadfa7056a7d84f md5: 9ccd736d31e0c6e41f54e704e5312811 @@ -3058,6 +5029,16 @@ packages: purls: [] size: 172450 timestamp: 1745369996765 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda + sha256: c934c385889c7836f034039b43b05ccfa98f53c900db03d8411189892ced090b + md5: 8462b5322567212beeb025f3519fb3e2 + depends: + - libfreetype 2.14.3 ha770c72_0 + - libfreetype6 2.14.3 h73754d4_0 + license: GPL-2.0-only OR FTL + purls: [] + size: 173839 + timestamp: 1774298173462 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.13.3-hce30654_1.conda sha256: 6b63c72ea51a41d41964841404564c0729fdddd3e952e2715839fd759b7cfdfc md5: e684de4644067f1956a580097502bf03 @@ -3068,6 +5049,16 @@ packages: purls: [] size: 172220 timestamp: 1745370149658 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_0.conda + sha256: 5952bd9db12207a18a112e8924aa2ce8c2f9d57b62584d58a97d2f6afe1ea324 + md5: 6dcc75ba2e04c555e881b72793d3282f + depends: + - libfreetype 2.14.3 hce30654_0 + - libfreetype6 2.14.3 hdfa99f5_0 + license: GPL-2.0-only OR FTL + purls: [] + size: 173313 + timestamp: 1774298702053 - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.13.3-h57928b3_1.conda sha256: 0bcc9c868d769247c12324f957c97c4dbee7e4095485db90d9c295bcb3b1bb43 md5: 633504fe3f96031192e40e3e6c18ef06 @@ -3078,6 +5069,58 @@ packages: purls: [] size: 184162 timestamp: 1745370242683 +- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_0.conda + sha256: 70815dbae6ccdfbb0a47269101a260b0a2e11a2ab5c0f7209f325d01bdb18fb7 + md5: 507b36518b5a595edda64066c820a6ef + depends: + - libfreetype 2.14.3 h57928b3_0 + - libfreetype6 2.14.3 hdbac1cb_0 + license: GPL-2.0-only OR FTL + purls: [] + size: 185640 + timestamp: 1774300487600 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freexl-2.0.0-h9dce30a_2.conda + sha256: c8960e00a6db69b85c16c693ce05484facf20f1a80430552145f652a880e0d2a + md5: ecb5d11305b8ba1801543002e69d2f2f + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - minizip >=4.0.7,<5.0a0 + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 59299 + timestamp: 1734014884486 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + sha256: b4146ac9ba1676494e3d812ca39664dd7dd454e4d0984f3665fd6feec318c71c + md5: dd655a29b40fe0d1bf95c64cf3cb348d + depends: + - __osx >=11.0 + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - minizip >=4.0.7,<5.0a0 + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 53378 + timestamp: 1734014980768 +- conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + sha256: 1e62cbc6daa74656034dc4a6e58faa2d50291719c1cba53cc0b1946f0d2b9404 + md5: d6a8059de245e53478b581742b53f71d + depends: + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - minizip >=4.0.7,<5.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 77528 + timestamp: 1734015193826 - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 sha256: 5d7b6c0ee7743ba41399e9e05a58ccc1cfc903942e49ff6f677f6e423ea7a627 md5: ac7bc6a654f8f41b352b38f4051135f8 @@ -3147,6 +5190,17 @@ packages: - pkg:pypi/frozendict?source=hash-mapping size: 31147 timestamp: 1728841600933 +- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.3.0-pyhd8ed1ab_0.conda + sha256: b4a7aec32167502dd4a2d1fb1208c63760828d7111339aa5b305b2d776afa70f + md5: c18d2ba7577cdc618a20d45f1e31d14b + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/fsspec?source=hash-mapping + size: 148973 + timestamp: 1774699581537 - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda sha256: f47222f58839bcc77c15f11a8814c1d8cb8080c5ca6ba83398a12b640fd3c85c md5: c379d67c686fb83475c1a6ed41cc41ff @@ -3177,6 +5231,70 @@ packages: license_family: LGPL size: 544149 timestamp: 1761082904334 +- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.0.1-pyhd8ed1ab_3.conda + sha256: 04f7e616ebbf6352ff852b53c57901e43f14e2b3c92411f99b5547f106bc192e + md5: 1baca589eb35814a392eaad6d152447e + depends: + - folium + - geopandas-base 1.0.1 pyha770c72_3 + - mapclassify >=2.4.0 + - matplotlib-base + - pyogrio >=0.7.2 + - pyproj >=3.3.0 + - python >=3.9 + - xyzservices + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7583 + timestamp: 1734346218849 +- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.0.1-pyha770c72_3.conda + sha256: 2d031871b57c6d4e5e2d6cc23bd6d4e0084bb52ebca5c1b20bf06d03749e0f24 + md5: e8343d1b635bf09dafdd362d7357f395 + depends: + - numpy >=1.22 + - packaging + - pandas >=1.4.0 + - python >=3.9 + - shapely >=2.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/geopandas?source=hash-mapping + size: 239261 + timestamp: 1734346217454 +- conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.0-h480dda7_0.conda + sha256: c986e3c5fcdb61a34213923b22e5c8859a1012714cba34a4f6292551b67613ed + md5: 5dc479effdabf54a0ff240d565287495 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.1-only + purls: [] + size: 1977241 + timestamp: 1755851798617 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.0-h4bcf65f_0.conda + sha256: 3c02ea441210774dd2b3629eb25ba1b016a288d22af3b8f0a934a3a1afa5e609 + md5: adc2b527bb017db48415a1b243abcb68 + depends: + - __osx >=11.0 + - libcxx >=19 + license: LGPL-2.1-only + purls: [] + size: 1536680 + timestamp: 1755851888781 +- conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.0-hdade9fe_0.conda + sha256: 8f987efcc885538c9115fc6e5523bd7a0a23c4bfa834291bf7aceac799925c32 + md5: 605225b71402d12f4bf0324b0cc1db97 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + purls: [] + size: 1728594 + timestamp: 1755852570331 - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda sha256: d04c4a6c11daa72c4a0242602e1d00c03291ef66ca2d7cd0e171088411d57710 md5: 49c36fcad2e9af6b91e91f2ce5be8ebd @@ -3201,6 +5319,7 @@ packages: - libstdcxx >=13 license: BSD-3-Clause license_family: BSD + purls: [] size: 119654 timestamp: 1726600001928 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda @@ -3211,8 +5330,27 @@ packages: - libcxx >=17 license: BSD-3-Clause license_family: BSD + purls: [] size: 82090 timestamp: 1726600145480 +- conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda + sha256: aac402a8298f0c0cc528664249170372ef6b37ac39fdc92b40601a6aed1e32ff + md5: 3bf7b9fd5a7136126e0234db4b87c8b6 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + purls: [] + size: 77248 + timestamp: 1712692454246 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + sha256: 843b3f364ff844137e37d5c0a181f11f6d51adcedd216f019d074e5aa5d7e09c + md5: 95fa1486c77505330c20f7202492b913 + license: MIT + license_family: MIT + purls: [] + size: 71613 + timestamp: 1712692611426 - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 md5: 7c14f3706e099f8fcd47af2d494616cc @@ -3267,6 +5405,7 @@ packages: - libstdcxx-ng >=12 license: BSD-3-Clause license_family: BSD + purls: [] size: 143452 timestamp: 1718284177264 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda @@ -3278,6 +5417,7 @@ packages: - libcxx >=16 license: BSD-3-Clause license_family: BSD + purls: [] size: 112215 timestamp: 1718284365403 - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-h5888daf_0.conda @@ -3292,6 +5432,18 @@ packages: purls: [] size: 98419 timestamp: 1750079957535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c + md5: 2cd94587f3a401ae05e03a6caf09539d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 99596 + timestamp: 1755102025473 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.14-h286801f_0.conda sha256: e1c431b66b0a632e8fcc2b886cccde4eb5ec5eb8a3d84e89b7639d603c174646 md5: 64d15e1dfe86fa13cf0d519d1074dcd9 @@ -3303,6 +5455,18 @@ packages: purls: [] size: 81566 timestamp: 1750080158744 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda + sha256: 5f1714b07252f885a62521b625898326ade6ca25fbc20727cfe9a88f68a54bfd + md5: b785694dd3ec77a011ccf0c24725382b + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 96336 + timestamp: 1755102441729 - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-he0c23c2_0.conda sha256: bcbcece7719f2a14ede6bfead8f5fdbb65ed102d47769c817b375e4e9d43be39 md5: 692bc31c646f7e221af07ccc924e1ae4 @@ -3424,6 +5588,26 @@ packages: license_family: MIT size: 235335 timestamp: 1771658408666 +- pypi: git+https://github.com/jnnr/gregor.git?rev=fix-memory-explosion#383e3f03d028ade6695560d9fe1d211d735d3789 + name: gregor + version: 0.0.3.dev0 + requires_dist: + - pandas>=1.2 + - numpy + - matplotlib + - geopandas + - dask + - xarray + - rasterio + - rioxarray + - rasterstats + - click + - mkdocs-material ; extra == 'dev' + - mkdocstrings[python] ; extra == 'dev' + - mkdocs-jupyter ; extra == 'dev' + - mkdocstrings-python ; extra == 'dev' + - pytest ; extra == 'dev' + requires_python: '>=3.8,<4' - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h0c6a113_5.conda sha256: d36263cbcbce34ec463ce92bd72efa198b55d987959eab6210cc256a0e79573b md5: 67d00e9cfe751cfe581726c5eff7c184 @@ -3538,6 +5722,20 @@ packages: - pkg:pypi/h2?source=hash-mapping size: 53888 timestamp: 1738578623567 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + depends: + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/h2?source=hash-mapping + size: 95967 + timestamp: 1756364871835 - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.2.1-h3beb420_0.conda sha256: 5bd0f3674808862838d6e2efc0b3075e561c34309c5c2f4c976f7f1f57c91112 md5: 0e6e192d4b3d95708ad192d957cf3163 @@ -3559,6 +5757,26 @@ packages: purls: [] size: 1730226 timestamp: 1747091044218 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda + sha256: 6bd8b22beb7d40562b2889dc68232c589ff0d11a5ad3addd41a8570d11f039d9 + md5: b8690f53007e9b5ee2c2178dd4ac778c + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglib >=2.86.1,<3.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 2411408 + timestamp: 1762372726141 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-11.2.1-hab40de2_0.conda sha256: 244e4071229aa3b824dd2a9814c0e8b4c2b40dfb28914ec2247bf27c5c681584 md5: 12f4520f618ff6e398a2c8e0bed1e580 @@ -3600,6 +5818,26 @@ packages: purls: [] size: 1126103 timestamp: 1747093237683 +- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.2.0-h5f2951f_0.conda + sha256: db73714c7f7e0c47b3b9db9302a83f2deb6f8d6081716d35710ef3c6756af6c3 + md5: e798ef748fc564e42f381d3d276850f0 + depends: + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT + purls: [] + size: 1138900 + timestamp: 1762373626704 - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_2.tar.bz2 sha256: 336f29ceea9594f15cc8ec4c45fdc29e10796573c697ee0d57ebb7edd7e92043 md5: bbf6f174dcd3254e19a2f5d2295ce808 @@ -3708,6 +5946,17 @@ packages: - pkg:pypi/idna?source=hash-mapping size: 49765 timestamp: 1733211921194 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + md5: 53abe63df7e10a6ba605dc5f9f961d36 + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/idna?source=hash-mapping + size: 50721 + timestamp: 1760286526795 - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h66e93f0_1.conda sha256: 5405a85a45eedc3079ec719188ece89983d490b636025ef94590f55525f0509e md5: 1ae66d7a2792aa9f3beaeb4c67c71bbd @@ -3764,6 +6013,19 @@ packages: - pkg:pypi/importlib-metadata?source=hash-mapping size: 34641 timestamp: 1747934053147 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 + md5: 080594bf4493e6bae2607e65390c520a + depends: + - python >=3.10 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=compressed-mapping + size: 34387 + timestamp: 1773931568510 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 md5: c85c76dc67d75619a92f51dfbce06992 @@ -3884,6 +6146,50 @@ packages: - pkg:pypi/ipykernel?source=hash-mapping size: 119568 timestamp: 1719845667420 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda + sha256: a0d3e4c8e4d7b3801377a03de32951f68d77dd1bfe25082c7915f4e6b0aaa463 + md5: 3734e3b6618ea6e04ad08678d8ed7a45 + depends: + - __win + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.14.0 + - python >=3.12 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - colorama >=0.4.4 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython?source=compressed-mapping + size: 648954 + timestamp: 1774610078420 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + sha256: 932044bd893f7adce6c9b384b96a72fd3804cc381e76789398c2fae900f21df7 + md5: b293210beb192c3024683bf6a998a0b8 + depends: + - __unix + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.14.0 + - python >=3.12 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - pexpect >4.6 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython?source=hash-mapping + size: 649967 + timestamp: 1774609994657 - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyh6be1c34_0.conda sha256: 8fb441c9f4b50e38b6059e8984e49208a4e2a4ec4e41b543ebaa894f8261d4c9 md5: b551e25e4fb27ccb51aff2c5dcf178f4 @@ -3957,6 +6263,19 @@ packages: - pkg:pypi/jedi?source=hash-mapping size: 843646 timestamp: 1733300981994 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d + depends: + - markupsafe >=2.0 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jinja2?source=compressed-mapping + size: 120685 + timestamp: 1764517220861 - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda sha256: f1ac18b11637ddadc05642e8185a851c7fab5998c6f5470d716812fae943b2af md5: 446bd6c8cb26050d528881df495ce646 @@ -3969,6 +6288,39 @@ packages: - pkg:pypi/jinja2?source=compressed-mapping size: 112714 timestamp: 1741263433881 +- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda + sha256: 301539229d7be6420c084490b8145583291123f0ce6b92f56be5948a2c83a379 + md5: 615de2a4d97af50c350e5cf160149e77 + depends: + - python >=3.10 + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/joblib?source=hash-mapping + size: 226448 + timestamp: 1765794135253 +- conda: https://conda.anaconda.org/conda-forge/linux-64/json-c-0.18-h6688a6e_0.conda + sha256: 09e706cb388d3ea977fabcee8e28384bdaad8ce1fc49340df5f868a2bd95a7da + md5: 38f5dbc9ac808e31c00650f7be1db93f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 82709 + timestamp: 1726487116178 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + sha256: 73179a1cd0b45c09d4f631cb359d9e755e6e573c5d908df42006728e0bf8297c + md5: 94f14ef6157687c30feb44e1abecd577 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 73715 + timestamp: 1726487214495 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda sha256: 304955757d1fedbe344af43b12b5467cca072f83cce6109361ba942e186b3993 md5: cb60ae9cf02b9fcb8004dec4089e5691 @@ -4102,8 +6454,69 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 license: LGPL-2.1-or-later + purls: [] size: 134088 timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py312h0a2e395_0.conda + sha256: eec7654c2d68f06590862c6e845cc70987b6d6559222b6f0e619dea4268f5dd5 + md5: cd74a9525dc74bbbf93cf8aa2fa9eb5b + depends: + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/kiwisolver?source=hash-mapping + size: 77120 + timestamp: 1773067050308 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py312h3093aea_0.conda + sha256: 8de440f0e33ab6895e81f2c47c51e59d177349a832087a0367e8e259c97f4833 + md5: 58261af35f0d33fd28e2257b208a1be0 + depends: + - python + - __osx >=11.0 + - libcxx >=19 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/kiwisolver?source=hash-mapping + size: 68490 + timestamp: 1773067215781 +- conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py312h78d62e6_0.conda + sha256: 5942bd7ae7b1d68906a00681e733b41ac8577ca7ac8da7523eb514d698b6e1f2 + md5: 4ff6f76c2c16c85806ee7533768f5e64 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/kiwisolver?source=compressed-mapping + size: 73357 + timestamp: 1773067062006 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1370023 + timestamp: 1719463201255 - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda sha256: 3e307628ca3527448dd1cb14ad7bb9d04d1d28c7d4c5f97ba196ae984571dd25 md5: fb53fb07ce46a575c5d004bbc96032c2 @@ -4130,6 +6543,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 1160828 timestamp: 1769770119811 - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda @@ -4145,6 +6559,45 @@ packages: purls: [] size: 712034 timestamp: 1719463874284 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda + sha256: 836ec4b895352110335b9fdcfa83a8dcdbe6c5fb7c06c4929130600caea91c0a + md5: 6f2e2c8f58160147c4d1c6f4c14cbac4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: MIT + license_family: MIT + purls: [] + size: 249959 + timestamp: 1768184673131 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda + sha256: d768da024ab74a4b30642401877fa914a68bdc238667f16b1ec2e0e98b2451a6 + md5: 6631a7bd2335bb9699b1dbc234b19784 + depends: + - __osx >=11.0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: MIT + license_family: MIT + purls: [] + size: 211756 + timestamp: 1768184994800 +- conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.18-hf2c6c5f_0.conda + sha256: 7eeb18c5c86db146b62da66d9e8b0e753a52987f9134a494309588bbeceddf28 + md5: b6c68d6b829b044cd17a41e0a8a23ca1 + depends: + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 522238 + timestamp: 1768184858107 - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1423503_1.conda sha256: 1a620f27d79217c1295049ba214c2f80372062fd251b569e9873d4a953d27554 md5: 0be7c6e070c19105f966d3758448d018 @@ -4157,6 +6610,19 @@ packages: purls: [] size: 676044 timestamp: 1752032747103 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c + md5: 18335a698559cdbcd86150a48bf54ba6 + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-64 2.45.1 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 728002 + timestamp: 1774197446916 - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda sha256: 412381a43d5ff9bbed82cd52a0bbca5b90623f62e41007c9c42d3870c60945ff md5: 9344155d33912347b37f0ae6c410a835 @@ -4169,6 +6635,18 @@ packages: purls: [] size: 264243 timestamp: 1745264221534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 + md5: a752488c68f2e7c456bcbd8f16eec275 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 261513 + timestamp: 1773113328888 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda sha256: 12361697f8ffc9968907d1a7b5830e34c670e4a59b638117a2cdfed8f63a38f8 md5: a74332d9b60b62905e3d30709df08bf1 @@ -4180,6 +6658,17 @@ packages: purls: [] size: 188306 timestamp: 1745264362794 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.1.0-h1eee2c3_0.conda + sha256: 66e5ffd301a44da696f3efc2f25d6d94f42a9adc0db06c44ad753ab844148c51 + md5: 095e5749868adab9cae42d4b460e5443 + depends: + - __osx >=11.0 + - libcxx >=19 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 164222 + timestamp: 1773114244984 - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h6470a55_1.conda sha256: 868a3dff758cc676fa1286d3f36c3e0101cca56730f7be531ab84dc91ec58e9d md5: c1b81da6d29a14b542da14a36c9fbf3f @@ -4192,6 +6681,18 @@ packages: purls: [] size: 164701 timestamp: 1745264384716 +- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + sha256: 45df58fca800b552b17c3914cc9ab0d55a82c5172d72b5c44a59c710c06c5473 + md5: 54b231d595bc1ff9bff668dd443ee012 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 172395 + timestamp: 1773113455582 - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239 md5: 6f7b4302263347698fd24565fbf11310 @@ -4204,6 +6705,7 @@ packages: - abseil-cpp =20260107.1 license: Apache-2.0 license_family: Apache + purls: [] size: 1384817 timestamp: 1770863194876 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda @@ -4217,6 +6719,7 @@ packages: - libabseil-static =20260107.1=cxx17* license: Apache-2.0 license_family: Apache + purls: [] size: 1229639 timestamp: 1770863511331 - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20260107.1-cxx17_h0eb2380_0.conda @@ -4231,6 +6734,7 @@ packages: - abseil-cpp =20260107.1 license: Apache-2.0 license_family: Apache + purls: [] size: 1884784 timestamp: 1770863303486 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.5-gpl_hc2c16d8_100.conda @@ -4252,6 +6756,26 @@ packages: license_family: BSD size: 886102 timestamp: 1767630453053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.6-gpl_hc2c16d8_100.conda + sha256: 69ea8da58658ad26cb64fb0bfccd8a3250339811f0b57c6b8a742e5e51bacf70 + md5: 981d372c31a23e1aa9965d4e74d085d5 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.5,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 887139 + timestamp: 1773243188979 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.5-gpl_h6fbacd7_100.conda sha256: 7f19d9b16ec4383c3e307e5137d394defcc8e2ba1e036ec1c9bd47374f4213aa md5: cea06a42883e807bcca32abdd122d1e7 @@ -4271,6 +6795,26 @@ packages: license_family: BSD size: 791357 timestamp: 1767631176024 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.6-gpl_h6fbacd7_100.conda + sha256: 57fcc5cb6203cb0e119f46be708c8b2cf2bae47dc7580e5b4e76bd4b4c6d164a + md5: 4133c0cef1c6a25426b35f790e006648 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.2,<6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.5,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 791560 + timestamp: 1773243648871 - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.1-gpl_h1ca5a36_100.conda sha256: 7efe65c7ab7056f1a84d5f234584e60ba3cc55b487ba4065a29d23aacb4c5ef6 md5: d8f4c086758bbf52b30750550cd38b1a @@ -4291,6 +6835,68 @@ packages: purls: [] size: 1098688 timestamp: 1749386269743 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.6-gpl_he24518a_100.conda + sha256: 0cc7f963d689fcadc0f7e83eb1f538ea73543af92e2b988d552a3d12cceb56e6 + md5: c76cc84cfafa74e43d8951db29983ebb + depends: + - bzip2 >=1.0.8,<2.0a0 + - liblzma >=5.8.2,<6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.5,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 1106665 + timestamp: 1773243755298 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-19.0.1-h3c191e6_45_cpu.conda + build_number: 45 + sha256: 26a010858a803bca78d1033c4fd081ea19794b07e0a9dcd8bd41487b09a9a381 + md5: 2e0758098ffc166631a5a1796bd2cf4e + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libgcc >=14 + - libgoogle-cloud >=2.39.0,<2.40.0a0 + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libstdcxx >=14 + - libutf8proc >=2.11.3,<2.12.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.2,<2.2.3.0a0 + - re2 + - snappy >=1.2.2,<1.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 9192957 + timestamp: 1771617915831 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.1-ha7f89c6_9_cpu.conda build_number: 9 sha256: 227150d746680ddb0c1e8c346647d62f3e6b6fc43c22f87a330c616c9ef68d9d @@ -4328,6 +6934,46 @@ packages: license_family: APACHE size: 6492912 timestamp: 1774232411616 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-19.0.1-h96c63c9_45_cpu.conda + build_number: 45 + sha256: 7907d58e8fbb1b54fb048820e489afdb4d3427dd276cefd2d9287865e2304065 + md5: 410af088b23b731b2c2e3ab6e98e3f02 + depends: + - __osx >=11.0 + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libcxx >=19 + - libgoogle-cloud >=2.39.0,<2.40.0a0 + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libutf8proc >=2.11.3,<2.12.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.2,<2.2.3.0a0 + - re2 + - snappy >=1.2.2,<1.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 5545611 + timestamp: 1771615865220 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.1-h2124f06_9_cpu.conda build_number: 9 sha256: f83971e3ac14af1bac795ea10cfbec05b61be727706add6afa687c73ce8549b5 @@ -4364,6 +7010,43 @@ packages: license_family: APACHE size: 4249863 timestamp: 1774231755880 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-19.0.1-hd086c85_45_cpu.conda + build_number: 45 + sha256: 634bac7300c6de1f507e5f9a6a3dd5123a3232f4458db45a14223eb1a4d65e1d + md5: 36c70cfe998767a1d607fb0ea193d7dd + depends: + - aws-crt-cpp >=0.37.2,<0.37.3.0a0 + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgoogle-cloud >=2.39.0,<2.40.0a0 + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libre2-11 >=2025.11.5 + - libutf8proc >=2.11.3,<2.12.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.2,<2.2.3.0a0 + - re2 + - snappy >=1.2.2,<1.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 5439898 + timestamp: 1771619570622 - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.1-h96192e2_3_cpu.conda build_number: 3 sha256: cde1ee32b6d5f168c1d3897b853919fb78da8292c8c7078dc4e2f2e526fa5207 @@ -4401,6 +7084,20 @@ packages: license_family: APACHE size: 4245615 timestamp: 1772108063322 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-19.0.1-h635bf11_45_cpu.conda + build_number: 45 + sha256: 39ec489e5a7bc547e3b32a9924ab4bce8d5bd412e745c9ab763b5d962aa82588 + md5: 67ff07f7e1cbbc7d52c7366af27b0206 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 19.0.1 h3c191e6_45_cpu + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 674315 + timestamp: 1771618002273 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.1-h635bf11_9_cpu.conda build_number: 9 sha256: 42fb618f2402d14e96987d82f36453793ee7bae07c8dfa7fee54491bf1d163d9 @@ -4415,6 +7112,23 @@ packages: license_family: APACHE size: 609325 timestamp: 1774232640179 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-19.0.1-h0f28eaf_45_cpu.conda + build_number: 45 + sha256: b1191e7d52159e0b8bb8eee6ab75332157523c62079623454c2746b7e11d6b9a + md5: 024b24db000bac33f097d346413553d6 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 19.0.1 h96c63c9_45_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 516716 + timestamp: 1771615991427 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.1-hee8fe31_9_cpu.conda build_number: 9 sha256: 807b643446069dcdac76cc9a034d5d6dddc26c28dd6d489bb7470e8444abf7be @@ -4432,6 +7146,20 @@ packages: license_family: APACHE size: 537445 timestamp: 1774232143744 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-19.0.1-h7d8d6a5_45_cpu.conda + build_number: 45 + sha256: 1911e13cd4ff3270d163f2cd0f1dd3997bc22db6da923b5fa13cdaff1b5616a6 + md5: 580214eef7fdd1f6ad7c708442e7d921 + depends: + - libarrow 19.0.1 hd086c85_45_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 466704 + timestamp: 1771619683098 - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.1-h7d8d6a5_3_cpu.conda build_number: 3 sha256: 6ed74d6e849ba1254cd9c86fdb20e9d30210df55695d14a977c6cc21b0d2707e @@ -4497,6 +7225,22 @@ packages: license_family: APACHE size: 1769195 timestamp: 1772108171084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-19.0.1-h635bf11_45_cpu.conda + build_number: 45 + sha256: ce150fcfebfe022b05b10952ebf1004a839f0f529cb6ebb41b82eca59079e040 + md5: 4b9d2600f4e1db3df182e04047835ddd + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 19.0.1 h3c191e6_45_cpu + - libarrow-acero 19.0.1 h635bf11_45_cpu + - libgcc >=14 + - libparquet 19.0.1 h7376487_45_cpu + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 644141 + timestamp: 1771618157024 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.1-h635bf11_9_cpu.conda build_number: 9 sha256: cc3fb77d53f7e2db2cd35ffc1371d677d9e13682b7964e196cab533b319a85ea @@ -4513,6 +7257,25 @@ packages: license_family: APACHE size: 607738 timestamp: 1774232745741 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-19.0.1-h0f28eaf_45_cpu.conda + build_number: 45 + sha256: 095007481ccfa1daae158e577a0afaab3016fc3b55ac61dc349b4f4d88f98b8b + md5: 9ae1f0a190dcbb5d7215a98cc87831c7 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 19.0.1 h96c63c9_45_cpu + - libarrow-acero 19.0.1 h0f28eaf_45_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libparquet 19.0.1 hdcf9336_45_cpu + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 519430 + timestamp: 1771616205340 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.1-hee8fe31_9_cpu.conda build_number: 9 sha256: 42672a9adaadb8da15566e24cf2de35d1d05cc3db72413affdfdc12985ac92a0 @@ -4532,6 +7295,22 @@ packages: license_family: APACHE size: 536818 timestamp: 1774232323846 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-19.0.1-h7d8d6a5_45_cpu.conda + build_number: 45 + sha256: 31d6c7a3a5bbe38eb1307b52b096cfa5a142ad05cf27d8c2c037366bdcf57159 + md5: da86ae3282c6cf7e58143e1dc9ee8202 + depends: + - libarrow 19.0.1 hd086c85_45_cpu + - libarrow-acero 19.0.1 h7d8d6a5_45_cpu + - libparquet 19.0.1 h7051d1f_45_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 458304 + timestamp: 1771619882947 - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.1-h7d8d6a5_3_cpu.conda build_number: 3 sha256: f161fd6f62098993de2a9d91f2c83922ed6c7a1aa533acd120b023500ed79395 @@ -4548,6 +7327,25 @@ packages: license_family: APACHE size: 445584 timestamp: 1772108509299 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-19.0.1-hb4dd7c2_45_cpu.conda + build_number: 45 + sha256: ad994cc214bf320cbfa39b67861fecd56155fe1bad7eee51b518447a4af2e450 + md5: efd6efb3704ab31803693c57240e7c10 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 19.0.1 h3c191e6_45_cpu + - libarrow-acero 19.0.1 h635bf11_45_cpu + - libarrow-dataset 19.0.1 h635bf11_45_cpu + - libgcc >=14 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 536650 + timestamp: 1771618262350 - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.1-hb4dd7c2_9_cpu.conda build_number: 9 sha256: 037f4befc2df64d9c7903eb7508c1495772f17b7a318b5a888aaddb6307b48a0 @@ -4566,6 +7364,24 @@ packages: license_family: APACHE size: 518730 timestamp: 1774232781245 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-19.0.1-h8746646_45_cpu.conda + build_number: 45 + sha256: 70d825db6753a70c9a152bcd988507da7e6376370959bcb6baccdbfd2ea60f2a + md5: ec67e4afed4cc5084a8dc35a8282817c + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 19.0.1 h96c63c9_45_cpu + - libarrow-acero 19.0.1 h0f28eaf_45_cpu + - libarrow-dataset 19.0.1 h0f28eaf_45_cpu + - libcxx >=19 + - libprotobuf >=6.33.5,<6.33.6.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 456233 + timestamp: 1771616449980 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.1-h05be00f_9_cpu.conda build_number: 9 sha256: 37b12a2d645c267e0f289ccf5890d0df1cad5f300fabe116a2cca5608f89181d @@ -4583,14 +7399,33 @@ packages: license_family: APACHE size: 472305 timestamp: 1774232406953 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.1-h524e9bd_3_cpu.conda - build_number: 3 - sha256: 07a166e3118401f0cec12777aa0b8ffbc2121e0a15de1fda49a9f0d324e5441f - md5: ecc48673b077bce0278580bdff5a8608 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-19.0.1-h524e9bd_45_cpu.conda + build_number: 45 + sha256: 8bd230ab76d0ce9e697478679a466cbefa074ffea11dd8e43aee6bebe8bf0512 + md5: 0924853744178f11b3c607025694339a depends: - libabseil * cxx17* - libabseil >=20260107.1,<20260108.0a0 - - libarrow 23.0.1 h96192e2_3_cpu + - libarrow 19.0.1 hd086c85_45_cpu + - libarrow-acero 19.0.1 h7d8d6a5_45_cpu + - libarrow-dataset 19.0.1 h7d8d6a5_45_cpu + - libprotobuf >=6.33.5,<6.33.6.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 375843 + timestamp: 1771620023885 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.1-h524e9bd_3_cpu.conda + build_number: 3 + sha256: 07a166e3118401f0cec12777aa0b8ffbc2121e0a15de1fda49a9f0d324e5441f + md5: ecc48673b077bce0278580bdff5a8608 + depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 23.0.1 h96192e2_3_cpu - libarrow-acero 23.0.1 h7d8d6a5_3_cpu - libarrow-dataset 23.0.1 h7d8d6a5_3_cpu - libprotobuf >=6.33.5,<6.33.6.0a0 @@ -4601,6 +7436,24 @@ packages: license_family: APACHE size: 378879 timestamp: 1772108554879 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda + build_number: 6 + sha256: 7bfe936dbb5db04820cf300a9cc1f5ee8d5302fc896c2d66e30f1ee2f20fbfd6 + md5: 6d6d225559bfa6e2f3c90ee9c03d4e2e + depends: + - libopenblas >=0.3.32,<0.3.33.0a0 + - libopenblas >=0.3.32,<1.0a0 + constrains: + - blas 2.306 openblas + - liblapack 3.11.0 6*_openblas + - liblapacke 3.11.0 6*_openblas + - libcblas 3.11.0 6*_openblas + - mkl <2026 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18621 + timestamp: 1774503034895 - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-32_h59b9bed_openblas.conda build_number: 32 sha256: 1540bf739feb446ff71163923e7f044e867d163c50b605c8b421c55ff39aa338 @@ -4619,6 +7472,24 @@ packages: purls: [] size: 17330 timestamp: 1750388798074 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-6_h51639a9_openblas.conda + build_number: 6 + sha256: 979227fc03628925037ab2dfda008eb7b5592644d9c2c21dd285cefe8c42553d + md5: e551103471911260488a02155cef9c94 + depends: + - libopenblas >=0.3.32,<0.3.33.0a0 + - libopenblas >=0.3.32,<1.0a0 + constrains: + - liblapacke 3.11.0 6*_openblas + - liblapack 3.11.0 6*_openblas + - blas 2.306 openblas + - libcblas 3.11.0 6*_openblas + - mkl <2026 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18859 + timestamp: 1774504387211 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-32_h10e41b3_openblas.conda build_number: 32 sha256: 2775472dd81d43dc20804b484028560bfecd5ab4779e39f1fb95684da3ff2029 @@ -4637,6 +7508,22 @@ packages: purls: [] size: 17520 timestamp: 1750388963178 +- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda + build_number: 6 + sha256: 10c8054f007adca8c780cd8bb9335fa5d990f0494b825158d3157983a25b1ea2 + md5: 95543eec964b4a4a7ca3c4c9be481aa1 + depends: + - mkl >=2025.3.1,<2026.0a0 + constrains: + - blas 2.306 mkl + - liblapacke 3.11.0 6*_mkl + - liblapack 3.11.0 6*_mkl + - libcblas 3.11.0 6*_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 68082 + timestamp: 1774503684284 - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-32_h641d27c_mkl.conda build_number: 32 sha256: 809d78b096e70fed7ebb17c867dd5dde2f9f4ed8564967a6e10c65b3513b0c31 @@ -4661,6 +7548,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 79965 timestamp: 1764017188531 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda @@ -4670,6 +7558,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 79443 timestamp: 1764017945924 - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda @@ -4681,6 +7570,7 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 82042 timestamp: 1764017799966 - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda @@ -4692,6 +7582,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 34632 timestamp: 1764017199083 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda @@ -4702,6 +7593,7 @@ packages: - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT + purls: [] size: 29452 timestamp: 1764017979099 - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda @@ -4714,6 +7606,7 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 34449 timestamp: 1764017851337 - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda @@ -4725,6 +7618,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 298378 timestamp: 1764017210931 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda @@ -4735,6 +7629,7 @@ packages: - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT + purls: [] size: 290754 timestamp: 1764018009077 - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda @@ -4747,8 +7642,24 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 252903 timestamp: 1764017901735 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda + build_number: 6 + sha256: 57edafa7796f6fa3ebbd5367692dd4c7f552be42109c2dd1a7c89b55089bf374 + md5: 36ae340a916635b97ac8a0655ace2a35 + depends: + - libblas 3.11.0 6_h4a7cf45_openblas + constrains: + - blas 2.306 openblas + - liblapack 3.11.0 6*_openblas + - liblapacke 3.11.0 6*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18622 + timestamp: 1774503050205 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-32_he106b2a_openblas.conda build_number: 32 sha256: 92a001fc181e6abe4f4a672b81d9413ca2f22609f8a95327dfcc6eee593ffeb9 @@ -4764,6 +7675,21 @@ packages: purls: [] size: 17308 timestamp: 1750388809353 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-6_hb0561ab_openblas.conda + build_number: 6 + sha256: 2e6b3e9b1ab672133b70fc6730e42290e952793f132cb5e72eee22835463eba0 + md5: 805c6d31c5621fd75e53dfcf21fb243a + depends: + - libblas 3.11.0 6_h51639a9_openblas + constrains: + - liblapacke 3.11.0 6*_openblas + - blas 2.306 openblas + - liblapack 3.11.0 6*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18863 + timestamp: 1774504433388 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-32_hb3479ef_openblas.conda build_number: 32 sha256: 25d46ace14c3ac45d4aa18b5f7a0d3d30cec422297e900f8b97a66334232061c @@ -4779,6 +7705,21 @@ packages: purls: [] size: 17485 timestamp: 1750388970626 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda + build_number: 6 + sha256: 02b2a2225f4899c6aaa1dc723e06b3f7a4903d2129988f91fc1527409b07b0a5 + md5: 9e4bf521c07f4d423cba9296b7927e3c + depends: + - libblas 3.11.0 6_hf2e6a31_mkl + constrains: + - blas 2.306 mkl + - liblapacke 3.11.0 6*_mkl + - liblapack 3.11.0 6*_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 68221 + timestamp: 1774503722413 - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-32_h5e41251_mkl.conda build_number: 32 sha256: d0f81145ae795592f3f3b5d7ff641c1019a99d6b308bfaf2a4cc5ba24b067bb0 @@ -4794,6 +7735,46 @@ packages: purls: [] size: 3735392 timestamp: 1750389122586 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.8-default_h99862b1_3.conda + sha256: de512ce246faec2d4f7766774769921a85b5aa053a74abd2f8c97ad50b393aac + md5: 24a2802074d26aecfdbc9b3f1d8168d1 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.8,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 21066639 + timestamp: 1770190428756 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.0-default_h746c552_0.conda + sha256: 4a9dd814492a129f2ff40cd4ab0b942232c9e3c6dbc0d0aaf861f1f65e99cc7d + md5: 140459a7413d8f6884eb68205ce39a0d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm22 >=22.1.0,<22.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 12817500 + timestamp: 1772101411287 +- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.0-default_ha2db4b5_0.conda + sha256: c8e34362c6bf7305ef50f0de4e16292cd97e31650ab6465282eeeac62f0a05c4 + md5: 7ad437870ea7d487e1b0e663503b6b1d + depends: + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 30584641 + timestamp: 1772353741135 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 md5: c965a5aa0d5c1c37ffc62dff36e28400 @@ -4802,6 +7783,7 @@ packages: - libstdcxx-ng >=9.4.0 license: BSD-3-Clause license_family: BSD + purls: [] size: 20440 timestamp: 1633683576494 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 @@ -4811,6 +7793,7 @@ packages: - libcxx >=11.1.0 license: BSD-3-Clause license_family: BSD + purls: [] size: 18765 timestamp: 1633683992603 - conda: https://conda.anaconda.org/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2 @@ -4821,6 +7804,7 @@ packages: - vs2015_runtime >=14.16.27012 license: BSD-3-Clause license_family: BSD + purls: [] size: 25694 timestamp: 1633684287072 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda @@ -4836,6 +7820,37 @@ packages: license_family: Apache size: 4518030 timestamp: 1770902209173 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + sha256: cb83980c57e311783ee831832eb2c20ecb41e7dee6e86e8b70b8cef0e43eab55 + md5: d4a250da4737ee127fb1fa6452a9002e + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 4523621 + timestamp: 1749905341688 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.18.0-h4e3cde8_0.conda + sha256: 5454709d9fb6e9c3dd6423bc284fa7835a7823bfa8323f6e8786cdd555101fab + md5: 0a5563efed19ca4461cf927419b6eb73 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - libnghttp2 >=1.67.0,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + purls: [] + size: 462942 + timestamp: 1767821743793 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.19.0-hcf29cc6_0.conda sha256: a0390fd0536ebcd2244e243f5f00ab8e76ab62ed9aa214cd54470fe7496620f4 md5: d50608c443a30c341c24277d28290f76 @@ -4865,6 +7880,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: curl license_family: MIT + purls: [] size: 399616 timestamp: 1773219210246 - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h43ecb02_0.conda @@ -4879,6 +7895,7 @@ packages: - vc14_runtime >=14.44.35208 license: curl license_family: MIT + purls: [] size: 383261 timestamp: 1767821977053 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda @@ -4888,8 +7905,20 @@ packages: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache + purls: [] size: 568094 timestamp: 1774439202359 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda + sha256: 8420748ea1cc5f18ecc5068b4f24c7a023cc9b20971c99c824ba10641fb95ddf + md5: 64f0c503da58ec25ebd359e4d990afa8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 72573 + timestamp: 1747040452262 - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 md5: 6c77a605a7a689d17d4819c0f8ac9a00 @@ -4900,6 +7929,16 @@ packages: license_family: MIT size: 73490 timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.24-h5773f1b_0.conda + sha256: 417d52b19c679e1881cce3f01cad3a2d542098fa2d6df5485aac40f01aede4d1 + md5: 3baf58a5a87e7c2f4d243ce2f8f2fe5c + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 54790 + timestamp: 1747040549847 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-hc11a715_0.conda sha256: 5e0b6961be3304a5f027a8c00bd0967fc46ae162cffb7553ff45c70f51b8314c md5: a6130c709305cd9828b4e1bd9ba0000c @@ -4921,6 +7960,18 @@ packages: purls: [] size: 156292 timestamp: 1747040812624 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + sha256: c076a213bd3676cc1ef22eeff91588826273513ccc6040d9bea68bccdc849501 + md5: 9314bc5a1fe7d1044dc9dfd3ef400535 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpciaccess >=0.18,<0.19.0a0 + license: MIT + license_family: MIT + purls: [] + size: 310785 + timestamp: 1757212153962 - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 md5: c277e0a4d549b03ac1e9d6cbbe3d017b @@ -4946,6 +7997,16 @@ packages: purls: [] size: 107691 timestamp: 1738479560845 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 + md5: c151d5eb730e9b7480e6d48c0fc44048 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 44840 + timestamp: 1731330973553 - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 md5: 172bf1cd1ff8629f2b1179945ed45055 @@ -4972,6 +8033,7 @@ packages: - openssl >=3.1.1,<4.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 427426 timestamp: 1685725977222 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda @@ -4981,6 +8043,7 @@ packages: - openssl >=3.1.1,<4.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 368167 timestamp: 1685726248899 - conda: https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda @@ -4993,6 +8056,7 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD + purls: [] size: 410555 timestamp: 1685726568668 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda @@ -5008,6 +8072,19 @@ packages: purls: [] size: 74811 timestamp: 1752719572741 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda + sha256: e8c2b57f6aacabdf2f1b0924bd4831ce5071ba080baa4a9e8c0d720588b6794c + md5: 49f570f3bc4c874a06ea69b7225753af + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.7.5.* + license: MIT + license_family: MIT + purls: [] + size: 76624 + timestamp: 1774719175983 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda sha256: 8fbb17a56f51e7113ed511c5787e0dec0d4b10ef9df921c4fd1cccca0458f648 md5: b1ca5f21335782f71a8bd69bdc093f67 @@ -5020,6 +8097,18 @@ packages: purls: [] size: 65971 timestamp: 1752719657566 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda + sha256: 06780dec91dd25770c8cf01e158e1062fbf7c576b1406427475ce69a8af75b7e + md5: a32123f93e168eaa4080d87b0fb5da8a + depends: + - __osx >=11.0 + constrains: + - expat 2.7.5.* + license: MIT + license_family: MIT + purls: [] + size: 68192 + timestamp: 1774719211725 - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.1-hac47afa_0.conda sha256: 8432ca842bdf8073ccecf016ccc9140c41c7114dc4ec77ca754551c01f780845 md5: 3608ffde260281fa641e70d6e34b1b96 @@ -5034,6 +8123,20 @@ packages: purls: [] size: 141322 timestamp: 1752719767870 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda + sha256: 6850c3a4d5dc215b86f58518cfb8752998533d6569b08da8df1da72e7c68e571 + md5: bfb43f52f13b7c56e7677aa7a8efdf0c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - expat 2.7.5.* + license: MIT + license_family: MIT + purls: [] + size: 70609 + timestamp: 1774719377850 - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab md5: ede4673863426c0883c0063d853bbd85 @@ -5045,6 +8148,17 @@ packages: purls: [] size: 57433 timestamp: 1743434498161 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 + md5: a360c33a5abe61c07959e449fa1453eb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 58592 + timestamp: 1769456073053 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60 md5: c215a60c2935b517dcda8cad4705734d @@ -5055,6 +8169,16 @@ packages: purls: [] size: 39839 timestamp: 1743434670405 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda + sha256: 6686a26466a527585e6a75cc2a242bf4a3d97d6d6c86424a441677917f28bec7 + md5: 43c04d9cb46ef176bb2a4c77e324d599 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 40979 + timestamp: 1769456747661 - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda sha256: d3b0b8812eab553d3464bbd68204f007f1ebadf96ce30eb0cbc5159f72e353f5 md5: 85d8fa5e55ed8f93f874b3b23ed54ec6 @@ -5067,6 +8191,18 @@ packages: purls: [] size: 44978 timestamp: 1743435053850 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 + md5: 720b39f5ec0610457b725eb3f396219a + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 45831 + timestamp: 1769456418774 - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.13.3-ha770c72_1.conda sha256: 7be9b3dac469fe3c6146ff24398b685804dfc7a1de37607b84abd076f57cc115 md5: 51f5be229d83ecd401fb369ab96ae669 @@ -5076,6 +8212,15 @@ packages: purls: [] size: 7693 timestamp: 1745369988361 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 + md5: e289f3d17880e44b633ba911d57a321b + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 8049 + timestamp: 1774298163029 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.13.3-hce30654_1.conda sha256: 1f8c16703fe333cdc2639f7cdaf677ac2120843453222944a7c6c85ec342903c md5: d06282e08e55b752627a707d58779b8f @@ -5085,6 +8230,15 @@ packages: purls: [] size: 7813 timestamp: 1745370144506 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_0.conda + sha256: a047a2f238362a37d484f9620e8cba29f513a933cd9eb68571ad4b270d6f8f3e + md5: f73b109d49568d5d1dda43bb147ae37f + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 8091 + timestamp: 1774298691258 - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.13.3-h57928b3_1.conda sha256: e5bc7d0a8d11b7b234da4fcd9d78f297f7dec3fec8bd06108fd3ac7b2722e32e md5: 410ba2c8e7bdb278dfbb5d40220e39d2 @@ -5094,6 +8248,15 @@ packages: purls: [] size: 8159 timestamp: 1745370227235 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_0.conda + sha256: 71fae9ae05563ceec70adceb7bc66faa326a81a6590a8aac8a5074019070a2d8 + md5: d9f70dd06674e26b6d5a657ddd22b568 + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 8379 + timestamp: 1774300468411 - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.13.3-h48d6fc4_1.conda sha256: 7759bd5c31efe5fbc36a7a1f8ca5244c2eabdbeb8fc1bee4b99cf989f35c7d81 md5: 3c255be50a506c50765a93a6644f32fe @@ -5108,6 +8271,20 @@ packages: purls: [] size: 380134 timestamp: 1745369987697 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d + md5: fb16b4b69e3f1dcfe79d80db8fd0c55d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 384575 + timestamp: 1774298162622 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.13.3-h1d14073_1.conda sha256: c278df049b1a071841aa0aca140a338d087ea594e07dcf8a871d2cfe0e330e75 md5: b163d446c55872ef60530231879908b9 @@ -5121,6 +8298,19 @@ packages: purls: [] size: 333529 timestamp: 1745370142848 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_0.conda + sha256: ff764608e1f2839e95e2cf9b243681475f8778c36af7a42b3f78f476fdbb1dd3 + md5: e98ba7b5f09a5f450eca083d5a1c4649 + depends: + - __osx >=11.0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 338085 + timestamp: 1774298689297 - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.13.3-h0b5ce68_1.conda sha256: 61308653e7758ff36f80a60d598054168a1389ddfbac46d7864c415fafe18e69 md5: a84b7d1a13060a9372bea961a8131dbc @@ -5136,6 +8326,21 @@ packages: purls: [] size: 337007 timestamp: 1745370226578 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_0.conda + sha256: 497e9ab7c80f579e1b2850523740d6a543b8020f6b43be6bd6e83b3a6fb7fb32 + md5: f9975a0177ee6cdda10c86d1db1186b0 + depends: + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 340180 + timestamp: 1774300467879 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_3.conda sha256: 59a87161212abe8acc57d318b0cc8636eb834cdfdfddcf1f588b5493644b39a3 md5: 9e60c55e725c20d23125a5f0dd69af5d @@ -5150,6 +8355,33 @@ packages: purls: [] size: 824921 timestamp: 1750808216066 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda + sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 + md5: 0aa00f03f9e39fb9876085dee11a85d4 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==15.2.0=*_18 + - libgomp 15.2.0 he0feb66_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 1041788 + timestamp: 1771378212382 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_18.conda + sha256: 1d9c4f35586adb71bcd23e31b68b7f3e4c4ab89914c26bed5f2859290be5560e + md5: 92df6107310b1fff92c4cc84f0de247b + depends: + - _openmp_mutex + constrains: + - libgcc-ng ==15.2.0=*_18 + - libgomp 15.2.0 18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 401974 + timestamp: 1771378877463 - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.1.0-h1383e82_3.conda sha256: 05978c4e8c826dd3b727884e009a19ceee75b0a530c18fc14f0ba56b090f2ea3 md5: d8314be93c803e2e2b430f6389d6ce6a @@ -5165,6 +8397,21 @@ packages: purls: [] size: 669602 timestamp: 1750808309041 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda + sha256: da2c96563c76b8c601746f03e03ac75d2b4640fa2ee017cb23d6c9fc31f1b2c6 + md5: b085746891cca3bd2704a450a7b4b5ce + depends: + - _openmp_mutex >=4.5 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - libgcc-ng ==15.2.0=*_18 + - msys2-conda-epoch <0.0a0 + - libgomp 15.2.0 h8ee18e1_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 820022 + timestamp: 1771382190160 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_3.conda sha256: b0b0a5ee6ce645a09578fc1cb70c180723346f8a45fdb6d23b3520591c6d6996 md5: e66f2b8ad787e7beb0f846e4bd7e8493 @@ -5175,6 +8422,16 @@ packages: purls: [] size: 29033 timestamp: 1750808224854 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda + sha256: e318a711400f536c81123e753d4c797a821021fb38970cebfb3f454126016893 + md5: d5e96b1ed75ca01906b3d2469b4ce493 + depends: + - libgcc 15.2.0 he0feb66_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27526 + timestamp: 1771378224552 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda sha256: 19e5be91445db119152217e8e8eec4fd0499d854acc7d8062044fb55a70971cd md5: 68fc66282364981589ef36868b1a7c78 @@ -5240,26 +8497,173 @@ packages: purls: [] size: 165838 timestamp: 1737548342665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_3.conda - sha256: 77dd1f1efd327e6991e87f09c7c97c4ae1cfbe59d9485c41d339d6391ac9c183 - md5: bfbca721fd33188ef923dfe9ba172f29 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.11.4-hed660dc_1.conda + sha256: 745fa9e7a64da05313989b566610c4f5e8931e321d45ff6ee791561a493d5935 + md5: 78bc52bc221d5b2e94a2d7e40d11941d depends: - - libgfortran5 15.1.0 hcea5267_3 + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.1,<3.9.0a0 + - libcurl >=8.14.1,<9.0a0 + - libdeflate >=1.24,<1.25.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libjxl >=0.11,<0.12.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - muparser >=2.3.5,<2.4.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - proj >=9.6.2,<9.7.0a0 + - xerces-c >=3.2.5,<3.3.0a0 + - zstd >=1.5.7,<1.6.0a0 constrains: - - libgfortran-ng ==15.1.0=*_3 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libgdal 3.11.4.* + license: MIT + license_family: MIT purls: [] - size: 29057 - timestamp: 1750808257258 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-14_2_0_h6c33f7e_103.conda - sha256: 8628746a8ecd311f1c0d14bb4f527c18686251538f7164982ccbe3b772de58b5 - md5: 044a210bc1d5b8367857755665157413 + size: 12055249 + timestamp: 1758000666849 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.11.4-h6521a42_1.conda + sha256: 06060e9e97762ec6814695a2e698e97bdbff0fd591108c26446840484213de37 + md5: 70d66d7349972cb474d7825e15204ffd depends: - - libgfortran5 14.2.0 h6c33f7e_103 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.1,<3.9.0a0 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - libdeflate >=1.24,<1.25.0a0 + - libexpat >=2.7.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libjxl >=0.11,<0.12.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - muparser >=2.3.5,<2.4.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - proj >=9.6.2,<9.7.0a0 + - xerces-c >=3.2.5,<3.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.11.4.* + license: MIT + license_family: MIT + purls: [] + size: 9246570 + timestamp: 1758002344716 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.11.4-h64ee9a2_1.conda + sha256: 534327cf79c1b37485010a3888fd1d03124a93f8dbdaf2c419ce901ab8f329f2 + md5: 28e52ad11f0afdd42edc5adbff351757 + depends: + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.1,<3.9.0a0 + - libcurl >=8.14.1,<9.0a0 + - libdeflate >=1.24,<1.25.0a0 + - libexpat >=2.7.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libjxl >=0.11,<0.12.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - muparser >=2.3.5,<2.4.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - proj >=9.6.2,<9.7.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - xerces-c >=3.2.5,<3.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.11.4.* + license: MIT + license_family: MIT + purls: [] + size: 9218350 + timestamp: 1758002290586 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_3.conda + sha256: 77dd1f1efd327e6991e87f09c7c97c4ae1cfbe59d9485c41d339d6391ac9c183 + md5: bfbca721fd33188ef923dfe9ba172f29 + depends: + - libgfortran5 15.1.0 hcea5267_3 + constrains: + - libgfortran-ng ==15.1.0=*_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 29057 + timestamp: 1750808257258 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda + sha256: d2c9fad338fd85e4487424865da8e74006ab2e2475bd788f624d7a39b2a72aee + md5: 9063115da5bc35fdc3e1002e69b9ef6e + depends: + - libgfortran5 15.2.0 h68bc16d_18 + constrains: + - libgfortran-ng ==15.2.0=*_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27523 + timestamp: 1771378269450 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_18.conda + sha256: 63f89087c3f0c8621c5c89ecceec1e56e5e1c84f65fc9c5feca33a07c570a836 + md5: 26981599908ed2205366e8fc91b37fc6 + depends: + - libgfortran5 15.2.0 hdae7583_18 + constrains: + - libgfortran-ng ==15.2.0=*_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 138973 + timestamp: 1771379054939 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-14_2_0_h6c33f7e_103.conda + sha256: 8628746a8ecd311f1c0d14bb4f527c18686251538f7164982ccbe3b772de58b5 + md5: 044a210bc1d5b8367857755665157413 + depends: + - libgfortran5 14.2.0 h6c33f7e_103 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] size: 156291 timestamp: 1743863532821 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_3.conda @@ -5275,6 +8679,19 @@ packages: purls: [] size: 1565627 timestamp: 1750808236464 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda + sha256: 539b57cf50ec85509a94ba9949b7e30717839e4d694bc94f30d41c9d34de2d12 + md5: 646855f357199a12f02a87382d429b75 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 2482475 + timestamp: 1771378241063 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-14.2.0-h6c33f7e_103.conda sha256: 8599453990bd3a449013f5fa3d72302f1c68f0680622d419c3f751ff49f01f17 md5: 69806c1e957069f1d515830dcc9f6cbb @@ -5287,6 +8704,29 @@ packages: purls: [] size: 806566 timestamp: 1743863491726 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_18.conda + sha256: 91033978ba25e6a60fb86843cf7e1f7dc8ad513f9689f991c9ddabfaf0361e7e + md5: c4a6f7989cffb0544bfd9207b6789971 + depends: + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 598634 + timestamp: 1771378886363 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d + md5: 928b8be80851f5d8ffb016f9c81dae7a + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - libglx 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 134712 + timestamp: 1731330998354 - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda sha256: 33336bd55981be938f4823db74291e1323454491623de0be61ecbe6cf3a4619c md5: b8e4c93f4ab70c3b6f6499299627dbdc @@ -5302,6 +8742,22 @@ packages: license: LGPL-2.1-or-later size: 3978602 timestamp: 1757403291664 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.2-h32235b2_0.conda + sha256: 918306d6ed211ab483e4e19368e5748b265d24e75c88a1c66a61f72b9fa30b29 + md5: 0cb0612bc9cb30c62baf41f9d600611b + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.46,<10.47.0a0 + constrains: + - glib 2.86.2 *_0 + license: LGPL-2.1-or-later + purls: [] + size: 3974801 + timestamp: 1763672326986 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.86.0-h1bb475b_0.conda sha256: 92d17f998e14218810493c9190c8721bf7f7f006bfc5c00dbba1cede83c02f1a md5: 9e065148e6013b7d7cae64ed01ab7081 @@ -5335,6 +8791,44 @@ packages: purls: [] size: 3771466 timestamp: 1747837394297 +- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.2-hd9c3897_0.conda + sha256: 60fa317d11a6f5d4bc76be5ff89b9ac608171a00b206c688e3cc4f65c73b1bc4 + md5: fbd144e60009d93f129f0014a76512d3 + depends: + - libffi >=3.5.2,<3.6.0a0 + - libiconv >=1.18,<2.0a0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.46,<10.47.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - glib 2.86.2 *_0 + license: LGPL-2.1-or-later + purls: [] + size: 3793396 + timestamp: 1763672587079 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 + md5: 434ca7e50e40f4918ab701e3facd59a0 + depends: + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + purls: [] + size: 132463 + timestamp: 1731330968309 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 + md5: c8013e438185f33b13814c5c488acd5c + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - xorg-libx11 >=1.8.10,<2.0a0 + license: LicenseRef-libglvnd + purls: [] + size: 75504 + timestamp: 1731330988898 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_3.conda sha256: 43710ab4de0cd7ff8467abff8d11e7bb0e36569df04ce1c099d48601818f11d1 md5: 3cd1a7238a0dd3d0860fdefc496cc854 @@ -5345,6 +8839,16 @@ packages: purls: [] size: 447068 timestamp: 1750808138400 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda + sha256: 21337ab58e5e0649d869ab168d4e609b033509de22521de1bfed0c031bfc5110 + md5: 239c5e9546c38a1e884d69effcf4c882 + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 603262 + timestamp: 1771378117851 - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.1.0-h1383e82_3.conda sha256: 2e6e286c817d2274b109c448f63d804dcc85610c5abf97e183440aa2d84b8c72 md5: 94545e52b3d21a7ab89961f7bda3da0d @@ -5357,6 +8861,38 @@ packages: purls: [] size: 535456 timestamp: 1750808243424 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda + sha256: 94981bc2e42374c737750895c6fdcfc43b7126c4fc788cad0ecc7281745931da + md5: 939fb173e2a4d4e980ef689e99b35223 + depends: + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 663864 + timestamp: 1771382118742 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-h9d11ab5_1.conda + sha256: 44f8e354431d2336475465ec8d71df7f3dea1397e70df0718c2ac75137976c63 + md5: cd398eb8374fb626a710b7a35b7ffa98 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgcc >=14 + - libgrpc >=1.78.0,<1.79.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - openssl >=3.5.5,<4.0a0 + constrains: + - libgoogle-cloud 2.39.0 *_1 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1307253 + timestamp: 1770461665848 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-3.3.0-h25dbb67_1.conda sha256: 17ea802cef3942b0a850b8e33b03fc575f79734f3c829cdd6a4e56e2dae60791 md5: b2baa4ce6a9d9472aaa602b88f8d40ac @@ -5377,6 +8913,25 @@ packages: license_family: Apache size: 2558266 timestamp: 1774212240265 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-h2f60c08_1.conda + sha256: ccb95b546725d408b5229b7e269139a417594ff33bf30642d4a5b98642c22988 + md5: bc5d2c9015fe3b52b669287130a328af + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - libgrpc >=1.78.0,<1.79.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - openssl >=3.5.5,<4.0a0 + constrains: + - libgoogle-cloud 2.39.0 *_1 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 881725 + timestamp: 1770461059435 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-3.3.0-he41eb1d_1.conda sha256: 632d23ea1c00b2f439d8846d4925646dafa6c0380ecc3353d8a9afa878829539 md5: b4e0ec13e232efea554bb5155dc1ef32 @@ -5412,8 +8967,27 @@ packages: - libgoogle-cloud 2.39.0 *_1 license: Apache-2.0 license_family: Apache + purls: [] size: 15218 timestamp: 1770462467767 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_1.conda + sha256: 2cce946ebf40b0b5fdb3e82c8a9f90ca28cd62abd281b20713067cc69a75c441 + md5: 384a1730ea66a72692e377cb45996d61 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=14 + - libgoogle-cloud 2.39.0 h9d11ab5_1 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + purls: [] + size: 803453 + timestamp: 1770461856392 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-3.3.0-hdbdcf42_1.conda sha256: 838b6798962039e7f1ed97be85c3a36ceacfd4611bdf76e7cc0b6cd8741edf57 md5: da94b149c8eea6ceef10d9e408dcfeb3 @@ -5431,6 +9005,23 @@ packages: license_family: Apache size: 779217 timestamp: 1774212426084 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-ha114238_1.conda + sha256: 82a760b31a498a24c0e58d91d0c3fee9c204bddd626b29072cd24c89ec5423b8 + md5: 8f1142ab8e0284a7a612d777a405a0f6 + depends: + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=19 + - libgoogle-cloud 2.39.0 h2f60c08_1 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + purls: [] + size: 524772 + timestamp: 1770461461389 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-3.3.0-ha114238_1.conda sha256: 024e3e099a478b3b89e0dee32348a55c6a1237fe66aa730172ae642f63ffc093 md5: 7fb98178c58d71ba046a451968d8579f @@ -5461,6 +9052,7 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + purls: [] size: 15235 timestamp: 1770462799291 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.78.1-h1d1128b_0.conda @@ -5482,6 +9074,7 @@ packages: - grpc-cpp =1.78.1 license: Apache-2.0 license_family: APACHE + purls: [] size: 7021360 timestamp: 1774020290672 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.78.1-h3e3f78d_0.conda @@ -5502,6 +9095,7 @@ packages: - grpc-cpp =1.78.1 license: Apache-2.0 license_family: APACHE + purls: [] size: 4820402 timestamp: 1774012715207 - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda @@ -5523,6 +9117,7 @@ packages: - grpc-cpp =1.78.1 license: Apache-2.0 license_family: APACHE + purls: [] size: 11546515 timestamp: 1774013326223 - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.11.2-default_h88281d1_1002.conda @@ -5539,6 +9134,63 @@ packages: purls: [] size: 2393251 timestamp: 1752674125463 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda + sha256: 8cdf11333a81085468d9aa536ebb155abd74adc293576f6013fc0c85a7a90da3 + md5: 3b576f6860f838f950c570f4433b086e + depends: + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - libxml2 + - libxml2-16 >=2.14.6 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2411241 + timestamp: 1765104337762 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + sha256: 2bdd1cdd677b119abc5e83069bec2e28fe6bfb21ebaea3cd07acee67f38ea274 + md5: c2a0c1d0120520e979685034e0b79859 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 1448617 + timestamp: 1758894401402 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.3.0-h48b13b8_1.conda + sha256: 837fe775ba8ec9f08655bb924e28dba390d917423350333a75fd5eeac0776174 + md5: 6375717f5fcd756de929a06d0e40fab0 + depends: + - __osx >=11.0 + - libcxx >=19 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 581579 + timestamp: 1758894814983 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + sha256: c722a04f065656b988a46dee87303ff0bf037179c50e2e76704b693def7f9a96 + md5: f4649d4b6bf40d616eda57d6255d2333 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 536186 + timestamp: 1758894243956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + md5: 915f5995e94f60e9a4826e0b0920ee88 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-only + purls: [] + size: 790176 + timestamp: 1754908768807 - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h4ce23a2_1.conda sha256: 18a4afe14f731bfb9cf388659994263904d20111e42f841e9eea1bb6f91f4ab4 md5: e796ff8ddc598affdf7c173d6145f087 @@ -5549,6 +9201,15 @@ packages: purls: [] size: 713084 timestamp: 1740128065462 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda + sha256: de0336e800b2af9a40bdd694b03870ac4a848161b35c8a2325704f123f185f03 + md5: 4d5a7445f0b25b6a3ddbb56e790f5251 + depends: + - __osx >=11.0 + license: LGPL-2.1-only + purls: [] + size: 750379 + timestamp: 1754909073836 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-hfe07756_1.conda sha256: d30780d24bf3a30b4f116fca74dedb4199b34d500fe6c52cced5f8cc1e926f03 md5: 450e6bdc0c7d986acf7b8443dce87111 @@ -5569,6 +9230,17 @@ packages: purls: [] size: 638142 timestamp: 1740128665984 +- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 + md5: 64571d1dd6cdcfa25d0664a5950fdaa2 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + purls: [] + size: 696926 + timestamp: 1754909290005 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda sha256: 99d2cebcd8f84961b86784451b010f5f0a795ed1c08f1e7c76fbb3c22abf021a md5: 5103f6a6b210a3912faf8d7db516918c @@ -5600,6 +9272,18 @@ packages: purls: [] size: 628947 timestamp: 1745268527144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 + md5: 8397539e3a0bbd1695584fb4f927485a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 633710 + timestamp: 1762094827865 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.0-h5505292_0.conda sha256: 78df2574fa6aa5b6f5fc367c03192f8ddf8e27dc23641468d54e031ff560b9d4 md5: 01caa4fbcaf0e6b08b3aef1151e91745 @@ -5611,6 +9295,17 @@ packages: purls: [] size: 553624 timestamp: 1745268405713 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.2-hc919400_0.conda + sha256: 6c061c56058bb10374daaef50e81b39cf43e8aee21f0037022c0c39c4f31872f + md5: f0695fbecf1006f27f4395d64bd0c4b8 + depends: + - __osx >=11.0 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 551197 + timestamp: 1762095054358 - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.0-h2466b09_0.conda sha256: e61b0adef3028b51251124e43eb6edf724c67c0f6736f1628b02511480ac354e md5: 7c51d27540389de84852daa1cdb9c63c @@ -5624,21 +9319,152 @@ packages: purls: [] size: 838154 timestamp: 1745268437136 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-32_h7ac8fdf_openblas.conda - build_number: 32 - sha256: 5b55a30ed1b3f8195dad9020fe1c6d0f514829bfaaf0cf5e393e93682af009f2 - md5: 6c3f04ccb6c578138e9f9899da0bd714 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda + sha256: 795e2d4feb2f7fc4a2c6e921871575feb32b8082b5760726791f080d1e2c2597 + md5: 56a686f92ac0273c0f6af58858a3f013 depends: - - libblas 3.9.0 32_h59b9bed_openblas + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - libcblas 3.9.0 32*_openblas - - blas 2.132 openblas - - liblapacke 3.9.0 32*_openblas + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 841783 + timestamp: 1762094814336 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda + sha256: 0c2399cef02953b719afe6591223fb11d287d5a108ef8bb9a02dd509a0f738d7 + md5: 1df8c1b1d6665642107883685db6cf37 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libhwy >=1.3.0,<1.4.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 17316 + size: 1883476 + timestamp: 1770801977654 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h913acd8_0.conda + sha256: 44fdcae8ab3958f371565198f82d0748714dccc8a897ca202e54e18bde096f0d + md5: bec365333f77af833f8e46f6de96e2a2 + depends: + - libcxx >=19 + - __osx >=11.0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libhwy >=1.3.0,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1032335 + timestamp: 1770802059749 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda + sha256: 525c5382eb32a43e7baf45b452079bf23daf8f8bf19fee7c8dafa8c731ada8bd + md5: 869e71fcf2135212c51a96f7f7dbd00d + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libhwy >=1.3.0,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1317916 + timestamp: 1770801992810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1022.conda + sha256: aa55f5779d6bc7bf24dc8257f053d5a0708b5910b6bc6ea1396f15febf812c98 + md5: 00f0f4a9d2eb174015931b1a234d61ca + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 411495 + timestamp: 1761132836798 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hc33e383_1022.conda + sha256: ef32d85c00aefa510e9f36f19609dddc93359c1abbe58c2a695a927d2537721f + md5: a91a7afac6eec20a07d9435bf1372bc1 + depends: + - __osx >=11.0 + - libcxx >=19 + - libexpat >=2.7.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 284064 + timestamp: 1761133563691 +- conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1022.conda + sha256: eacacca7d9b0bcfca16d44365af2437509d58ea6730efdd2a7468963edf849a1 + md5: 6800434a33b644e46c28ffa3ec18afb1 + depends: + - libexpat >=2.7.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - uriparser >=0.9.8,<1.0a0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1659205 + timestamp: 1761132867821 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda + build_number: 6 + sha256: 371f517eb7010b21c6cc882c7606daccebb943307cb9a3bf2c70456a5c024f7d + md5: 881d801569b201c2e753f03c84b85e15 + depends: + - libblas 3.11.0 6_h4a7cf45_openblas + constrains: + - blas 2.306 openblas + - liblapacke 3.11.0 6*_openblas + - libcblas 3.11.0 6*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18624 + timestamp: 1774503065378 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-32_h7ac8fdf_openblas.conda + build_number: 32 + sha256: 5b55a30ed1b3f8195dad9020fe1c6d0f514829bfaaf0cf5e393e93682af009f2 + md5: 6c3f04ccb6c578138e9f9899da0bd714 + depends: + - libblas 3.9.0 32_h59b9bed_openblas + constrains: + - libcblas 3.9.0 32*_openblas + - blas 2.132 openblas + - liblapacke 3.9.0 32*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 17316 timestamp: 1750388820745 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-6_hd9741b5_openblas.conda + build_number: 6 + sha256: 21606b7346810559e259807497b86f438950cf19e71838e44ebaf4bd2b35b549 + md5: ee33d2d05a7c5ea1f67653b37eb74db1 + depends: + - libblas 3.11.0 6_h51639a9_openblas + constrains: + - liblapacke 3.11.0 6*_openblas + - libcblas 3.11.0 6*_openblas + - blas 2.306 openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18863 + timestamp: 1774504467905 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-32_hc9a63f6_openblas.conda build_number: 32 sha256: 5e1cfa3581d1dec6b07a75084ff6cfa4b4465c646c6884a71c78a28543f83b61 @@ -5654,6 +9480,21 @@ packages: purls: [] size: 17507 timestamp: 1750388977861 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda + build_number: 6 + sha256: 2e6ac39e456ba13ec8f02fc0787b8a22c89780e24bd5556eaf642177463ffb36 + md5: 7e9cdaf6f302142bc363bbab3b5e7074 + depends: + - libblas 3.11.0 6_hf2e6a31_mkl + constrains: + - blas 2.306 mkl + - liblapacke 3.11.0 6*_mkl + - libcblas 3.11.0 6*_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 80571 + timestamp: 1774503757128 - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-32_h1aa476e_mkl.conda build_number: 32 sha256: 5629e592137114b24bfdea71e1c4b6bee11379631409ed91dfe2f83b32a8b298 @@ -5699,6 +9540,38 @@ packages: purls: [] size: 17549 timestamp: 1750388985274 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.8-hf7376ad_0.conda + sha256: 91bb4f5be1601b40b4995911d785e29387970f0b3c80f33f7f9028f95335399f + md5: 1a2708a460884d6861425b7f9a7bef99 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 44333366 + timestamp: 1765959132513 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.2-hf7376ad_0.conda + sha256: eda0013a9979d142f520747e3621749c493f5fbc8f9d13a52ac7a2b699338e7c + md5: 7147b0792a803cd5b9929ce5d48f7818 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - 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: 44217146 + timestamp: 1774480335347 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 md5: 1a580f7796c7bf6393fddb8bbbde58dc @@ -5711,6 +9584,18 @@ packages: purls: [] size: 112894 timestamp: 1749230047870 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + sha256: 755c55ebab181d678c12e49cced893598f2bab22d582fbbf4d8b83c18be207eb + md5: c7c83eecbb72d88b940c249af56c8b17 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - xz 5.8.2.* + license: 0BSD + purls: [] + size: 113207 + timestamp: 1768752626120 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda sha256: 0cb92a9e026e7bd4842f410a5c5c665c89b2eb97794ffddba519a626b8ce7285 md5: d6df911d4564d77c4374b02552cb17d1 @@ -5722,6 +9607,17 @@ packages: purls: [] size: 92286 timestamp: 1749230283517 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda + sha256: 7bfc7ffb2d6a9629357a70d4eadeadb6f88fa26ebc28f606b1c1e5e5ed99dc7e + md5: 009f0d956d7bfb00de86901d16e486c7 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.2.* + license: 0BSD + purls: [] + size: 92242 + timestamp: 1768752982486 - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda sha256: 55764956eb9179b98de7cc0e55696f2eff8f7b83fc3ebff5e696ca358bca28cc md5: c15148b2e18da456f5108ccb5e411446 @@ -5735,6 +9631,19 @@ packages: purls: [] size: 104935 timestamp: 1749230611612 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + sha256: f25bf293f550c8ed2e0c7145eb404324611cfccff37660869d97abf526eb957c + md5: ba0bfd4c3cf73f299ffe46ff0eaeb8e3 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - xz 5.8.2.* + license: 0BSD + purls: [] + size: 106169 + timestamp: 1768752763559 - conda: https://conda.anaconda.org/conda-forge/linux-64/libmamba-2.3.0-h44402ff_1.conda sha256: 817bee7c075ee99d73af95756f11a3ace3b84dc9994dadf09140b99f84bf19a7 md5: 6826be8fbb2b2105ef738dfb5d8db373 @@ -5892,6 +9801,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 663344 timestamp: 1773854035739 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda @@ -5907,6 +9817,7 @@ packages: - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT + purls: [] size: 576526 timestamp: 1773854624224 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda @@ -5920,6 +9831,16 @@ packages: purls: [] size: 33731 timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 33418 + timestamp: 1734670021371 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_0.conda sha256: 225f4cfdb06b3b73f870ad86f00f49a9ca0a8a2d2afe59440521fafe2b6c23d9 md5: 323dc8f259224d13078aaf7ce96c3efe @@ -5935,6 +9856,21 @@ packages: purls: [] size: 5916819 timestamp: 1750379877844 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda + sha256: 6dc30b28f32737a1c52dada10c8f3a41bc9e021854215efca04a7f00487d09d9 + md5: 89d61bc91d3f39fda0ca10fcd3c68594 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + constrains: + - openblas >=0.3.32,<0.3.33.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 5928890 + timestamp: 1774471724897 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.30-openmp_hf332438_0.conda sha256: 501c8c64f1a6e6b671e49835e6c483bc25f0e7147f3eb4bbb19a4c3673dcaf28 md5: 5d7dbaa423b4c253c476c24784286e4b @@ -5950,6 +9886,51 @@ packages: purls: [] size: 4163399 timestamp: 1750378829050 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.32-openmp_he657e61_0.conda + sha256: 713e453bde3531c22a660577e59bf91ef578dcdfd5edb1253a399fa23514949a + md5: 3a1111a4b6626abebe8b978bb5a323bf + depends: + - __osx >=11.0 + - libgfortran + - libgfortran5 >=14.3.0 + - llvm-openmp >=19.1.7 + constrains: + - openblas >=0.3.32,<0.3.33.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4308797 + timestamp: 1774472508546 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + sha256: 215086c108d80349e96051ad14131b751d17af3ed2cb5a34edd62fa89bfe8ead + md5: 7df50d44d4a14d6c31a2c54f2cd92157 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 50757 + timestamp: 1731330993524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-h9692893_2.conda + sha256: 59663bdd97ac6d8ce8a83bf80e18c14c4ac5ca536ef1a2de4bc9080a45dc501a + md5: c3de1cc30bc11edbc98aed352381449d + depends: + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgrpc >=1.78.0,<1.79.0a0 + - libopentelemetry-cpp-headers 1.21.0 ha770c72_2 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - nlohmann_json + - prometheus-cpp >=1.3.0,<1.4.0a0 + constrains: + - cpp-opentelemetry-sdk =1.21.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 896630 + timestamp: 1770452315175 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.26.0-h9692893_0.conda sha256: 5126b75e7733de31e261aa275c0a1fd38b25fdfff23e7d7056ebd6ca76d11532 md5: c360be6f9e0947b64427603e91f9651f @@ -5969,6 +9950,26 @@ packages: license_family: APACHE size: 934274 timestamp: 1774001192674 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-h08d5cc3_2.conda + sha256: e09ebfabe397f03a408697cd7464b4c8277b93fe776a51fc33c4be17825abd1a + md5: dcbf0ebf1dbbffe6ced8bf48562f5c6f + depends: + - libabseil * cxx17* + - libabseil >=20260107.0,<20260108.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgrpc >=1.78.0,<1.79.0a0 + - libopentelemetry-cpp-headers 1.21.0 hce30654_2 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - nlohmann_json + - prometheus-cpp >=1.3.0,<1.4.0a0 + constrains: + - cpp-opentelemetry-sdk =1.21.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 560169 + timestamp: 1770452742811 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.26.0-h08d5cc3_0.conda sha256: 47ce35cc7b903d546cc8ac0a09abfab7aea955147dc18bb2c9eaa5dc7c378a37 md5: 8cb49289db7cfec1dea3bf7e0e4f0c8d @@ -5988,6 +9989,14 @@ packages: license_family: APACHE size: 579527 timestamp: 1774001294901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_2.conda + sha256: b2b2122f214c417851ba280009aea040e546665c43de737690c2610055a255e3 + md5: 253e70376a8ae74f9d99d44712b3e087 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 362214 + timestamp: 1770452273268 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.26.0-ha770c72_0.conda sha256: fec2ba047f7000c213ca7ace5452435197c79fbcb1690da7ce85e99312245984 md5: cb93c6e226a7bed5557601846555153d @@ -5995,6 +10004,14 @@ packages: license_family: APACHE size: 396403 timestamp: 1774001149705 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_2.conda + sha256: 793fe6c7189290934578ef4bda0f34b529717a00c1676a66a7cfb3425b04abed + md5: d1adb8f085e35aa6335c2a4e6f025fb6 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 364108 + timestamp: 1770452651582 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.26.0-hce30654_0.conda sha256: 17f18bab128650598d2f09ae653ab406b9f049e0692b4519a2cf09a6f1603ee9 md5: efdb13315f1041c7750214a20c1ab162 @@ -6002,6 +10019,22 @@ packages: license_family: APACHE size: 396412 timestamp: 1774001222028 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-19.0.1-h7376487_45_cpu.conda + build_number: 45 + sha256: bf5245385167c9bb819a4bf63f2cf211aff5676b5f3bc7f2ae5e742276705e2e + md5: 1c840aaaee8055c23a1b5d97d0952501 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 19.0.1 h3c191e6_45_cpu + - libgcc >=14 + - libstdcxx >=14 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1274271 + timestamp: 1771618120785 - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.1-h7376487_9_cpu.conda build_number: 9 sha256: 2ab9ac48c43b9800777c05b504337ef93597bf310ac8cff957796cc6776992a2 @@ -6017,6 +10050,25 @@ packages: license_family: APACHE size: 1390169 timestamp: 1774232604005 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-19.0.1-hdcf9336_45_cpu.conda + build_number: 45 + sha256: 2b97d5045c3aac630f7789c2e1a515600a18268d1a4f821f92765a549a641cd5 + md5: dba13ace26cb019978b09b011d0733aa + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libarrow 19.0.1 h96c63c9_45_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 913346 + timestamp: 1771616152709 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.1-h16c0493_9_cpu.conda build_number: 9 sha256: 85fc60c1db0d7908dac20a04300f979c39f3997fd9678eed4e211ffd1d4ddc51 @@ -6035,6 +10087,22 @@ packages: license_family: APACHE size: 1072901 timestamp: 1774232081998 +- conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-19.0.1-h7051d1f_45_cpu.conda + build_number: 45 + sha256: adc5fa8d6135e4bb89613c283e4102d1ebd8d0e1e0664b611858c32cf1473f26 + md5: e3c887cee508d2a652ca9e67a0b65313 + depends: + - libarrow 19.0.1 hd086c85_45_cpu + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 851447 + timestamp: 1771619836851 - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.1-h7051d1f_3_cpu.conda build_number: 3 sha256: 04b6cacec2ba910a9339cd63d8c5f27626bad7c3c86040b5580d20d13c42cc46 @@ -6050,6 +10118,17 @@ packages: license_family: APACHE size: 946568 timestamp: 1772108328374 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + sha256: 0bd91de9b447a2991e666f284ae8c722ffb1d84acb594dbd0c031bd656fa32b2 + md5: 70e3400cbbfa03e96dcde7fc13e38c7b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 28424 + timestamp: 1749901812541 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.50-h943b412_0.conda sha256: c7b212bdd3f9d5450c4bae565ccb9385222bf9bb92458c2a23be36ff1b981389 md5: 51de14db340a848869e69c632b43cca7 @@ -6061,6 +10140,17 @@ packages: purls: [] size: 289215 timestamp: 1751559366724 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.56-h421ea60_0.conda + sha256: 4f9fca3bc21e485ec0b3eb88db108b6cf9ab9a481cdf7d2ac6f9d30350b45ead + md5: 97169784f0775c85683c3d8badcea2c3 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 317540 + timestamp: 1774513272700 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.50-h3783ad8_0.conda sha256: 38d89e4ceae81f24a11129d2f5e8d10acfc12f057b7b4fd5af9043604a689941 md5: f39e4bd5424259d8dfcbdbf0e068558e @@ -6071,6 +10161,16 @@ packages: purls: [] size: 260895 timestamp: 1751559636317 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.56-h132b30e_0.conda + sha256: 3aac73e6c8b2d6dc38f8918c8de3354ed920db00fd9234c000b20fd66323c463 + md5: ce25ae471d213f9dd5edb0fe8e0b102a + depends: + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 289288 + timestamp: 1774513431937 - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.50-h95bef1e_0.conda sha256: 17f3bfb6d852eec200f68a4cfb4ef1d8950b73dfa48931408e3dbdfc89a4848a md5: 2e63db2e13cd6a5e2c08f771253fb8a0 @@ -6083,6 +10183,32 @@ packages: purls: [] size: 352422 timestamp: 1751559786122 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.56-h7351971_0.conda + sha256: 0ab8890b7551bae4fc2a1aada8937789a6205c9ba9f322552a24e97b2d9b33b8 + md5: bedc0fc6a8fb31b8013878ea20c76bae + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 383766 + timestamp: 1774513353959 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.1-h5c52fec_2.conda + sha256: bbab2c3e6f650f2bd1bc84d88e6a20fefa6a401fa445bb4b97c509c1b3a89fa8 + md5: a8ac9a6342569d1714ae1b53ae2fcadb + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - openldap >=2.6.10,<2.7.0a0 + - openssl >=3.5.4,<4.0a0 + license: PostgreSQL + purls: [] + size: 2711480 + timestamp: 1764345810429 - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda sha256: afbf195443269ae10a940372c1d37cda749355d2bd96ef9587a962abd87f2429 md5: 11ac478fa72cf12c214199b8a96523f4 @@ -6095,6 +10221,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 3638698 timestamp: 1769749419271 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.33.5-h4a5acfd_0.conda @@ -6108,6 +10235,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 2713660 timestamp: 1769748299578 - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h61fc761_0.conda @@ -6122,6 +10250,7 @@ packages: - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD + purls: [] size: 7117788 timestamp: 1769749718218 - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h0dc7533_1.conda @@ -6137,6 +10266,7 @@ packages: - re2 2025.11.05.* license: BSD-3-Clause license_family: BSD + purls: [] size: 213122 timestamp: 1768190028309 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h4c27e2a_1.conda @@ -6151,6 +10281,7 @@ packages: - re2 2025.11.05.* license: BSD-3-Clause license_family: BSD + purls: [] size: 165851 timestamp: 1768190225157 - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h04e5de1_1.conda @@ -6166,6 +10297,7 @@ packages: - re2 2025.11.05.* license: BSD-3-Clause license_family: BSD + purls: [] size: 266062 timestamp: 1768190189553 - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda @@ -6199,6 +10331,44 @@ packages: license: LGPL-2.1-or-later size: 2344343 timestamp: 1759328503184 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h96cd706_19.conda + sha256: f584227e141db34f5dde05e8a3a4e59c86860e3b5df7698a646b7fc3486b0e86 + md5: 212a9378a85ad020b8dc94853fdbeb6c + depends: + - __glibc >=2.17,<3.0.a0 + - geos >=3.14.0,<3.14.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 232294 + timestamp: 1755880773417 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-hf7cb3ef_19.conda + sha256: 0c2888826cbeafb4ec626fe18af3958b8524c0c50ab5bd91bce10033e7b8729d + md5: 093cc30c0744bf29a51209fd50543186 + depends: + - __osx >=11.0 + - geos >=3.14.0,<3.14.1.0a0 + - libcxx >=19 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 192168 + timestamp: 1755881132099 +- conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-h5ff11c1_19.conda + sha256: 85980edd2af4adb864231a188c5ff08df5e5ed3b31481e863ddba7a7e0fd705e + md5: 41949b02b89c2f2e08c5bd457295f237 + depends: + - geos >=3.14.0,<3.14.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 404359 + timestamp: 1755880940428 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda sha256: 64e5c80cbce4680a2d25179949739a6def695d72c40ca28f010711764e372d97 md5: 7af961ef4aa2c1136e11dd43ded245ab @@ -6269,9 +10439,81 @@ packages: purls: [] size: 466094 timestamp: 1752581981080 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.2-hee844dc_2.conda - sha256: 62040da9b55f409cd43697eb7391381ffede90b2ea53634a94876c6c867dcd73 - md5: be96b9fdd7b579159df77ece9bb80e48 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-h2eee824_16.conda + sha256: e50915445bf76e4e1390f33ef39a69491534468531607a818224e83d0d2c5c6f + md5: 0704f614584aefd5fdaf56c75b047fdb + depends: + - __glibc >=2.17,<3.0.a0 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - libgcc >=14 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.5 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.2,<9.7.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 3489498 + timestamp: 1757320839353 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-h823fe50_16.conda + sha256: b2d77375da1c8070ebdf2303b7842dc5dad76e4b4fb529d291896875678d3c69 + md5: fe61a194a9d3acb328781cedb10a2edf + depends: + - __osx >=11.0 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - libcxx >=19 + - libiconv >=1.18,<2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libxml2 + - libxml2-16 >=2.14.5 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.2,<9.7.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 2711904 + timestamp: 1757321442980 +- conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h9d118f5_16.conda + sha256: a994ed93ceff228fb328b7cee7188b3fc9ccd6fe56b3daaf15e0e44e916674de + md5: 6a002b30d18cbf9c55b0fc86350e3fdf + depends: + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.0,<3.14.1.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libxml2 + - libxml2-16 >=2.14.5 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.2,<9.7.0a0 + - sqlite + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zlib + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 8488348 + timestamp: 1757321037855 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.2-hee844dc_2.conda + sha256: 62040da9b55f409cd43697eb7391381ffede90b2ea53634a94876c6c867dcd73 + md5: be96b9fdd7b579159df77ece9bb80e48 depends: - __glibc >=2.17,<3.0.a0 - icu >=75.1,<76.0a0 @@ -6281,6 +10523,17 @@ packages: purls: [] size: 935828 timestamp: 1752072043 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-h0c1763c_0.conda + sha256: 1daeb5187efcdbe3bdf2dc66f1161e09cb8dfd01618015d2106feae13cf3390d + md5: a7bda2babcbb004443cb1c0be9a8c353 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: blessing + purls: [] + size: 949843 + timestamp: 1772818873928 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.50.2-hf8de324_2.conda sha256: 02c292e5fb95f8ce408a3c98a846787095639217bd199a264b149dfe08a2ccb3 md5: e0fe6df79600e1db7405ccf29c61d784 @@ -6291,6 +10544,16 @@ packages: purls: [] size: 899248 timestamp: 1752072259470 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1b79a29_0.conda + sha256: 8d8591fbf27e3a23f80a24e582f79d4772d885f69015401f5ed88d0283d943d8 + md5: 9f9e824999ef9090e214b32eea825f6d + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: blessing + purls: [] + size: 914411 + timestamp: 1772819335058 - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.50.2-hf5d6505_2.conda sha256: f12cdfe29c248d6a1c7d11b6fe1a3e0d0563206deb422ddb1b84b909818168d4 md5: 58f810279ac6caec2d996a56236c3254 @@ -6302,6 +10565,17 @@ packages: purls: [] size: 1288312 timestamp: 1752072137328 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda + sha256: 5fccf1e4e4062f8b9a554abf4f9735a98e70f82e2865d0bfdb47b9de94887583 + md5: 8830689d537fda55f990620680934bb1 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + purls: [] + size: 1297302 + timestamp: 1772818899033 - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda sha256: fa39bfd69228a13e553bd24601332b7cfeb30ca11a3ca50bb028108fe90a7661 md5: eecce068c7e4eddeb169591baac20ac4 @@ -6351,6 +10625,19 @@ packages: purls: [] size: 3896407 timestamp: 1750808251302 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda + sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e + md5: 1b08cd684f34175e4514474793d44bcb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 he0feb66_18 + constrains: + - libstdcxx-ng ==15.2.0=*_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 5852330 + timestamp: 1771378262446 - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_3.conda sha256: bbaea1ecf973a7836f92b8ebecc94d3c758414f4de39d2cc6818a3d10cb3216b md5: 57541755b5a51691955012b8e197c06c @@ -6361,6 +10648,16 @@ packages: purls: [] size: 29093 timestamp: 1750808292700 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda + sha256: 3c902ffd673cb3c6ddde624cdb80f870b6c835f8bf28384b0016e7d444dd0145 + md5: 6235adb93d064ecdf3d44faee6f468de + depends: + - libstdcxx 15.2.0 h934c35e_18 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27575 + timestamp: 1771378314494 - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h454ac66_1.conda sha256: 4888b9ea2593c36ca587a5ebe38d0a56a0e6d6a9e4bb7da7d9a326aaaca7c336 md5: 8ed82d90e6b1686f5e98f8b7825a15ef @@ -6373,6 +10670,7 @@ packages: - openssl >=3.5.1,<4.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 424208 timestamp: 1753277183984 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h14a376c_1.conda @@ -6386,6 +10684,7 @@ packages: - openssl >=3.5.1,<4.0a0 license: Apache-2.0 license_family: APACHE + purls: [] size: 323360 timestamp: 1753277264380 - conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h23985f6_1.conda @@ -6400,8 +10699,27 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: APACHE + purls: [] size: 636513 timestamp: 1753277481158 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h8261f1e_0.conda + sha256: ddda0d7ee67e71e904a452010c73e32da416806f5cb9145fb62c322f97e717fb + md5: 72b531694ebe4e8aa6f5745d1015c1b4 + depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.24,<1.25.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + purls: [] + size: 437211 + timestamp: 1758278398952 - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 md5: cd5a90476766d53e901500df9215e927 @@ -6435,6 +10753,23 @@ packages: license: HPND size: 373892 timestamp: 1762022345545 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.1-h7dc4979_0.conda + sha256: 6bc1b601f0d3ee853acd23884a007ac0a0290f3609dabb05a47fc5a0295e2b53 + md5: 2bb9e04e2da869125e2dc334d665f00d + depends: + - __osx >=11.0 + - lerc >=4.0.0,<5.0a0 + - libcxx >=19 + - libdeflate >=1.24,<1.25.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + purls: [] + size: 373640 + timestamp: 1758278641520 - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.0-h05922d8_5.conda sha256: 1bb0b2e7d076fecc2f8147336bc22e7e6f9a4e0505e0e4ab2be1f56023a4a458 md5: 75370aba951b47ec3b5bfe689f1bcf7f @@ -6452,6 +10787,23 @@ packages: purls: [] size: 979074 timestamp: 1747067408877 +- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h550210a_0.conda + sha256: d6cac6596ded0d5bbbc4198d7eb4db88da8c00236ebf5e2c8ad333ccde8965e2 + md5: e23f29747d9d2aa2a39b594c114fac67 + depends: + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.24,<1.25.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + purls: [] + size: 992060 + timestamp: 1758278535260 - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.11.3-hfe17d71_0.conda sha256: ecbf4b7520296ed580498dc66a72508b8a79da5126e1d6dc650a7087171288f9 md5: 1247168fe4a0b8912e3336bccdbf98a5 @@ -6460,6 +10812,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 85969 timestamp: 1768735071295 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda @@ -6469,6 +10822,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 87916 timestamp: 1768735311947 - conda: https://conda.anaconda.org/conda-forge/win-64/libutf8proc-2.11.3-hb980946_0.conda @@ -6480,6 +10834,7 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 89061 timestamp: 1768735187639 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda @@ -6492,6 +10847,47 @@ packages: purls: [] size: 33601 timestamp: 1680112270483 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda + sha256: bc1b08c92626c91500fd9f26f2c797f3eb153b627d53e9c13cd167f1e12b2829 + md5: 38ffe67b78c9d4de527be8315e5ada2c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 40297 + timestamp: 1775052476770 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda + sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b + md5: 31ad065eda3c2d88f8215b1289df9c89 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 199795 + timestamp: 1770077125520 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 + md5: 804880b2674119b84277d6c16b01677d + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 282251 + timestamp: 1770077165680 - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b md5: aea31d2e5b1091feca96fcfe945c3cf9 @@ -6531,6 +10927,18 @@ packages: purls: [] size: 279176 timestamp: 1752159543911 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 + md5: 8a86073cf3b343b87d03f41790d8b4e5 + depends: + - ucrt + constrains: + - pthreads-win32 <0.0a0 + - msys2-conda-epoch <0.0a0 + license: MIT AND BSD-3-Clause-Clear + purls: [] + size: 36621 + timestamp: 1759768399557 - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_9.conda sha256: 373f2973b8a358528b22be5e8d84322c165b4c5577d24d94fd67ad1bb0a0f261 md5: 08bfa5da6e242025304b206d152479ef @@ -6557,6 +10965,19 @@ packages: purls: [] size: 395888 timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxcb-1.17.0-hdb1d25a_0.conda + sha256: bd3816218924b1e43b275863e21a3e13a5db4a6da74cca8e60bc3c213eb62f71 + md5: af523aae2eca6dfa1c8eec693f5b9a79 + depends: + - __osx >=11.0 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + purls: [] + size: 323658 + timestamp: 1727278733917 - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda sha256: 08dec73df0e161c96765468847298a420933a36bc4f09b50e062df8793290737 md5: a69bbf778a462da324489976c84cfc8c @@ -6595,6 +11016,7 @@ packages: - xorg-libxau >=1.0.12,<2.0a0 license: MIT/X11 Derivative license_family: MIT + purls: [] size: 837922 timestamp: 1764794163823 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda @@ -6610,6 +11032,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT + purls: [] size: 45283 timestamp: 1761015644057 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.1-h9329255_0.conda @@ -6624,6 +11047,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT + purls: [] size: 40607 timestamp: 1761016108361 - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.8-h442d1da_0.conda @@ -6640,6 +11064,23 @@ packages: purls: [] size: 1513627 timestamp: 1746634633560 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-ha29bfb0_0.conda + sha256: fb51b91a01eac9ee5e26c67f4e081f09f970c18a3da5231b8172919a1e1b3b6b + md5: 87116b9de9c1825c3fd4ef92c984877b + depends: + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2-16 2.15.1 h06f855e_0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 43042 + timestamp: 1761016261024 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 md5: e7733bc6785ec009e47a224a71917e84 @@ -6654,6 +11095,7 @@ packages: - libxml2 2.15.1 license: MIT license_family: MIT + purls: [] size: 556302 timestamp: 1761015637262 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.1-h0ff4647_0.conda @@ -6669,8 +11111,105 @@ packages: - libxml2 2.15.1 license: MIT license_family: MIT + purls: [] size: 464952 timestamp: 1761016087733 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h06f855e_0.conda + sha256: 3f65ea0f04c7738116e74ca87d6e40f8ba55b3df31ef42b8cb4d78dd96645e90 + md5: 4a5ea6ec2055ab0dfd09fd0c498f834a + depends: + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.1 + license: MIT + license_family: MIT + purls: [] + size: 518616 + timestamp: 1761016240185 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.1-h26afc86_0.conda + sha256: 7a01dde0807d0283ef6babb661cb750f63d7842f489b6e40d0af0f16951edf3e + md5: 1b92b7d1b901bd832f8279ef18cac1f4 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2 2.15.1 h26afc86_0 + - libxml2-16 2.15.1 ha9997c6_0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 79667 + timestamp: 1761015650428 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.1-h9329255_0.conda + sha256: a6b0ccafa8b2c22bc4850f6e0e58b3bd931571f62143b26650d7e3826a275580 + md5: 7d270ae441104772ef25a7adfb8f4e6e + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2 2.15.1 h9329255_0 + - libxml2-16 2.15.1 h0ff4647_0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 79949 + timestamp: 1761016123864 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.1-ha29bfb0_0.conda + sha256: ac4add7375c9ff75bfd036a05d51b272e0fb2317bc38ca81f550238d2c1bc146 + md5: 11767c61201ec4eaeb8555532355fe4f + depends: + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2 2.15.1 ha29bfb0_0 + - libxml2-16 2.15.1 h06f855e_0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 123163 + timestamp: 1761016277112 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + sha256: 0694760a3e62bdc659d90a14ae9c6e132b525a7900e59785b18a08bb52a5d7e5 + md5: 87e6096ec6d542d1c1f8b33245fe8300 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 + license: MIT + license_family: MIT + purls: [] + size: 245434 + timestamp: 1757963724977 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + sha256: 13da38939c2c20e7112d683ab6c9f304bfaf06230a2c6a7cf00359da1a003ec7 + md5: 46034d9d983edc21e84c0b36f1b4ba61 + depends: + - libxml2 + - libxml2-16 >=2.14.6 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 420223 + timestamp: 1757963935611 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 md5: d87ff7921124eccd67248aa483c23fec @@ -6680,6 +11219,7 @@ packages: - zlib 1.3.2 *_2 license: Zlib license_family: Other + purls: [] size: 63629 timestamp: 1774072609062 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda @@ -6691,6 +11231,7 @@ packages: - zlib 1.3.2 *_2 license: Zlib license_family: Other + purls: [] size: 47759 timestamp: 1774072956767 - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda @@ -6707,6 +11248,20 @@ packages: purls: [] size: 55476 timestamp: 1727963768015 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 + md5: dbabbd6234dea34040e631f87676292f + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + purls: [] + size: 58347 + timestamp: 1774072851498 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.8-hbb9b287_0.conda sha256: d731910cd4d084574c6bba0638ac98906c1fd8104a2e844f69813e641cf72305 md5: 6f5b4542c2dd772024d9f7e7b0d5e41a @@ -6719,6 +11274,94 @@ packages: purls: [] size: 283218 timestamp: 1752565794800 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.2-hc7d1edf_0.conda + sha256: d8acb8e790312346a286f7168380ca3ce86d5982fb073df6e0fbec1e51fa47a1 + md5: 9c162044093d8d689836dafe3c27fe06 + depends: + - __osx >=11.0 + constrains: + - intel-openmp <0.0a0 + - openmp 22.1.2|22.1.2.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 285695 + timestamp: 1774733561929 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_0.conda + sha256: fa8bd542624507309cbdfc620bdfe546ed823d418e6ba878977d48da7a0f6212 + md5: 29407a30bd93dc8c11c03ca60249a340 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - intel-openmp <0.0a0 + - openmp 22.1.2|22.1.2.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 348400 + timestamp: 1774733045609 +- conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + sha256: 9afe0b5cfa418e8bdb30d8917c5a6cec10372b037924916f1f85b9f4899a67a6 + md5: 91e27ef3d05cc772ce627e51cff111c4 + depends: + - python >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/locket?source=hash-mapping + size: 8250 + timestamp: 1650660473123 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + sha256: e8ae9141c7afcc95555fca7ff5f91d7a84f094536715211e750569fd4bb2caa4 + md5: a669145a2c834895bdf3fcba1f1e5b9c + depends: + - python + - lz4-c + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - lz4-c >=1.10.0,<1.11.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lz4?source=hash-mapping + size: 44154 + timestamp: 1765026394687 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312h2b25a0d_1.conda + sha256: fb2c6c6d0078cc7097f71ca4117adfb013163dd7845d3a7b90c80cf8c324b2e3 + md5: 43132aaf61e6d8a59624b2da26aec518 + depends: + - python + - lz4-c + - __osx >=11.0 + - python 3.12.* *_cpython + - lz4-c >=1.10.0,<1.11.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lz4?source=hash-mapping + size: 125772 + timestamp: 1765026411222 +- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_1.conda + sha256: d9139738fe6b7a4c8490f333435d3855ce4a2b15895cfd28fd976d62bb5ce0da + md5: 835dcb698b526cfeab01e1f5f908ca5c + depends: + - python + - lz4-c + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - lz4-c >=1.10.0,<1.11.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lz4?source=hash-mapping + size: 45673 + timestamp: 1765026421038 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 md5: 9de5350a85c4a20c685259b889aa6393 @@ -6754,6 +11397,17 @@ packages: purls: [] size: 139891 timestamp: 1733741168264 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + sha256: 5c6bbeec116e29f08e3dad3d0524e9bc5527098e12fc432c0e5ca53ea16337d4 + md5: 45161d96307e3a447cc3eb5896cf6f8c + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 191060 + timestamp: 1753889274283 - conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-hd590300_1001.conda sha256: 88433b98a9dd9da315400e7fb9cd5f70804cb17dca8b1c85163a64f90f584126 md5: ec7398d21e2651e0dcb0044d03b9a339 @@ -6764,6 +11418,16 @@ packages: purls: [] size: 171416 timestamp: 1713515738503 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h925e9cb_1002.conda + sha256: db40fd25c6306bfda469f84cddd8b5ebb9aa08d509cecb49dfd0bb8228466d0c + md5: e56eaa1beab0e7fed559ae9c0264dd88 + depends: + - __osx >=11.0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 152755 + timestamp: 1753889267953 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda sha256: b68160b0a8ec374cea12de7afb954ca47419cdc300358232e19cec666d60b929 md5: 915996063a7380c652f83609e970c2a7 @@ -6772,6 +11436,21 @@ packages: purls: [] size: 131447 timestamp: 1713516009610 +- conda: https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-h6a83c73_1002.conda + sha256: 344f4f225c6dfb523fb477995545542224c37a5c86161f053a1a18fe547aa979 + md5: c5cb4159f0eea65663b31dd1e49bbb71 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 165589 + timestamp: 1753889311940 - conda: https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-hcfcfb64_1001.conda sha256: 39e176b8cc8fe878d87594fae0504c649d1c2c6d5476dd7238237d19eb825751 md5: 629f4f4e874cf096eb93a23240910cee @@ -6784,6 +11463,22 @@ packages: purls: [] size: 142771 timestamp: 1713516312465 +- conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + sha256: 967841d300598b17f76ba812e7dae642176692ed2a6735467b93c2b2debe35c1 + md5: cc293b4cad9909bf66ca117ea90d4631 + depends: + - networkx >=3.2 + - numpy >=1.26 + - pandas >=2.1 + - python >=3.11 + - scikit-learn >=1.4 + - scipy >=1.12 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/mapclassify?source=hash-mapping + size: 810830 + timestamp: 1752271625200 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda sha256: 4a6bf68d2a2b669fecc9a4a009abd1cf8e72c2289522ff00d81b5a6e51ae78f5 md5: eb227c3e0bf58f5bd69c0532b157975b @@ -6800,6 +11495,22 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 24604 timestamp: 1733219911494 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda + sha256: 5f3aad1f3a685ed0b591faad335957dbdb1b73abfd6fc731a0d42718e0653b33 + md5: 93a4752d42b12943a355b682ee43285b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 26057 + timestamp: 1772445297924 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312h998013c_1.conda sha256: 4aa997b244014d3707eeef54ab0ee497d12c0d0d184018960cce096169758283 md5: 46e547061080fddf9cf95a0327e8aba6 @@ -6816,6 +11527,22 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 24048 timestamp: 1733219945697 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py312h04c11ed_1.conda + sha256: 330394fb9140995b29ae215a19fad46fcc6691bdd1b7654513d55a19aaa091c1 + md5: 11d95ab83ef0a82cc2de12c1e0b47fe4 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 25564 + timestamp: 1772445846939 - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py312h31fea79_1.conda sha256: bbb9595fe72231a8fbc8909cfa479af93741ecd2d28dfe37f8f205fef5df2217 md5: 944fdd848abfbd6929e57c790b8174dd @@ -6833,6 +11560,152 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 27582 timestamp: 1733220007802 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + sha256: b744287a780211ac4595126ef96a44309c791f155d4724021ef99092bae4aace + md5: a73298d225c7852f97403ca105d10a13 + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/markupsafe?source=compressed-mapping + size: 28510 + timestamp: 1772445175216 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.3-py312h7900ff3_0.conda + sha256: 2255888d215fb1438b968bd7e5fd89580c25eb90f4010aad38dda8aac7b642c8 + md5: 40e02247b1467ce6fff28cad870dc833 + depends: + - matplotlib-base >=3.10.3,<3.10.4.0a0 + - pyside6 >=6.7.2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 17376 + timestamp: 1746820703075 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.3-py312h1f38498_0.conda + sha256: a73322cb98d14d5eedabfb7dccb2fe239938c5d6bdabfa6d09fecfcdfe1367a1 + md5: 3e3be2c20812f5d46d2e9c2993bbe4a6 + depends: + - matplotlib-base >=3.10.3,<3.10.4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 17497 + timestamp: 1746820828995 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.3-py312h2e8e312_0.conda + sha256: 9bca2f50f6a00a9e1f6d07a7c447a02e7067ef0924bfa63da45e1362bae922b9 + md5: 914c15eac59e9bd477e94b0103e47f63 + depends: + - matplotlib-base >=3.10.3,<3.10.4.0a0 + - pyside6 >=6.7.2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 17794 + timestamp: 1746821737107 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.3-py312hd3ec401_0.conda + sha256: 3b5be100ddfcd5697140dbb8d4126e3afd0147d4033defd6c6eeac78fe089bd2 + md5: 2d69618b52d70970c81cc598e4b51118 + depends: + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.23 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 + - python_abi 3.12.* *_cp312 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/matplotlib?source=hash-mapping + size: 8188885 + timestamp: 1746820680864 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.3-py312hdbc7e53_0.conda + sha256: 2ede5ebc11eaf773b1db8cf7ba138ab3b26306bcf84cb9aacb5eb745f150b008 + md5: 00c90634afc6285c57ed54c3ff0247df + depends: + - __osx >=11.0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=18 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - numpy >=1.19,<3 + - numpy >=1.23 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.7 + - python_abi 3.12.* *_cp312 + - qhull >=2020.2,<2020.3.0a0 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/matplotlib?source=hash-mapping + size: 8144960 + timestamp: 1746820800312 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.3-py312h90004f6_0.conda + sha256: dd41282ac388887227a37122c8ec5822ad3121896e5b27e8360e6f2bd38b352d + md5: 8d3097febb52bfe3d0e33112c327c180 + depends: + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - numpy >=1.19,<3 + - numpy >=1.23 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 + - python_abi 3.12.* *_cp312 + - qhull >=2020.2,<2020.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/matplotlib?source=hash-mapping + size: 8035551 + timestamp: 1746821698674 - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda sha256: 69b7dc7131703d3d60da9b0faa6dd8acbf6f6c396224cf6aef3e855b8c0c41c6 md5: af6ab708897df59bd6e7283ceab1b56b @@ -6845,6 +11718,18 @@ packages: - pkg:pypi/matplotlib-inline?source=hash-mapping size: 14467 timestamp: 1733417051523 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + sha256: 9d690334de0cd1d22c51bc28420663f4277cfa60d34fa5cad1ce284a13f1d603 + md5: 00e120ce3e40bad7bfc78861ce3c4a25 + depends: + - python >=3.10 + - traitlets + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/matplotlib-inline?source=hash-mapping + size: 15175 + timestamp: 1761214578417 - conda: https://conda.anaconda.org/conda-forge/linux-64/menuinst-2.3.0-py312h7900ff3_0.conda sha256: 45753c04e947020cacda4fb92fbc927a86a3c5cd403760f8329be508e3c0411b md5: 3de345c0744dae205b36d53b1671d210 @@ -6882,6 +11767,57 @@ packages: - pkg:pypi/menuinst?source=hash-mapping size: 140384 timestamp: 1750792754303 +- conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.0.10-h05a5f5f_0.conda + sha256: 0c3700d15377156937ddc89a856527ad77e7cf3fd73cb0dffc75fce8030ddd16 + md5: da01bb40572e689bd1535a5cee6b1d68 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + purls: [] + size: 93471 + timestamp: 1746450475308 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.10-hff1a8ea_0.conda + sha256: b3503bd3da5d48d57b44835f423951f487574e08a999f13288c81464ac293840 + md5: 93def148863d840e500490d6d78722f9 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libcxx >=18 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + purls: [] + size: 78411 + timestamp: 1746450560057 +- conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.0.10-h9fa1bad_0.conda + sha256: feacd3657c60ef0758228fc93d46cedb45ac1b1d151cb09780a4d6c4b8b32543 + md5: 2ffdc180adc65f509e996d63513c04b7 + depends: + - bzip2 >=1.0.8,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + purls: [] + size: 86618 + timestamp: 1746450788037 - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2024.2.2-h66d3029_15.conda sha256: 20e52b0389586d0b914a49cd286c5ccc9c47949bed60ca6df004d1d295f2edbd md5: 302dff2807f2927b3e9e0d19d60121de @@ -6891,28 +11827,134 @@ packages: license: LicenseRef-IntelSimplifiedSoftwareOct2022 license_family: Proprietary purls: [] - size: 103106385 - timestamp: 1730232843711 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2024.2.2-h66d3029_15.conda - sha256: 87b53fd205282de67ff0627ea43d1d4293b7f5d6c5d5a62902c07b71bee7eb58 - md5: e2f516189b44b6e042199d13e7015361 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary + size: 103106385 + timestamp: 1730232843711 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda + sha256: f2c2b2a3c2e7d08d78c10bef7c135a4262c80d1d48c85fb5902ca30d61d645f4 + md5: 3fd3009cef89c36e9898a6feeb0f5530 + depends: + - llvm-openmp >=22.1.1 + - tbb >=2022.3.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 99997309 + timestamp: 1774449747739 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2024.2.2-h66d3029_15.conda + sha256: 87b53fd205282de67ff0627ea43d1d4293b7f5d6c5d5a62902c07b71bee7eb58 + md5: e2f516189b44b6e042199d13e7015361 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 718823 + timestamp: 1730232277136 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2024.2.2-h66d3029_15.conda + sha256: adefe0f7bf99a46eb32908c90fe57845e2b2eb2ae498eda33080efbb1c0cf603 + md5: 2ca557fc0b33bc5c9e3a371a4eed8538 + depends: + - intel-openmp 2024.* + - mkl-include 2024.2.2 h66d3029_15 + - tbb 2021.* + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 108659788 + timestamp: 1730233129079 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda + sha256: 94068fd39d1a672f8799e3146a18ba4ef553f0fcccefddb3c07fbdabfd73667a + md5: 2e489969e38f0b428c39492619b5e6e5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 102525 + timestamp: 1762504116832 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.2-py312h84eede6_1.conda + sha256: 1540339678e13365001453fdcb698887075a2b326d5fab05cfd0f4fdefae4eab + md5: e3973f0ac5ac854bf86f0d5674a1a289 + depends: + - __osx >=11.0 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 91268 + timestamp: 1762504467174 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py312hf90b1b7_1.conda + sha256: 0408cc0868e0963922c76940d618266df88518a7b58b5d28da8378911916b998 + md5: 3272249c8d0f9cb7693e189611b9943f + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 87478 + timestamp: 1762504274037 +- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 + md5: 37293a85a0f4f77bbd9cf7aaefc62609 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/munkres?source=hash-mapping + size: 15851 + timestamp: 1749895533014 +- conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_0.conda + sha256: 320dfc59a94cb9e3635bda71b9e62278b34aa2fdaea0caa6832ddb9b37e9ccd5 + md5: ab3e3db511033340e75e7002e80ce8c0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 203174 + timestamp: 1747116762269 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_0.conda + sha256: 5533e7e3d4b0819b4426f8a1b3f680e6b9c922cdae2b7fabcd0e8c59df22772a + md5: 1cdbe54881794ee356d3cba7e3ed6668 + depends: + - __osx >=11.0 + - libcxx >=18 + - llvm-openmp >=18.1.8 + license: MIT + license_family: MIT purls: [] - size: 718823 - timestamp: 1730232277136 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2024.2.2-h66d3029_15.conda - sha256: adefe0f7bf99a46eb32908c90fe57845e2b2eb2ae498eda33080efbb1c0cf603 - md5: 2ca557fc0b33bc5c9e3a371a4eed8538 + size: 154087 + timestamp: 1747117056226 +- conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_0.conda + sha256: 57f78d8cd9a282d03cd7a7ffb1f42d570e1bbfb42d606e99de5c16e089067185 + md5: 013aabb169d59009bdf7d70319360e9b depends: - - intel-openmp 2024.* - - mkl-include 2024.2.2 h66d3029_15 - - tbb 2021.* - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT purls: [] - size: 108659788 - timestamp: 1730233129079 + size: 148557 + timestamp: 1747117340968 - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.17.0-py312h4c3975b_0.conda sha256: f7a427cc6e94fc3c5be83ff0b48509a9a41e9ab48065a14101d0d13b2dd7c9bf md5: ebf26f1cfb032d55a2f433ea7a3139f7 @@ -6931,6 +11973,25 @@ packages: - pkg:pypi/mypy?source=hash-mapping size: 18931157 timestamp: 1752534887158 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.20.0-py312h4c3975b_0.conda + sha256: bb9ab670f94099843167170b81b597921890ffb0f56cb2222c1e611213b09f7e + md5: a1f58c8babb356d64f70c380dde5df2b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - mypy_extensions >=1.0.0 + - pathspec >=1.0.0 + - psutil >=4.0 + - python >=3.12,<3.13.0a0 + - python-librt >=0.8.0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy?source=hash-mapping + size: 22053001 + timestamp: 1775234215387 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.17.0-py312h163523d_0.conda sha256: 0fb78906dbcb3daa1c9b9aa9047985ef1cacf2d2e64d271c1b9e7570ae4ed1fc md5: 77b10261bad8e87c9ebb6cebd493c394 @@ -6949,6 +12010,25 @@ packages: - pkg:pypi/mypy?source=hash-mapping size: 10410020 timestamp: 1752534951317 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.20.0-py312hefc2c51_0.conda + sha256: 002e080ca7731b473e41eed2ab79357b070419ff8613b6ad531ef756aabbb649 + md5: 16e653b99c021b140cfe6f2cc23ee02a + depends: + - __osx >=11.0 + - mypy_extensions >=1.0.0 + - pathspec >=1.0.0 + - psutil >=4.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-librt >=0.8.0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy?source=hash-mapping + size: 11840059 + timestamp: 1775234973068 - conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.17.0-py312he06e257_0.conda sha256: 93fc4abec9042deff9f882135601f90159fec0e88b9f2ac939a99a491b8c9be7 md5: 7a66ebebe26ae807bc24c1bc7661ad33 @@ -6968,6 +12048,26 @@ packages: - pkg:pypi/mypy?source=hash-mapping size: 10032459 timestamp: 1752534651646 +- conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.20.0-py312he06e257_0.conda + sha256: ebadc3b1c357ac2a8f2c68666f675e7004923f7f83faf22fbf239f404894b927 + md5: d461b246f4afe6f77f8ce37b8f66c23d + depends: + - mypy_extensions >=1.0.0 + - pathspec >=1.0.0 + - psutil >=4.0 + - python >=3.12,<3.13.0a0 + - python-librt >=0.8.0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.6.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy?source=hash-mapping + size: 11766260 + timestamp: 1775234467870 - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 md5: e9c622e0d00fa24a6292279af3ab6d06 @@ -6979,6 +12079,18 @@ packages: - pkg:pypi/mypy-extensions?source=hash-mapping size: 11766 timestamp: 1745776666688 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.18.1-pyhcf101f3_1.conda + sha256: 541fd4390a0687228b8578247f1536a821d9261389a65585af9d1a6f2a14e1e0 + md5: 30bec5e8f4c3969e2b1bd407c5e52afb + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/narwhals?source=hash-mapping + size: 280459 + timestamp: 1774380620329 - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 md5: bbe1963f1e47f594070ffe87cdf612ea @@ -7041,6 +12153,23 @@ packages: - pkg:pypi/networkx?source=hash-mapping size: 1564462 timestamp: 1749078300258 +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 + md5: a2c1eeadae7a309daed9d62c96012a2b + depends: + - python >=3.11 + - python + constrains: + - numpy >=1.25 + - scipy >=1.11.2 + - matplotlib-base >=3.8 + - pandas >=2.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/networkx?source=hash-mapping + size: 1587439 + timestamp: 1765215107045 - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.11.3-he02047a_1.conda sha256: ce4bcced4f8eea71b7cac8bc3daac097abf7a5792f278cd811dedada199500c1 md5: e46f7ac4917215b49df2ea09a694a3fa @@ -7053,6 +12182,16 @@ packages: purls: [] size: 122743 timestamp: 1723652407663 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + sha256: fd2cbd8dfc006c72f45843672664a8e4b99b2f8137654eaae8c3d46dca776f63 + md5: 16c2a0e9c4a166e53632cfca4f68d020 + constrains: + - nlohmann_json-abi ==3.12.0 + license: MIT + license_family: MIT + purls: [] + size: 136216 + timestamp: 1758194284857 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/nlohmann_json-3.11.3-h00cdb27_1.conda sha256: 3f4e6a4fa074bb297855f8111ab974dab6d9f98b7d4317d4dd46f8687ee2363b md5: d2dee849c806430eee64d3acc98ce090 @@ -7064,6 +12203,16 @@ packages: purls: [] size: 123250 timestamp: 1723652704997 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/nlohmann_json-3.12.0-h784d473_1.conda + sha256: 1945fd5b64b74ef3d57926156fb0bfe88ee637c49f3273067f7231b224f1d26d + md5: 755cfa6c08ed7b7acbee20ccbf15a47c + constrains: + - nlohmann_json-abi ==3.12.0 + license: MIT + license_family: MIT + purls: [] + size: 137595 + timestamp: 1768670878127 - conda: https://conda.anaconda.org/conda-forge/win-64/nlohmann_json-3.11.3-he0c23c2_1.conda sha256: 106af14431772a6bc659e8d5a3bb1930cf1010b85e0e7eca99ecd3e556e91470 md5: 340cbb4ab78c90cd9d08f826ad22aed2 @@ -7097,6 +12246,26 @@ packages: - pkg:pypi/numpy?source=compressed-mapping size: 8782829 timestamp: 1752612970718 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.5-py312h33ff503_1.conda + sha256: 76ad6a6f4761084b074a587fe1512956891f04b5250cec0fd39aca0f39ad122b + md5: 03baecffb72fa96fe234fd505908065f + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8820597 + timestamp: 1766383409220 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.3.1-py312h2f38b44_1.conda sha256: 3e368987983b19ba9160a2ab8a6cb9f24887a582cf1415a0302248cbc130e9ec md5: 0258aaaff6a328732162de0dbe069a67 @@ -7117,6 +12286,26 @@ packages: - pkg:pypi/numpy?source=compressed-mapping size: 6651591 timestamp: 1752612968284 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.3.5-py312he281c53_1.conda + sha256: 0377c031951fc7ac3023f4b832c4a075e0e562015060e6f87bd751b45a1ef5ab + md5: 5a064b1a93c26d2960bbc49fa1de524b + depends: + - python + - libcxx >=19 + - __osx >=11.0 + - python 3.12.* *_cpython + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 6706018 + timestamp: 1766383302517 - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.1-py312ha72d056_1.conda sha256: 7faeb1a6be68ffd5ca2310219c887676690a6160cf6fdc3a42d8df43b637134f md5: 3d74c8accc51ffc69525018bf08e20a8 @@ -7140,6 +12329,129 @@ packages: - pkg:pypi/numpy?source=hash-mapping size: 7369409 timestamp: 1752613015162 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.5-py312ha72d056_1.conda + sha256: 2994e7ff174cc68a66f76ea7a30ce724143471a52f2c342a9541ae3566a0bf66 + md5: 7c5be40fd2acb37ca897f018f7c5f921 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 7439935 + timestamp: 1766383387059 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjpeg-2.5.4-hd9e9057_0.conda + sha256: 60aca8b9f94d06b852b296c276b3cf0efba5a6eb9f25feb8708570d3a74f00e4 + md5: 4b5d3a91320976eec71678fad1e3569b + depends: + - __osx >=11.0 + - libcxx >=19 + - libpng >=1.6.55,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 319697 + timestamp: 1772625397692 +- conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + sha256: 24342dee891a49a9ba92e2018ec0bde56cc07fdaec95275f7a55b96f03ea4252 + md5: e723ab7cc2794c954e1b22fde51c16e4 + depends: + - libpng >=1.6.55,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 245594 + timestamp: 1772624841727 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + sha256: cb0b07db15e303e6f0a19646807715d28f1264c6350309a559702f4f34f37892 + md5: 2e5bf4f1da39c0b32778561c3c4e5878 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.27,<3.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.5.0,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + purls: [] + size: 780253 + timestamp: 1748010165522 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + sha256: 04839d313708a6b8c185bc9fcc56ccef985ed91520420c665b5e67b55fd8b5fb + md5: 04ab345ef65b88bcbb8ac3d083427bfc + depends: + - et_xmlfile + - libgcc >=14 + - 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/osx-arm64/openpyxl-3.1.5-py312h2a925e6_3.conda + sha256: 53e786fc1095e5e009958acf7e75c3bb9518e6e6373ed82cddf2b59110712d8d + md5: 81e1c2e42e0bed7dc7d412dbb1b53a46 + depends: + - et_xmlfile + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/openpyxl?source=hash-mapping + size: 477997 + timestamp: 1769122700108 +- conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py312h83acffa_3.conda + sha256: 824eeb546a08c990eb461706280d3064c0437f67eb320018986fa439f468e43a + md5: ff342a314798173eaaf2753a22f044fa + depends: + - et_xmlfile + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: + - pkg:pypi/openpyxl?source=hash-mapping + size: 475979 + timestamp: 1769122144585 - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c md5: f61eb8cd60ff9057122a3d338b99c00f @@ -7149,6 +12461,7 @@ packages: - libgcc >=14 license: Apache-2.0 license_family: Apache + purls: [] size: 3164551 timestamp: 1769555830639 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda @@ -7159,6 +12472,7 @@ packages: - ca-certificates license: Apache-2.0 license_family: Apache + purls: [] size: 3104268 timestamp: 1769556384749 - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda @@ -7171,8 +12485,27 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + purls: [] size: 9343023 timestamp: 1769557547888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-hbb90d81_1.conda + sha256: c59d22c4e555c09259c52da96f1576797fcb4fba5665073e9c1907393309172d + md5: 9269175175f18091b8844c8e9f213205 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.2,<1.3.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1319627 + timestamp: 1770452421607 - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.3.0-h21090e2_0.conda sha256: a60c2578c8422e0c67206d269767feb4d3e627511558b6866e5daf2231d5214d md5: 8027fce94fdfdf2e54f9d18cbae496df @@ -7192,6 +12525,23 @@ packages: license_family: APACHE size: 1468651 timestamp: 1773230208923 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-h578b684_1.conda + sha256: a25faa4aa71832f908dec90ff3f66490ab06c47304d3c1e474c9f6306ae78452 + md5: 5ed1fedefe1098670f8d8e8189dcda7c + depends: + - __osx >=11.0 + - libcxx >=19 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.2,<1.3.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 488780 + timestamp: 1770452752226 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.3.0-hd11884d_0.conda sha256: 8594f064828cca9b8d625e2ebe79436fd4ffc030c950573380c54a8f4329f955 md5: 77bfe521901c1a247cc66c1276826a85 @@ -7225,6 +12575,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 license_family: Apache + purls: [] size: 1073185 timestamp: 1770452512023 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda @@ -7236,9 +12587,73 @@ packages: license: Apache-2.0 license_family: APACHE purls: - - pkg:pypi/packaging?source=hash-mapping - size: 62477 - timestamp: 1745345660407 + - pkg:pypi/packaging?source=hash-mapping + size: 62477 + timestamp: 1745345660407 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda + sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 + md5: b76541e68fea4d511b1ac46a28dcd2c6 + depends: + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=compressed-mapping + size: 72010 + timestamp: 1769093650580 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.0-py312hf9745cd_0.conda + sha256: 44f5587c1e1a9f0257387dd18735bcf65a67a6089e723302dc7947be09d9affe + md5: ac82ac336dbe61106e21fb2e11704459 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + constrains: + - bottleneck >=1.3.6 + - blosc >=1.21.3 + - numba >=0.56.4 + - pyqt5 >=5.15.9 + - pyarrow >=10.0.1 + - gcsfs >=2022.11.0 + - xlsxwriter >=3.0.5 + - scipy >=1.10.0 + - beautifulsoup4 >=4.11.2 + - numexpr >=2.8.4 + - fastparquet >=2022.12.0 + - lxml >=4.9.2 + - xlrd >=2.0.1 + - openpyxl >=3.1.0 + - qtpy >=2.3.0 + - s3fs >=2022.11.0 + - pandas-gbq >=0.19.0 + - pytables >=3.8.0 + - python-calamine >=0.1.7 + - fsspec >=2022.11.0 + - psycopg2 >=2.9.6 + - xarray >=2022.12.0 + - matplotlib >=3.6.3 + - pyxlsb >=1.0.10 + - tabulate >=0.9.0 + - odfpy >=1.4.1 + - pyreadstat >=1.2.0 + - html5lib >=1.1 + - zstandard >=0.19.0 + - sqlalchemy >=2.0.0 + - tzdata >=2022.7 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pandas?source=hash-mapping + size: 14958450 + timestamp: 1749100123120 - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.1-py312hf79963d_0.conda sha256: 6ec86b1da8432059707114270b9a45d767dac97c4910ba82b1f4fa6f74e077c8 md5: 7c73e62e62e5864b8418440e2a2cc246 @@ -7291,6 +12706,58 @@ packages: - pkg:pypi/pandas?source=hash-mapping size: 15092371 timestamp: 1752082221274 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.0-py312hcb1e3ce_0.conda + sha256: 3105a94036f37429ed292763d3034008fd0b4911bd565bdf86c33e898655dcdf + md5: d95b29a40430115d6aa817f70be5b5b1 + depends: + - __osx >=11.0 + - libcxx >=18 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + constrains: + - xlrd >=2.0.1 + - pyxlsb >=1.0.10 + - pyreadstat >=1.2.0 + - fsspec >=2022.11.0 + - matplotlib >=3.6.3 + - s3fs >=2022.11.0 + - pyqt5 >=5.15.9 + - lxml >=4.9.2 + - blosc >=1.21.3 + - tabulate >=0.9.0 + - fastparquet >=2022.12.0 + - numba >=0.56.4 + - scipy >=1.10.0 + - xlsxwriter >=3.0.5 + - gcsfs >=2022.11.0 + - html5lib >=1.1 + - odfpy >=1.4.1 + - bottleneck >=1.3.6 + - numexpr >=2.8.4 + - beautifulsoup4 >=4.11.2 + - pyarrow >=10.0.1 + - openpyxl >=3.1.0 + - qtpy >=2.3.0 + - pytables >=3.8.0 + - tzdata >=2022.7 + - zstandard >=0.19.0 + - psycopg2 >=2.9.6 + - xarray >=2022.12.0 + - sqlalchemy >=2.0.0 + - python-calamine >=0.1.7 + - pandas-gbq >=0.19.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pandas?source=hash-mapping + size: 14054660 + timestamp: 1749100309197 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.1-py312h98f7732_0.conda sha256: f4f98436dde01309935102de2ded045bb5500b42fb30a3bf8751b15affee4242 md5: d3775e9b27579a0e96150ce28a2542bd @@ -7343,6 +12810,58 @@ packages: - pkg:pypi/pandas?source=hash-mapping size: 13991815 timestamp: 1752082557265 +- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.0-py312h72972c8_0.conda + sha256: e4c8a685cfa1334a566b642523c9584d79ba78ed05888c7b7809d9116b6e9e25 + md5: e2ab2d8cc52281c9ebe19451936802eb + depends: + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - pyarrow >=10.0.1 + - gcsfs >=2022.11.0 + - fsspec >=2022.11.0 + - lxml >=4.9.2 + - tabulate >=0.9.0 + - openpyxl >=3.1.0 + - pyreadstat >=1.2.0 + - xlrd >=2.0.1 + - pyqt5 >=5.15.9 + - pyxlsb >=1.0.10 + - s3fs >=2022.11.0 + - zstandard >=0.19.0 + - numexpr >=2.8.4 + - python-calamine >=0.1.7 + - beautifulsoup4 >=4.11.2 + - fastparquet >=2022.12.0 + - bottleneck >=1.3.6 + - xarray >=2022.12.0 + - xlsxwriter >=3.0.5 + - sqlalchemy >=2.0.0 + - psycopg2 >=2.9.6 + - matplotlib >=3.6.3 + - blosc >=1.21.3 + - pytables >=3.8.0 + - html5lib >=1.1 + - numba >=0.56.4 + - tzdata >=2022.7 + - pandas-gbq >=0.19.0 + - qtpy >=2.3.0 + - scipy >=1.10.0 + - odfpy >=1.4.1 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pandas?source=hash-mapping + size: 13859642 + timestamp: 1749100498003 - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.1-py312hc128f0a_0.conda sha256: 711cf7b3aee4a92614744364ea996500b65fd5a11bceddb1fc03a5fd818b11d3 md5: 77e4ad6ddb37a0b489746352f8d2275d @@ -7395,6 +12914,18 @@ packages: - pkg:pypi/pandas?source=hash-mapping size: 13875687 timestamp: 1752082441874 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.24.0-hd8ed1ab_2.conda + sha256: 857657552f1a8441e4c9e723637b8270f46b6262403dc18a76559dd5a5ba782e + md5: a12a21a89519f0cc224e44da86f5be2c + depends: + - numpy >=1.24.4 + - pandas >=2.1.1 + - pandera-base 0.24.0 pyhd8ed1ab_2 + license: MIT + license_family: MIT + purls: [] + size: 7364 + timestamp: 1749059959229 - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.25.0-hd8ed1ab_1.conda sha256: b4eb7857d927b9001a2fdc11ee70add246c2de80e1e08bff3a8b67ce0cdc7912 md5: c9dca5dbec0de5c56e248087ba18ac02 @@ -7407,6 +12938,21 @@ packages: purls: [] size: 7458 timestamp: 1752079800481 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.24.0-pyhd8ed1ab_2.conda + sha256: 98b3e59268d73824fabc3535fbe48f5973eb70f3975686bcf35949a9f3daaa17 + md5: e1c50e117a98e39d297d9290132f032b + depends: + - packaging >=20.0 + - pydantic + - python >=3.9 + - typeguard + - typing_inspect >=0.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pandera?source=hash-mapping + size: 154521 + timestamp: 1749059957954 - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.25.0-pyhd8ed1ab_1.conda sha256: 98c3b93e690426dbdd5ef788db9b183bc75202ebbc563ed1859df39da2f86e8f md5: 8f88cb3ba3aac2992171892cd5f6d48d @@ -7422,6 +12968,18 @@ packages: - pkg:pypi/pandera?source=hash-mapping size: 164068 timestamp: 1752079799520 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-geopandas-0.24.0-hd8ed1ab_2.conda + sha256: 53d1591315e0688c796af5d70b426536e704f9c8d3fdc2a650eb14a3ecfc7f88 + md5: fb21509f073465506ea994dc4667bf66 + depends: + - geopandas + - pandera 0.24.0 hd8ed1ab_2 + - shapely + license: MIT + license_family: MIT + purls: [] + size: 7429 + timestamp: 1749059961525 - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf md5: 79f71230c069a287efe3a8614069ddf1 @@ -7496,6 +13054,31 @@ packages: - pkg:pypi/parso?source=hash-mapping size: 75295 timestamp: 1733271352153 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda + sha256: 42b2d77ccea60752f3aa929a6413a7835aaacdbbde679f2f5870a744fa836b94 + md5: 97c1ce2fffa1209e7afb432810ec6e12 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/parso?source=hash-mapping + size: 82287 + timestamp: 1770676243987 +- conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + sha256: 472fc587c63ec4f6eba0cc0b06008a6371e0a08a5986de3cf4e8024a47b4fe6c + md5: 0badf9c54e24cecfb0ad2f99d680c163 + depends: + - locket + - python >=3.9 + - toolz + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/partd?source=hash-mapping + size: 20884 + timestamp: 1715026639309 - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee md5: 617f15191456cc6a13db418a275435e5 @@ -7507,6 +13090,17 @@ packages: - pkg:pypi/pathspec?source=hash-mapping size: 41075 timestamp: 1733233471940 +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda + sha256: 29ea20d0faf20374fcd61c25f6d32fb8e9a2c786a7f1473a0c3ead359470fbe1 + md5: 2908273ac396d2cd210a8127f5f1c0d6 + depends: + - python >=3.10 + license: MPL-2.0 + license_family: MOZILLA + purls: + - pkg:pypi/pathspec?source=hash-mapping + size: 53739 + timestamp: 1769677743677 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda sha256: 5c7380c8fd3ad5fc0f8039069a45586aa452cf165264bc5a437ad80397b32934 md5: 7fa07cb0fb1b625a089ccc01218ee5b1 @@ -7517,6 +13111,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 1209177 timestamp: 1756742976157 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.46-h7125dd6_0.conda @@ -7528,6 +13123,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 835080 timestamp: 1756743041908 - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.45-h99c9b8b_0.conda @@ -7544,6 +13140,20 @@ packages: purls: [] size: 1040584 timestamp: 1745955875845 +- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.46-h3402e2f_0.conda + sha256: 29c2ed44a8534d27faad96bdce16efe29c2788f556f4c5409d4ae8ae074681ec + md5: 889053e920d15353c2665fa6310d7a7a + depends: + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1034703 + timestamp: 1756743085974 - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a md5: d0d408b1f18883a944376da5cf8101ea @@ -7566,6 +13176,89 @@ packages: - pkg:pypi/pickleshare?source=hash-mapping size: 11748 timestamp: 1733327448200 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_0.conda + sha256: fa291f8915114733dc1df9f1627b8c63c517217c1eee1a6ede2ceb5e368cf27a + md5: 9e5609720e31213d4f39afe377f6217e + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - lcms2 >=2.18,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - openjpeg >=2.5.4,<3.0a0 + - python_abi 3.12.* *_cp312 + - tk >=8.6.13,<8.7.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - zlib-ng >=2.3.3,<2.4.0a0 + license: HPND + purls: + - pkg:pypi/pillow?source=compressed-mapping + size: 1039561 + timestamp: 1775060059882 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda + sha256: f7ee5d45bf16184d2b53f0d35c98c06e4e82e21688ce93e52b55c02ec7153bf3 + md5: 0634560e556adb3e7924668e49ad53fc + depends: + - python + - __osx >=11.0 + - python 3.12.* *_cpython + - libxcb >=1.17.0,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - tk >=8.6.13,<8.7.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - lcms2 >=2.18,<3.0a0 + - python_abi 3.12.* *_cp312 + - openjpeg >=2.5.4,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + license: HPND + purls: + - pkg:pypi/pillow?source=compressed-mapping + size: 965082 + timestamp: 1775060469004 +- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py312h31f0997_0.conda + sha256: ab7c254e49d0999bbfc3d3b2c76e7d5f9f831692c864c641cf10c557b727ad7e + md5: ba3bcb72a269e7751cadbdd784f84dec + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libwebp-base >=1.6.0,<2.0a0 + - tk >=8.6.13,<8.7.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libxcb >=1.17.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - libtiff >=4.7.1,<4.8.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - lcms2 >=2.18,<3.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + license: HPND + purls: + - pkg:pypi/pillow?source=compressed-mapping + size: 944998 + timestamp: 1775060119774 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-25.1.1-pyh8b19718_0.conda + sha256: ebfa591d39092b111b9ebb3210eb42251be6da89e26c823ee03e5e838655a43e + md5: 32d0781ace05105cc99af55d36cbec7c + depends: + - python >=3.9,<3.13.0a0 + - setuptools + - wheel + license: MIT + license_family: MIT + purls: + - pkg:pypi/pip?source=hash-mapping + size: 1242995 + timestamp: 1746249983238 - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.2-h29eaf8c_0.conda sha256: 6cb261595b5f0ae7306599f2bb55ef6863534b6d4d1bc0dcfdfa5825b0e4e53d md5: 39b4228a867772d610c02e06f939a5b8 @@ -7578,6 +13271,19 @@ packages: purls: [] size: 402222 timestamp: 1749552884791 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a + md5: c01af13bdc553d1a8fbfff6e8db075f0 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 450960 + timestamp: 1754665235234 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.2-h2f9eb0b_0.conda sha256: 68d1eef12946d779ce4b4b9de88bc295d07adce5dd825a0baf0e1d7cf69bc5a6 md5: 0587a57e200568a71982173c07684423 @@ -7601,6 +13307,21 @@ packages: purls: [] size: 476515 timestamp: 1749553103224 +- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + sha256: 246fce4706b3f8b247a7d6142ba8d732c95263d3c96e212b9d63d6a4ab4aff35 + md5: 08c8fa3b419df480d985e304f7884d35 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + purls: [] + size: 542795 + timestamp: 1754665193489 - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda sha256: adb2dde5b4f7da70ae81309cce6188ed3286ff280355cf1931b45d91164d2ad8 md5: 5a5870a74432aa332f7d32180633ad05 @@ -7630,21 +13351,74 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 23531 - timestamp: 1746710438805 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda - sha256: a8eb555eef5063bbb7ba06a379fa7ea714f57d9741fe0efdb9442dbbc2cccbcc - md5: 7da7ccd349dbf6487a7778579d2bb971 + purls: + - pkg:pypi/platformdirs?source=hash-mapping + size: 23531 + timestamp: 1746710438805 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhd8ed1ab_0.conda + sha256: a8eb555eef5063bbb7ba06a379fa7ea714f57d9741fe0efdb9442dbbc2cccbcc + md5: 7da7ccd349dbf6487a7778579d2bb971 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pluggy?source=hash-mapping + size: 24246 + timestamp: 1747339794916 +- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.conda + sha256: c1c9e38646a2d07007844625c8dea82404c8785320f8a6326b9338f8870875d0 + md5: 1aeede769ec2fa0f474f8b73a7ac057f + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + purls: [] + size: 3240415 + timestamp: 1754927975218 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.6.2-hdbeaa80_2.conda + sha256: 75e4bfa1a2d2b46b7aa11e2293abfe664f5775f21785fb7e3d41226489687501 + md5: e68d0d91e188ab134cb25675de82b479 + depends: + - __osx >=11.0 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - libsqlite >=3.50.4,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + purls: [] + size: 2787374 + timestamp: 1754927844772 +- conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.6.2-h7990399_2.conda + sha256: e798e9bd658f6c00cfac0d8573c7fe97d9ebad5966c96c23e0702f44e51905bb + md5: 6e0e8fcc3eb2c1418d663005bf040d8d depends: - - python >=3.9 + - libcurl >=8.14.1,<9.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - proj4 ==999999999999 license: MIT license_family: MIT - purls: - - pkg:pypi/pluggy?source=hash-mapping - size: 24246 - timestamp: 1747339794916 + purls: [] + size: 2788230 + timestamp: 1754928361098 - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda sha256: 013669433eb447548f21c3c6b16b2ed64356f726b5f77c1b39d5ba17a8a4b8bc md5: a83f6a2fdc079e643237887a37460668 @@ -7657,6 +13431,7 @@ packages: - zlib license: MIT license_family: MIT + purls: [] size: 199544 timestamp: 1730769112346 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda @@ -7670,6 +13445,7 @@ packages: - zlib license: MIT license_family: MIT + purls: [] size: 173220 timestamp: 1730769371051 - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda @@ -7686,6 +13462,20 @@ packages: - pkg:pypi/prompt-toolkit?source=hash-mapping size: 271841 timestamp: 1744724188108 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 + depends: + - python >=3.10 + - wcwidth + constrains: + - prompt_toolkit 3.0.52 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/prompt-toolkit?source=hash-mapping + size: 273927 + timestamp: 1756321848365 - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py312h66e93f0_0.conda sha256: 158047d7a80e588c846437566d0df64cec5b0284c7184ceb4f3c540271406888 md5: 8e30db4239508a538e4a3b3cdf5b9616 @@ -7700,6 +13490,20 @@ packages: - pkg:pypi/psutil?source=hash-mapping size: 466219 timestamp: 1740663246825 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda + sha256: d834fd656133c9e4eaf63ffe9a117c7d0917d86d89f7d64073f4e3a0020bd8a7 + md5: dd94c506b119130aef5a9382aed648e7 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=compressed-mapping + size: 225545 + timestamp: 1769678155334 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.0.0-py312hea69d52_0.conda sha256: cb11dcb39b2035ef42c3df89b5a288744b5dcb5a98fb47385760843b1d4df046 md5: 0f461bd37cb428dc20213a08766bb25d @@ -7714,6 +13518,20 @@ packages: - pkg:pypi/psutil?source=hash-mapping size: 476376 timestamp: 1740663381256 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hb3ab3e3_0.conda + sha256: 6d0e21c76436374635c074208cfeee62a94d3c37d0527ad67fd8a7615e546a05 + md5: fd856899666759403b3c16dcba2f56ff + depends: + - python + - __osx >=11.0 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 239031 + timestamp: 1769678393511 - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.0.0-py312h4389bb4_0.conda sha256: 088451ee2c9a349e1168f70afe275e58f86350faffb09c032cff76f97d4fb7bb md5: f5b86d6e2e645ee276febe79a310b640 @@ -7729,6 +13547,21 @@ packages: - pkg:pypi/psutil?source=hash-mapping size: 484682 timestamp: 1740663813103 +- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda + sha256: edffc84c001a05b996b5f8607c8164432754e86ec9224e831cd00ebabdec04e7 + md5: a2724c93b745fc7861948eb8b9f6679a + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 242769 + timestamp: 1769678170631 - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 md5: b3c17d95b5a10c6e64a21fa17573e70e @@ -7740,6 +13573,16 @@ packages: purls: [] size: 8252 timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda + sha256: 8ed65e17fbb0ca944bfb8093b60086e3f9dd678c3448b5de212017394c247ee3 + md5: 415816daf82e0b23a736a069a75e9da7 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 8381 + timestamp: 1726802424786 - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda sha256: 7e446bafb4d692792310ed022fe284e848c6a868c861655a92435af7368bae7b md5: 3c8f2573569bb816483e5cf57efbbe29 @@ -7816,6 +13659,22 @@ packages: - pkg:pypi/pure-eval?source=hash-mapping size: 16668 timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-19.0.1-py312h7900ff3_2.conda + sha256: e969ba50a295f197b148e8b85391c96dff4190b16a0d31c846814943109ca814 + md5: 1dd44318430d7020005a8b2d672c7fb6 + depends: + - libarrow-acero 19.0.1.* + - libarrow-dataset 19.0.1.* + - libarrow-substrait 19.0.1.* + - libparquet 19.0.1.* + - pyarrow-core 19.0.1 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 32646 + timestamp: 1770445454290 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.1-py312h7900ff3_0.conda sha256: 05ac953b934135cf63343ddc6cbea56abfd167af118f22a47fc8984f9158beb8 md5: 58710f6789e9a893472922a9dcd03f4f @@ -7831,6 +13690,22 @@ packages: license_family: APACHE size: 28639 timestamp: 1771307345680 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-19.0.1-py312h1f38498_2.conda + sha256: b48824a73fb6d460d53b16572dc6df97fdf945fe4ba503485283a3f1dbdd902c + md5: 7d73cf1f4124df09e8ca870ef2ce8a02 + depends: + - libarrow-acero 19.0.1.* + - libarrow-dataset 19.0.1.* + - libarrow-substrait 19.0.1.* + - libparquet 19.0.1.* + - pyarrow-core 19.0.1 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 32623 + timestamp: 1770445607463 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.1-py312h1f38498_0.conda sha256: 3cc847d7fc9d16efb145dd2593c3bcc78a4423a77be1748214e7b1c02a85bcb7 md5: 9a2007e9af67ae4fc94ec64d29672382 @@ -7846,6 +13721,22 @@ packages: license_family: APACHE size: 28670 timestamp: 1771307852216 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-19.0.1-py312h2e8e312_2.conda + sha256: 464cf068bcd59e138b246045213f4b6716810f803b3a7874e77bffdeea4944c0 + md5: f76090150832a052f156161750d194f1 + depends: + - libarrow-acero 19.0.1.* + - libarrow-dataset 19.0.1.* + - libarrow-substrait 19.0.1.* + - libparquet 19.0.1.* + - pyarrow-core 19.0.1 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 32948 + timestamp: 1770445519052 - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.1-py312h2e8e312_0.conda sha256: a38a2c1478e0f2e557449dfe04e431609378b9cb1caeb509dbdc36ca7239ca46 md5: 35a0bf970ae94226283f081608aa300b @@ -7861,6 +13752,27 @@ packages: license_family: APACHE size: 28986 timestamp: 1771307398563 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-19.0.1-py312hc195796_2_cpu.conda + build_number: 2 + sha256: f7adffeb0b16a377179aaf7ae51d147383e886d2520aeae6ecde68ea9ecdcdd3 + md5: ac85fb893ec7884e9b50c629032cefdf + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 19.0.1.* *cpu + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc * cpu + - numpy >=1.23,<3 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/pyarrow?source=hash-mapping + size: 4655885 + timestamp: 1770445422153 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.1-py312h2054cf2_0_cpu.conda sha256: e023133b8d24bada11fcf57b80aca98cf253a09ce996393949c006d236ac87b7 md5: 9ad4bfc6f8ca7cdf4acf857fa0c9a91f @@ -7880,6 +13792,27 @@ packages: license_family: APACHE size: 4776752 timestamp: 1771307276253 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-19.0.1-py312hae6ed00_2_cpu.conda + build_number: 2 + sha256: 602ebdb89779642541166809787800b895e2825b17327dbac3311b7bbc186348 + md5: e2e3a0d5884ca99bf6d0c381fad9a67d + depends: + - __osx >=11.0 + - libarrow 19.0.1.* *cpu + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/pyarrow?source=hash-mapping + size: 4210556 + timestamp: 1770445561434 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.1-py312h21b41d0_0_cpu.conda sha256: 285b146dbb09da5cd71cb8a460f833572f5e527ba44c5541b4739254aaf447d1 md5: 2c0f60cf75d24b80367308e5454b472a @@ -7899,6 +13832,27 @@ packages: license_family: APACHE size: 3915948 timestamp: 1771307781330 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-19.0.1-py312h85419b5_2_cpu.conda + build_number: 2 + sha256: bdd912e1bfc76cf77cc781d914a8a26362671fbd1a63bc1b7a0d7a3fc6ad5acd + md5: cc807555e7a46c7bdfd41a27275f4f8f + depends: + - libarrow 19.0.1.* *cpu + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/pyarrow?source=hash-mapping + size: 3503862 + timestamp: 1770445493382 - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.1-py312h12c7521_0_cpu.conda sha256: 617bfc043a1994a6b1ad17aa67411c6bd92fc1bc474c5f3c6e6dd8c32f84be24 md5: 57a03f6ba3866b0fa13bee3d0ae7aed8 @@ -7998,6 +13952,23 @@ packages: - pkg:pypi/pydantic?source=hash-mapping size: 307333 timestamp: 1749927245525 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.12.5-pyhcf101f3_1.conda + sha256: 868569d9505b7fe246c880c11e2c44924d7613a8cdcc1f6ef85d5375e892f13d + md5: c3946ed24acdb28db1b5d63321dbca7d + depends: + - typing-inspection >=0.4.2 + - typing_extensions >=4.14.1 + - python >=3.10 + - typing-extensions >=4.6.1 + - annotated-types >=0.6.0 + - pydantic-core ==2.41.5 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydantic?source=hash-mapping + size: 340482 + timestamp: 1764434463101 - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.33.2-py312h680f630_0.conda sha256: 4d14d7634c8f351ff1e63d733f6bb15cba9a0ec77e468b0de9102014a4ddc103 md5: cfbd96e5a0182dfb4110fc42dda63e57 @@ -8015,6 +13986,23 @@ packages: - pkg:pypi/pydantic-core?source=hash-mapping size: 1890081 timestamp: 1746625309715 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.41.5-py312h868fb18_1.conda + sha256: 07f899d035e06598682d3904d55f1529fac71b15e12b61d44d6a5fbf8521b0fe + md5: 56a776330a7d21db63a7c9d6c3711a04 + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydantic-core?source=hash-mapping + size: 1935221 + timestamp: 1762989004359 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.33.2-py312hd3c0895_0.conda sha256: 4e583aab0854a3a9c88e3e5c55348f568a1fddce43952a74892e490537327522 md5: affb6b478c21735be55304d47bfe1c63 @@ -8032,6 +14020,23 @@ packages: - pkg:pypi/pydantic-core?source=hash-mapping size: 1715338 timestamp: 1746625327204 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.41.5-py312h6ef9ec0_1.conda + sha256: 048da0a49d644dba126905a1abcea0aee75efe88b5d621b9007b569dd753cfbc + md5: 88a76b4c912b6127d64298e3d8db980c + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - python 3.12.* *_cpython + - __osx >=11.0 + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydantic-core?source=hash-mapping + size: 1769018 + timestamp: 1762989029329 - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.33.2-py312h8422cdd_0.conda sha256: f377214abd06f1870011a6068b10c9e23dc62065d4c2de13b2f0a6014636e0ae md5: c61e3f191da309117e0b0478b49f6e91 @@ -8051,6 +14056,25 @@ packages: - pkg:pypi/pydantic-core?source=hash-mapping size: 1900306 timestamp: 1746625389678 +- conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.41.5-py312hdabe01f_1.conda + sha256: 06f5d122ac1c29679a6d588aa066c8684a087de12f84f3e81d90c205664eb62c + md5: 2e338a10e31828590cf031076bb143b6 + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydantic-core?source=hash-mapping + size: 1970249 + timestamp: 1762989032818 - conda: https://conda.anaconda.org/conda-forge/linux-64/pydot-4.0.1-py312h7900ff3_0.conda sha256: be87ec5ee93853c3deb8115099c74f002e0af711410e23b1ae14cc30c12c0041 md5: 6ff35cf1336b0aa49338b8171aa74c94 @@ -8105,6 +14129,71 @@ packages: - pkg:pypi/pygments?source=compressed-mapping size: 889287 timestamp: 1750615908735 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 + md5: 16c18772b340887160c79a6acc022db0 + depends: + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/pygments?source=compressed-mapping + size: 893031 + timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.11.1-py312h6e8b602_1.conda + sha256: 0c44f249204ca6886abcc8a03cf8c8c8681d18cc533ede3697a3f00ac99e4740 + md5: 71e2dd5aa884ab062c2d41fe10f9cefe + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgdal-core >=3.11.3,<3.12.0a0 + - libstdcxx >=14 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyogrio?source=hash-mapping + size: 638127 + timestamp: 1756824422270 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.11.1-py312hb22504d_1.conda + sha256: 2e5299a61f1013b4ed8edaa2926d0a9e7798345641761526bcea7b9d7941b3c7 + md5: 1223df6d93fd9aceedd21eceae5a67ee + depends: + - __osx >=11.0 + - libcxx >=19 + - libgdal-core >=3.11.3,<3.12.0a0 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyogrio?source=hash-mapping + size: 561459 + timestamp: 1756824720672 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.11.1-py312h2d4285c_1.conda + sha256: 94593bf5a7a9020442b58e45ad8ecc415246ba7381713bc4e018ee54821959c9 + md5: 06d59a6ca99d405ef3922808bc4fbb18 + depends: + - libgdal-core >=3.11.3,<3.12.0a0 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyogrio?source=hash-mapping + size: 814616 + timestamp: 1756824839895 - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhd8ed1ab_1.conda sha256: b92afb79b52fcf395fd220b29e0dd3297610f2059afac45298d44e00fcbf23b6 md5: 513d3c262ee49b54a8fec85c5bc99764 @@ -8116,6 +14205,67 @@ packages: - pkg:pypi/pyparsing?source=hash-mapping size: 95988 timestamp: 1743089832359 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de + md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyparsing?source=hash-mapping + size: 110893 + timestamp: 1769003998136 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.1-py312h03c6e1f_1.conda + sha256: 57083fca3c343e537a496e39666c7bd5c47e470d1b4b8e1d211663f452155de4 + md5: f754591f9ec0169e436fa84cb9db0c32 + depends: + - __glibc >=2.17,<3.0.a0 + - certifi + - libgcc >=13 + - proj >=9.6.0,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyproj?source=hash-mapping + size: 555089 + timestamp: 1742323461761 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.1-py312h237c406_1.conda + sha256: d41a371e33a49c34ed9332cd1549be21a13b7b2d76ec0b16180039ceef4d343a + md5: 47281d6d45a7492a831026fb65206e01 + depends: + - __osx >=11.0 + - certifi + - proj >=9.6.0,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyproj?source=hash-mapping + size: 511809 + timestamp: 1742323504810 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.1-py312h5ea471a_1.conda + sha256: a58d8f963330181c7fd3a6a0bd9f397a6e4b0032ac492ad4c1cb7d2f6bfc404e + md5: d84e5046f5f836bb16ff146a55124570 + depends: + - certifi + - proj >=9.6.0,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyproj?source=hash-mapping + size: 747774 + timestamp: 1742323873263 - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.4-py312h2e8e312_1.conda sha256: 0d9055f133bf90eb4eeb7e1f1526ab875acda34ab39b71a0a719c670ee163913 md5: 9987d07be9812b80d129b08c1dfbe30e @@ -8125,9 +14275,58 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/pyreadline3?source=hash-mapping - size: 170545 - timestamp: 1749148459863 + - pkg:pypi/pyreadline3?source=hash-mapping + size: 170545 + timestamp: 1749148459863 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.10.1-py312h9da60e5_0.conda + sha256: dccbc2674aaae31711933942fd16d87b127e6335556d5701cb760f27986f0375 + md5: dda0a61b6186fc914cf6c1581f64229d + depends: + - __glibc >=2.17,<3.0.a0 + - libclang13 >=21.1.7 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=14 + - libvulkan-loader >=1.4.328.1,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main 6.10.1.* + - qt6-main >=6.10.1,<6.11.0a0 + license: LGPL-3.0-only + license_family: LGPL + purls: + - pkg:pypi/pyside6?source=hash-mapping + - pkg:pypi/shiboken6?source=hash-mapping + size: 11606305 + timestamp: 1765811838817 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.10.1-py312h0c8bdd4_0.conda + sha256: 7041cca95f5486b56e8b5e433b1ed2ca8c597caf86c2047c0cabc89e48417da2 + md5: 23882de6dbb761a28bc4dd50c0fc0452 + depends: + - libclang13 >=21.1.7 + - libvulkan-loader >=1.4.328.1,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main 6.10.1.* + - qt6-main >=6.10.1,<6.11.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-3.0-only + license_family: LGPL + purls: + - pkg:pypi/pyside6?source=hash-mapping + - pkg:pypi/shiboken6?source=hash-mapping + size: 9032850 + timestamp: 1765812277050 - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca md5: e2fd202833c4a981ce8a65974fe4abd1 @@ -8200,6 +14399,34 @@ packages: purls: [] size: 31445023 timestamp: 1749050216615 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.9-h9e4cc4f_1_cpython.conda + build_number: 1 + sha256: 77f2073889d4c91a57bc0da73a0466d9164dbcf6191ea9c3a7be6872f784d625 + md5: d82342192dfc9145185190e651065aa9 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.6.4,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - liblzma >=5.6.4,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.4.1,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 31670716 + timestamp: 1741130026152 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.11-hc22306f_0_cpython.conda sha256: cde8b944c2dc378a5afbc48028d0843583fd215493d5885a80f1b41de085552f md5: 9207ebad7cfbe2a4af0702c92fd031c4 @@ -8222,6 +14449,29 @@ packages: purls: [] size: 13009234 timestamp: 1749048134449 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.9-hc22306f_1_cpython.conda + build_number: 1 + sha256: fe804fc462396baab8abe525a722d0254c839533c98c47abd2c6d1248ad45e93 + md5: d9fac7b334ff6e5f93abd27509a53060 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.6.4,<3.0a0 + - libffi >=3.4,<4.0a0 + - liblzma >=5.6.4,<6.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.4.1,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 13042031 + timestamp: 1741128584924 - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.11-h3f84c4b_0_cpython.conda sha256: b69412e64971b5da3ced0fc36f05d0eacc9393f2084c6f92b8f28ee068d83e2e md5: 6aa5e62df29efa6319542ae5025f4376 @@ -8244,6 +14494,29 @@ packages: purls: [] size: 15829289 timestamp: 1749047682640 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.9-h3f84c4b_1_cpython.conda + build_number: 1 + sha256: 320acd0095442a451c4e0f0f896bed2f52b3b8f05df41774e5b0b433d9fa08e0 + md5: f0a0ad168b815fee4ce9718d4e6c1925 + depends: + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.6.4,<3.0a0 + - libffi >=3.4,<4.0a0 + - liblzma >=5.6.4,<6.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.4.1,<4.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 15935206 + timestamp: 1741128459438 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 md5: 5b8d21249ff20967101ffa321cab24e8 @@ -8277,6 +14550,49 @@ packages: license: Python-2.0 size: 46449 timestamp: 1772728979370 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-librt-0.8.1-py312h5253ce2_0.conda + sha256: 41a3f2541952ee521c867ada76da02a43a919beeb46da8fee99284d161273a50 + md5: e2cc29a3786c42455a70263a8bf6813e + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/librt?source=hash-mapping + size: 77475 + timestamp: 1771423012370 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-librt-0.8.1-py312hb3ab3e3_0.conda + sha256: ab3baf903f255a50206de01ccbc4daec409563e409348022f805afcce5aee59a + md5: 54327820d1bf2d856220a51ac8d197ff + depends: + - python + - __osx >=11.0 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/librt?source=hash-mapping + size: 72629 + timestamp: 1771423101785 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-librt-0.8.1-py312he5662c2_0.conda + sha256: 64150afcc53a9e81c4250bc2709edb16a8febaa28f58a0e9525e28438bbfc318 + md5: b1bf9befd13a95e6235772d0194d242a + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/librt?source=hash-mapping + size: 53153 + timestamp: 1771423055629 - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda sha256: e8392a8044d56ad017c08fec2b0eb10ae3d1235ac967d0aab8bd7b41c4a5eaf0 md5: 88476ae6ebd24f39261e0854ac244f33 @@ -8288,6 +14604,17 @@ packages: - pkg:pypi/tzdata?source=compressed-mapping size: 144160 timestamp: 1742745254292 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.1-pyhd8ed1ab_0.conda + sha256: b5494ef54bc2394c6c4766ceeafac22507c4fc60de6cbfda45524fc2fcc3c9fc + md5: d8d30923ccee7525704599efd722aa16 + depends: + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/tzdata?source=compressed-mapping + size: 147315 + timestamp: 1775223532978 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-7_cp312.conda build_number: 7 sha256: a1bbced35e0df66cc713105344263570e835625c28d1bdee8f748f482b2d7793 @@ -8299,6 +14626,17 @@ packages: purls: [] size: 6971 timestamp: 1745258861359 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + build_number: 8 + sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 + md5: c3efd25ac4d74b1584d2f7a57195ddf1 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6958 + timestamp: 1752805918820 - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.1.post1-pyhcf101f3_0.conda sha256: d35c15c861d5635db1ba847a2e0e7de4c01994999602db1f82e41b5935a9578a md5: f8a489f43a1342219a3a4d69cecc6b25 @@ -8307,6 +14645,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/pytz?source=compressed-mapping size: 201725 timestamp: 1773679724369 - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_0.conda @@ -8421,6 +14761,288 @@ packages: - pkg:pypi/pyzmq?source=hash-mapping size: 364291 timestamp: 1749899188003 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc + md5: 353823361b1d27eb3960efb076dfcaf6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + purls: [] + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda + sha256: 873ac689484262a51fd79bc6103c1a1bedbf524924d7f0088fb80703042805e4 + md5: 6483b1f59526e05d7d894e466b5b6924 + depends: + - __osx >=11.0 + - libcxx >=16 + license: LicenseRef-Qhull + purls: [] + size: 516376 + timestamp: 1720814307311 +- conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + sha256: 887d53486a37bd870da62b8fa2ebe3993f912ad04bd755e7ed7c47ced97cbaa8 + md5: 854fbdff64b572b5c0b470f334d34c11 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-Qhull + purls: [] + size: 1377020 + timestamp: 1720814433486 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.10.1-hca0d9c9_0.conda + sha256: 9b6d229110b0af7d80270cd14dc89acb8264128a29079bea58cee3fef0c5f8d3 + md5: 2ab549dfb24cfbac4cf53ed9ef3d8dfb + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - dbus >=1.16.2,<2.0a0 + - double-conversion >=3.3.1,<3.4.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - harfbuzz >=12.2.0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp21.1 >=21.1.6,<21.2.0a0 + - libclang13 >=21.1.6 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.86.2,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libllvm21 >=21.1.6,<21.2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libpq >=18.1,<19.0a0 + - libsqlite >=3.51.0,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libvulkan-loader >=1.4.328.1,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.13.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - wayland >=1.24.0,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-cursor >=0.1.6,<0.2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.10.1 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 56495332 + timestamp: 1763747754806 +- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.10.1-h7502b6c_0.conda + sha256: 95afcdc5dcae3b8c4d7187e41f28c9a367faf3afa9eec279cff493bdcc72000f + md5: 455618c3cf822705d569fe83beafe8da + depends: + - double-conversion >=3.3.1,<3.4.0a0 + - harfbuzz >=12.2.0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang13 >=21.1.6 + - libglib >=2.86.2,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libsqlite >=3.51.0,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libvulkan-loader >=1.4.328.1,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.10.1 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 87151062 + timestamp: 1763755156545 +- pypi: https://files.pythonhosted.org/packages/67/72/331727423b28fffdfd8bf18bdc55c18d374c0fefd2dde390cd833f8f4477/rasterio-1.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: rasterio + version: 1.4.3 + sha256: 8e90c2c300294265c16becc9822337ded0f01fb8664500b4d77890d633d8cd0e + requires_dist: + - affine + - attrs + - certifi + - click>=4.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - numpy>=1.24 + - click-plugins + - pyparsing + - ghp-import ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-click ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - ipython>=2.0 ; extra == 'ipython' + - matplotlib ; extra == 'plot' + - boto3>=1.2.4 ; extra == 's3' + - boto3>=1.2.4 ; extra == 'test' + - fsspec ; extra == 'test' + - hypothesis ; extra == 'test' + - packaging ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'test' + - pytest>=2.8.2 ; extra == 'test' + - shapely ; extra == 'test' + - fsspec ; extra == 'all' + - packaging ; extra == 'all' + - pytest-cov>=2.2.0 ; extra == 'all' + - matplotlib ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + - ipython>=2.0 ; extra == 'all' + - hypothesis ; extra == 'all' + - sphinx ; extra == 'all' + - boto3>=1.2.4 ; extra == 'all' + - pytest>=2.8.2 ; extra == 'all' + - shapely ; extra == 'all' + - sphinx-click ; extra == 'all' + - ghp-import ; extra == 'all' + - numpydoc ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/be/cc/453816b489af94b9a243eda889865973d518989ba6923b2381f6d6722b43/rasterio-1.4.3-cp312-cp312-win_amd64.whl + name: rasterio + version: 1.4.3 + sha256: a962ad4c29feaf38b1d7a94389313127de3646a5b9b734fbf9a04e16051a27ff + requires_dist: + - affine + - attrs + - certifi + - click>=4.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - numpy>=1.24 + - click-plugins + - pyparsing + - ghp-import ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-click ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - ipython>=2.0 ; extra == 'ipython' + - matplotlib ; extra == 'plot' + - boto3>=1.2.4 ; extra == 's3' + - boto3>=1.2.4 ; extra == 'test' + - fsspec ; extra == 'test' + - hypothesis ; extra == 'test' + - packaging ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'test' + - pytest>=2.8.2 ; extra == 'test' + - shapely ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'all' + - sphinx ; extra == 'all' + - fsspec ; extra == 'all' + - packaging ; extra == 'all' + - ghp-import ; extra == 'all' + - sphinx-click ; extra == 'all' + - shapely ; extra == 'all' + - boto3>=1.2.4 ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + - numpydoc ; extra == 'all' + - hypothesis ; extra == 'all' + - matplotlib ; extra == 'all' + - ipython>=2.0 ; extra == 'all' + - pytest>=2.8.2 ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/de/19/ab4326e419b543da623ce4191f68e3f36a4d9adc64f3df5c78f044d8d9ca/rasterio-1.4.3.tar.gz + name: rasterio + version: 1.4.3 + sha256: 201f05dbc7c4739dacb2c78a1cf4e09c0b7265b0a4d16ccbd1753ce4f2af350a + requires_dist: + - affine + - attrs + - certifi + - click>=4.0 + - cligj>=0.5 + - importlib-metadata ; python_full_version < '3.10' + - numpy>=1.24 + - click-plugins + - pyparsing + - ghp-import ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-click ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - ipython>=2.0 ; extra == 'ipython' + - matplotlib ; extra == 'plot' + - boto3>=1.2.4 ; extra == 's3' + - boto3>=1.2.4 ; extra == 'test' + - fsspec ; extra == 'test' + - hypothesis ; extra == 'test' + - packaging ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'test' + - pytest>=2.8.2 ; extra == 'test' + - shapely ; extra == 'test' + - fsspec ; extra == 'all' + - ghp-import ; extra == 'all' + - packaging ; extra == 'all' + - ipython>=2.0 ; extra == 'all' + - boto3>=1.2.4 ; extra == 'all' + - pytest>=2.8.2 ; extra == 'all' + - hypothesis ; extra == 'all' + - numpydoc ; extra == 'all' + - matplotlib ; extra == 'all' + - sphinx-click ; extra == 'all' + - shapely ; extra == 'all' + - sphinx ; extra == 'all' + - pytest-cov>=2.2.0 ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/5e/0b/bd73621d2a5f87da97158c5c77a4bf31e27d60cf6bcc6ddea532043cc21d/rasterstats-0.20.0-py3-none-any.whl + name: rasterstats + version: 0.20.0 + sha256: a7015e99f42807842b8638d489157639ff0cbf8e35aac9647aa3e079982b18ee + requires_dist: + - affine + - click>7.1 + - cligj>=0.4 + - fiona + - numpy>=1.9 + - rasterio>=1.0 + - simplejson + - shapely + - rasterstats[test] ; extra == 'dev' + - numpydoc ; extra == 'dev' + - twine ; extra == 'dev' + - tqdm ; extra == 'progress' + - coverage ; extra == 'test' + - geopandas ; extra == 'test' + - pyshp>=1.1.4 ; extra == 'test' + - pytest>=4.6 ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'test' + - simplejson ; extra == 'test' + requires_python: '>=3.7' - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_1.conda sha256: 3fc684b81631348540e9a42f6768b871dfeab532d3f47d5c341f1f83e2a2b2b2 md5: 66a715bc01c77d43aca1f9fcb13dde3c @@ -8428,6 +15050,7 @@ packages: - libre2-11 2025.11.05 h0dc7533_1 license: BSD-3-Clause license_family: BSD + purls: [] size: 27469 timestamp: 1768190052132 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-ha480c28_1.conda @@ -8437,6 +15060,7 @@ packages: - libre2-11 2025.11.05 h4c27e2a_1 license: BSD-3-Clause license_family: BSD + purls: [] size: 27445 timestamp: 1768190259003 - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda @@ -8446,6 +15070,7 @@ packages: - libre2-11 2025.11.05 h04e5de1_1 license: BSD-3-Clause license_family: BSD + purls: [] size: 220305 timestamp: 1768190225351 - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda @@ -8459,6 +15084,18 @@ packages: purls: [] size: 282480 timestamp: 1740379431762 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 + md5: d7d95fc8287ea7bf33e0e7116d2b95ec + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 345073 + timestamp: 1765813471974 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda sha256: 7db04684d3904f6151eff8673270922d31da1eea7fa73254d01c437f49702e34 md5: 63ef3f6e6d6d5c589e64f11263dc5676 @@ -8469,6 +15106,17 @@ packages: purls: [] size: 252359 timestamp: 1740379663071 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + sha256: a77010528efb4b548ac2a4484eaf7e1c3907f2aec86123ed9c5212ae44502477 + md5: f8381319127120ce51e081dce4865cf4 + depends: + - __osx >=11.0 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 313930 + timestamp: 1765813902568 - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.36.2-pyh29332c3_0.conda sha256: e20909f474a6cece176dfc0dc1addac265deb5fa92ea90e975fbca48085b20c3 md5: 9140f1c09dd5489549c6a33931b943c7 @@ -8572,6 +15220,37 @@ packages: - pkg:pypi/requests?source=hash-mapping size: 59407 timestamp: 1749498221996 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + sha256: c0249bc4bf4c0e8e06d0e7b4d117a5d593cc4ab2144d5006d6d47c83cb0af18e + md5: 10afbb4dbf06ff959ad25a92ccee6e59 + depends: + - python >=3.10 + - certifi >=2023.5.7 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - urllib3 >=1.26,<3 + - python + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/requests?source=compressed-mapping + size: 63712 + timestamp: 1774894783063 +- pypi: https://files.pythonhosted.org/packages/3f/dd/0b2c68495331ba36af783139baaa94693ef310d484d458c11dfa1357287d/rioxarray-0.22.0-py3-none-any.whl + name: rioxarray + version: 0.22.0 + sha256: db0aa55cd36a95060968f2e6574107829def29d43a563560b90bc642d0bd6a3b + requires_dist: + - packaging + - rasterio>=1.4.3 + - xarray>=2026.2 + - pyproj>=3.3 + - numpy>=2 + - scipy ; extra == 'interp' + - scipy ; extra == 'all' + requires_python: '>=3.12' - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.26.0-py312h680f630_0.conda sha256: bb051358e7550fd8ef9129def61907ad03853604f5e641108b1dbe2ce93247cc md5: 5b251d4dd547d8b5970152bae2cc1600 @@ -8766,8 +15445,138 @@ packages: - openssl >=3.5.5,<4.0a0 license: Apache-2.0 license_family: Apache + purls: [] size: 395083 timestamp: 1773251675551 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py312h3226591_1.conda + sha256: 23c643c37fafa14ba3f2b7a407126ea5e732a3655ea8157cf9f977098f863448 + md5: 38decbeae260892040709cafc0514162 + depends: + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - _openmp_mutex >=4.5 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scikit-learn?source=hash-mapping + size: 9726193 + timestamp: 1765801245538 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py312he5ca3e3_1.conda + sha256: 5f640a06e001666f9d4dca7cca992f1753e722e9f6e50899d7d250c02ddf7398 + md5: ed7887c51edfa304c69a424279cec675 + depends: + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - libcxx >=19 + - python 3.12.* *_cpython + - __osx >=11.0 + - llvm-openmp >=19.1.7 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scikit-learn?source=hash-mapping + size: 9124177 + timestamp: 1766550900752 +- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py312hea30aaf_1.conda + sha256: cc3057fd244a13afe94bdb5e3fb6ecbd7ece78559ebdb55a86ae40202ed813a0 + md5: e5cd920b237e02178573ce47ffa87e8c + depends: + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scikit-learn?source=hash-mapping + size: 8884013 + timestamp: 1765801252142 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_0.conda + sha256: e3ad577361d67f6c078a6a7a3898bf0617b937d44dc4ccd57aa3336f2b5778dd + md5: 3e38daeb1fb05a95656ff5af089d2e4c + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=1.25.2 + - 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: 17109648 + timestamp: 1771880675810 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h0f234b1_0.conda + sha256: 7082a8c87ae32b6090681a1376e3335cf23c95608c68a3f96f3581c847f8b840 + md5: fd035cd01bb171090a990ae4f4143090 + depends: + - __osx >=11.0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=1.25.2 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=hash-mapping + size: 13966986 + timestamp: 1771881089893 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_0.conda + sha256: bdb2437aa5db3a00c5e69808f9d1a695bbe74b4758ffdf2e79777c8e11680443 + md5: bf4d70d225c530053128bae8d2531516 + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=1.25.2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=hash-mapping + size: 15009886 + timestamp: 1771881635432 - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda sha256: 972560fcf9657058e3e1f97186cc94389144b46dbdf58c807ce62e83f977e863 md5: 4de79c071274a53dcaf2a8c749d1499e @@ -8779,6 +15588,66 @@ packages: - pkg:pypi/setuptools?source=hash-mapping size: 748788 timestamp: 1748804951958 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 + md5: 8e194e7b992f99a5015edbd4ebd38efd + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/setuptools?source=compressed-mapping + size: 639697 + timestamp: 1773074868565 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h950be2a_0.conda + sha256: 5880ef99f0f793bd1838b7631f2d3b946b84ea60a0453e66dc4ce7bb18ee1243 + md5: 16f95b810ff3253eabdcbb0b258c56dd + depends: + - __glibc >=2.17,<3.0.a0 + - geos >=3.14.0,<3.14.1.0a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/shapely?source=hash-mapping + size: 635723 + timestamp: 1758735344406 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py312h08b294e_0.conda + sha256: dedfd5e1b76f519e37da74240f17d7a795905b1efe81d87140eb6aab07de7e2e + md5: 7afa7e121fc41aab505b081c9e20f084 + depends: + - __osx >=11.0 + - geos >=3.14.0,<3.14.1.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/shapely?source=hash-mapping + size: 598840 + timestamp: 1758735947419 +- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py312ha0f8e3e_0.conda + sha256: 7b6d92d8eaeaba17a03ac2b541e95da1eebeb1c56337b1f9590143864837740a + md5: 917fb915997335f52d128784345bf5b4 + depends: + - geos >=3.14.0,<3.14.1.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/shapely?source=hash-mapping + size: 597155 + timestamp: 1758735764604 - conda: https://conda.anaconda.org/conda-forge/linux-64/simdjson-3.13.0-h84d6215_0.conda sha256: c256cc95f50a5b9f68603c0849b82a3be9ba29527d05486f3e1465e8fed76c4a md5: f2d511bfca0cc4acca4bb40cd1905dff @@ -8814,6 +15683,21 @@ packages: purls: [] size: 255973 timestamp: 1749080928478 +- pypi: https://files.pythonhosted.org/packages/20/05/ed9b2571bbf38f1a2425391f18e3ac11cb1e91482c22d644a1640dea9da7/simplejson-3.20.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: simplejson + version: 3.20.2 + sha256: 979ce23ea663895ae39106946ef3d78527822d918a136dbc77b9e2b7f006237e + requires_python: '>=2.5,!=3.0.*,!=3.1.*,!=3.2.*' +- pypi: https://files.pythonhosted.org/packages/ad/f1/efd09efcc1e26629e120fef59be059ce7841cc6e1f949a4db94f1ae8a918/simplejson-3.20.2-cp312-cp312-macosx_11_0_arm64.whl + name: simplejson + version: 3.20.2 + sha256: 25ca2663d99328d51e5a138f22018e54c9162438d831e26cfc3458688616eca8 + requires_python: '>=2.5,!=3.0.*,!=3.1.*,!=3.2.*' +- pypi: https://files.pythonhosted.org/packages/fa/c9/5cc2189f4acd3a6e30ffa9775bf09b354302dbebab713ca914d7134d0f29/simplejson-3.20.2-cp312-cp312-win_amd64.whl + name: simplejson + version: 3.20.2 + sha256: 2c0b4a67e75b945489052af6590e7dca0ed473ead5d0f3aad61fa584afe814ab + requires_python: '>=2.5,!=3.0.*,!=3.1.*,!=3.2.*' - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda sha256: 41db0180680cc67c3fa76544ffd48d6a5679d96f4b71d7498a759e94edc9a2db md5: a451d576819089b0d672f18768be0f65 @@ -8825,6 +15709,18 @@ packages: - pkg:pypi/six?source=hash-mapping size: 16385 timestamp: 1733381032766 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping + size: 18455 + timestamp: 1753199211006 - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.3.0.post1-pyhe01879c_0.conda sha256: b91438f9d3fda19ac9690dc4d1207a2d01240c47f35f13787d3e7b88396b1ae5 md5: 40579e9a7e1f6ba0d249770ec26a5345 @@ -8983,6 +15879,7 @@ packages: - libgcc >=14 license: BSD-3-Clause license_family: BSD + purls: [] size: 45829 timestamp: 1762948049098 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda @@ -8993,6 +15890,7 @@ packages: - __osx >=11.0 license: BSD-3-Clause license_family: BSD + purls: [] size: 38883 timestamp: 1762948066818 - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda @@ -9007,8 +15905,20 @@ packages: - ucrt >=10.0.20348.0 license: BSD-3-Clause license_family: BSD + purls: [] size: 67417 timestamp: 1762948090450 +- conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + sha256: d1e3e06b5cf26093047e63c8cc77b70d970411c5cbc0cb1fad461a8a8df599f7 + md5: 0401a17ae845fa72c7210e206ec5647d + depends: + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/sortedcontainers?source=hash-mapping + size: 28657 + timestamp: 1738440459037 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py312h5253ce2_0.conda sha256: ab3445a03e1fe99093cac00a4f923c25e1f438cc7f7b64d254b7e4f06e52693e md5: 0662f9f9ffb7ae91f2c095c77f18b9a5 @@ -9052,6 +15962,45 @@ packages: license_family: MIT size: 3665426 timestamp: 1775241406935 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.52.0-hbc0de68_0.conda + sha256: 4d18611828bd8370f63a9f6e7437bc5ddfe8d53b37cc589f0591ae35d545e0c7 + md5: a754c9683cbdc54174414b5831ad5ef1 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libsqlite 3.52.0 h0c1763c_0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + purls: [] + size: 204195 + timestamp: 1772818887484 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.52.0-h85ec8f2_0.conda + sha256: 243e9a0a85eb2d9f35fa966f94eaf395ddfaf1c2b4b9139112e6a408812f24af + md5: ddf778f330627fe70f93bb404cca030d + depends: + - __osx >=11.0 + - libsqlite 3.52.0 h1b79a29_0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + purls: [] + size: 180840 + timestamp: 1772819369392 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.52.0-hdb435a2_0.conda + sha256: f3bf742fde41a9db3fc8a6851a5c193cd3ff88743f6de6704b221579266e73e5 + md5: 4d58670f2fe3bbee0d74a58a0556691e + depends: + - libsqlite 3.52.0 hf5d6505_0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + purls: [] + size: 424938 + timestamp: 1772818923722 - conda: https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda sha256: 9cbf4805021fd817fde2654ccc1a1bd0352647614819a28381e81098efe4da20 md5: 00e6147bef9a85139099c9861c3b976b @@ -9102,6 +16051,31 @@ packages: purls: [] size: 151460 timestamp: 1732982860332 +- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda + sha256: abd9a489f059fba85c8ffa1abdaa4d515d6de6a3325238b8e81203b913cf65a9 + md5: 0f9817ffbe25f9e69ceba5ea70c52606 + depends: + - libhwloc >=2.12.2,<2.12.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 155869 + timestamp: 1767886839029 +- conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + sha256: 6b549360f687ee4d11bf85a6d6a276a30f9333df1857adb0fe785f0f8e9bcd60 + md5: f88bb644823094f436792f80fba3207e + depends: + - python >=3.10 + - python + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/tblib?source=hash-mapping + size: 19397 + timestamp: 1762956379123 - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda sha256: 32e75900d6a094ffe4290a8c9f1fa15744d9da8ff617aba4acaa0f057a065c34 md5: 043f0599dc8aa023369deacdb5ac24eb @@ -9112,6 +16086,17 @@ packages: license_family: APACHE size: 31404 timestamp: 1770510172846 +- conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + sha256: 6016672e0e72c4cf23c0cf7b1986283bd86a9c17e8d319212d78d8e9ae42fdfd + md5: 9d64911b31d57ca443e9f1e36b04385f + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/threadpoolctl?source=hash-mapping + size: 23869 + timestamp: 1741878358548 - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda sha256: cdd2067b03db7ed7a958de74edc1a4f8c4ae6d0aa1a61b5b70b89de5013f0f78 md5: 6fc48bef3b400c82abaee323a9d4e290 @@ -9123,6 +16108,20 @@ packages: - pkg:pypi/throttler?source=hash-mapping size: 12341 timestamp: 1691135604942 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda + sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac + md5: cffd3bdd58090148f4cfcd831f4b26ab + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + constrains: + - xorg-libx11 >=1.8.12,<2.0a0 + license: TCL + license_family: BSD + purls: [] + size: 3301196 + timestamp: 1769460227866 - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1 md5: a0116df4f4ed05c303811a837d5b39d8 @@ -9135,6 +16134,17 @@ packages: purls: [] size: 3285204 timestamp: 1748387766691 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + sha256: 799cab4b6cde62f91f750149995d149bc9db525ec12595e8a1d91b9317f038b3 + md5: a9d86bc62f39b94c4661716624eb21b0 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: TCL + license_family: BSD + purls: [] + size: 3127137 + timestamp: 1769460817696 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda sha256: cb86c522576fa95c6db4c878849af0bccfd3264daf0cc40dd18e7f4a7bfced0e md5: 7362396c170252e7b7b0c8fb37fe9c78 @@ -9158,6 +16168,30 @@ packages: purls: [] size: 3466348 timestamp: 1748388121356 +- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 + md5: 0481bfd9814bf525bd4b3ee4b51494c4 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: TCL + license_family: BSD + purls: [] + size: 3526350 + timestamp: 1769460339384 +- conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + sha256: fd30e43699cb22ab32ff3134d3acf12d6010b5bbaa63293c37076b50009b91f8 + md5: d0fc809fa4c4d85e959ce4ab6e1de800 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/toml?source=hash-mapping + size: 24017 + timestamp: 1764486833072 - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938 md5: b0dd904de08b7db706167240bf37b164 @@ -9180,6 +16214,17 @@ packages: - pkg:pypi/tomli?source=hash-mapping size: 19167 timestamp: 1733256819729 +- conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + sha256: 4e379e1c18befb134247f56021fdf18e112fb35e64dd1691858b0a0f3bea9a45 + md5: c07a6153f8306e45794774cf9b13bd32 + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/toolz?source=hash-mapping + size: 53978 + timestamp: 1760707830681 - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.1-py312h66e93f0_0.conda sha256: c96be4c8bca2431d7ad7379bad94ed6d4d25cd725ae345540a531d9e26e148c9 md5: c532a6ee766bed75c4fa0c39e959d132 @@ -9194,6 +16239,20 @@ packages: - pkg:pypi/tornado?source=hash-mapping size: 850902 timestamp: 1748003427956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py312h4c3975b_0.conda + sha256: 4629b1c9139858fb08bb357df917ffc12e4d284c57ff389806bb3ae476ef4e0a + md5: 2b37798adbc54fd9e591d24679d2133a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - 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: 859665 + timestamp: 1774358032165 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.1-py312hea69d52_0.conda sha256: 02835bf9f49a7c6f73622614be67dc20f9b5c2ce9f663f427150dc0579007daa md5: 375a5a90946ff09cd98b9cf5b833023c @@ -9208,6 +16267,20 @@ packages: - pkg:pypi/tornado?source=hash-mapping size: 851614 timestamp: 1748003575892 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.5-py312h2bbb03f_0.conda + sha256: 29edd36311b4a810a9e6208437bdbedb28c9ac15221caf812cb5c5cf48375dca + md5: 02cce5319b0f1317d9642dcb2e475379 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 859155 + timestamp: 1774358568476 - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.1-py312h4389bb4_0.conda sha256: cec4ab331788122f7f01dd02f57f8e21d9ae14553dedd6389d7dfeceb3592399 md5: 06b156bbbe1597eb5ea30b931cadaa32 @@ -9223,6 +16296,21 @@ packages: - pkg:pypi/tornado?source=hash-mapping size: 853357 timestamp: 1748003925528 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py312he06e257_0.conda + sha256: 1220c986664e9e8662e660dc64dd97ed823926b1ba05175771408cf1d6a46dd2 + md5: c6c66a64da3d2953c83ed2789a7f4bdb + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 859726 + timestamp: 1774358173994 - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda sha256: 11e2c85468ae9902d24a27137b6b39b4a78099806e551d390e394a8c34b48e40 md5: 9efbfdc37242619130ea42b1cc4ed861 @@ -9273,6 +16361,22 @@ packages: - pkg:pypi/typeguard?source=hash-mapping size: 35158 timestamp: 1750249264892 +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.1-pyhd8ed1ab_0.conda + sha256: 39d8ae33c43cdb8f771373e149b0b4fae5a08960ac58dcca95b2f1642bb17448 + md5: 260af1b0a94f719de76b4e14094e9a3b + depends: + - importlib-metadata >=3.6 + - python >=3.10 + - typing-extensions >=4.10.0 + - typing_extensions >=4.14.0 + constrains: + - pytest >=7 + license: MIT + license_family: MIT + purls: + - pkg:pypi/typeguard?source=hash-mapping + size: 36838 + timestamp: 1771532971545 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda sha256: 349951278fa8d0860ec6b61fcdc1e6f604e6fce74fabf73af2e39a37979d0223 md5: 75be1a943e0a7f99fcf118309092c635 @@ -9283,6 +16387,16 @@ packages: purls: [] size: 90486 timestamp: 1751643513473 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c + md5: edd329d7d3a4ab45dcf905899a7a6115 + depends: + - typing_extensions ==4.15.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 91383 + timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda sha256: 4259a7502aea516c762ca8f3b8291b0d4114e094bdb3baae3171ccc0900e722f md5: e0c3cd765dc15751ee2f0b03cd015712 @@ -9295,6 +16409,18 @@ packages: - pkg:pypi/typing-inspection?source=compressed-mapping size: 18809 timestamp: 1747870776989 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhd8ed1ab_1.conda + sha256: 70db27de58a97aeb7ba7448366c9853f91b21137492e0b4430251a1870aa8ff4 + md5: a0a4a3035667fc34f29bfbd5c190baa6 + depends: + - python >=3.10 + - typing_extensions >=4.12.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/typing-inspection?source=hash-mapping + size: 18923 + timestamp: 1764158430324 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda sha256: 4f52390e331ea8b9019b87effaebc4f80c6466d09f68453f52d5cdc2a3e1194f md5: e523f4f1e980ed7a4240d7e27e9ec81f @@ -9307,6 +16433,18 @@ packages: - pkg:pypi/typing-extensions?source=hash-mapping size: 51065 timestamp: 1751643513473 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d + depends: + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=hash-mapping + size: 51692 + timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 md5: fa31df4d4193aabccaf09ce78a187faf @@ -9327,6 +16465,13 @@ packages: purls: [] size: 122968 timestamp: 1742727099393 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c + md5: ad659d0a2b3e47e38d829aa8cad2d610 + license: LicenseRef-Public-Domain + purls: [] + size: 119135 + timestamp: 1767016325805 - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda sha256: db8dead3dd30fb1a032737554ce91e2819b43496a0db09927edf01c32b577450 md5: 6797b005cd0f439c4c5c9ac565783700 @@ -9336,6 +16481,93 @@ packages: purls: [] size: 559710 timestamp: 1728377334097 +- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 + md5: 71b24316859acd00bdb8b38f5e2ce328 + constrains: + - vc14_runtime >=14.29.30037 + - vs2015_runtime >=14.29.30037 + license: LicenseRef-MicrosoftWindowsSDK10 + purls: [] + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + sha256: 895bbfe9ee25c98c922799de901387d842d7c01cae45c346879865c6a907f229 + md5: 0b6c506ec1f272b685240e70a29261b8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=compressed-mapping + size: 410641 + timestamp: 1770909099497 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda + sha256: e935d0c11581e31e89ce4899a28b16f924d1a3c1af89f18f8a2c5f5728b3107f + md5: 45b836f333fd3e282c16fff7dc82994e + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=compressed-mapping + size: 415828 + timestamp: 1770909782683 +- conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py312he06e257_0.conda + sha256: 577fcd97b5b855d341ee511307a0c05f632d184544e31ff9621690770843c995 + md5: 9c46f390eb4b5c6e502df20378e442dd + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=hash-mapping + size: 405896 + timestamp: 1770909182518 +- conda: https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_0.conda + sha256: 2aad2aeff7c69a2d7eecd7b662eef756b27d6a6b96f3e2c2a7071340ce14543e + md5: d71d3a66528853c0a1ac2c02d79a0284 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 48270 + timestamp: 1715010035325 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + sha256: fa0bcbfb20a508ca9bf482236fe799581cbd0eab016e47a865e9fa44dbe3c512 + md5: e8ff9e11babbc8cd77af5a4258dc2802 + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 40625 + timestamp: 1715010029254 +- conda: https://conda.anaconda.org/conda-forge/win-64/uriparser-0.9.8-h5a68840_0.conda + sha256: ed0eed8ed0343d29cdbfaeb1bfd141f090af696547d69f91c18f46350299f00d + md5: 28b4cf9065681f43cc567410edf8243d + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 49181 + timestamp: 1715010467661 - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda sha256: 4fb9789154bd666ca74e428d973df81087a697dbb987775bc3198d2215f240f8 md5: 436c165519e140cb08d246a4472a9d6a @@ -9351,6 +16583,21 @@ packages: - pkg:pypi/urllib3?source=hash-mapping size: 101735 timestamp: 1750271478254 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + sha256: af641ca7ab0c64525a96fd9ad3081b0f5bcf5d1cbb091afb3f6ed5a9eee6111a + md5: 9272daa869e03efe68833e3dc7a02130 + depends: + - backports.zstd >=1.0.0 + - brotli-python >=1.2.0 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/urllib3?source=hash-mapping + size: 103172 + timestamp: 1767817860341 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_26.conda sha256: b388d88e04aa0257df4c1d28f8d85d985ad07c1e5645aa62335673c98704c4c6 md5: 18b6bf6f878501547786f7bf8052a34d @@ -9363,6 +16610,18 @@ packages: purls: [] size: 17914 timestamp: 1750371462857 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda + sha256: 9dc40c2610a6e6727d635c62cced5ef30b7b30123f5ef67d6139e23d21744b3a + md5: 1e610f2416b6acdd231c5f573d754a0f + depends: + - vc14_runtime >=14.44.35208 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 19356 + timestamp: 1767320221521 - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_26.conda sha256: 7bad6e25a7c836d99011aee59dcf600b7f849a6fa5caa05a406255527e80a703 md5: 14d65350d3f5c8ff163dc4f76d6e2830 @@ -9375,6 +16634,31 @@ packages: purls: [] size: 756109 timestamp: 1750371459116 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda + sha256: 02732f953292cce179de9b633e74928037fa3741eb5ef91c3f8bae4f761d32a5 + md5: 37eb311485d2d8b2c419449582046a42 + depends: + - ucrt >=10.0.20348.0 + - vcomp14 14.44.35208 h818238b_34 + constrains: + - vs2015_runtime 14.44.35208.* *_34 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 683233 + timestamp: 1767320219644 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda + sha256: 878d5d10318b119bd98ed3ed874bd467acbe21996e1d81597a1dbf8030ea0ce6 + md5: 242d9f25d2ae60c76b38a5e42858e51d + depends: + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.44.35208.* *_34 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 115235 + timestamp: 1767320173250 - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_26.conda sha256: d18d77c8edfbad37fa0e0bb0f543ad80feb85e8fe5ced0f686b8be463742ec0b md5: 312f3a0a6b3c5908e79ce24002411e32 @@ -9383,8 +16667,18 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] - size: 17888 - timestamp: 1750371463202 + size: 17888 + timestamp: 1750371463202 +- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + sha256: 63ff4ec6e5833f768d402f5e95e03497ce211ded5b6f492e660e2bfc726ad24d + md5: f276d1de4553e8fca1dfb6988551ebb4 + depends: + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 19347 + timestamp: 1767320221943 - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda sha256: ba673427dcd480cfa9bbc262fd04a9b1ad2ed59a159bd8f7e750d4c52282f34c md5: 0f2ca7906bf166247d1d760c3422cb8a @@ -9399,6 +16693,20 @@ packages: purls: [] size: 330474 timestamp: 1751817998141 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda + sha256: ea374d57a8fcda281a0a89af0ee49a2c2e99cc4ac97cf2e2db7064e74e764bdb + md5: 996583ea9c796e5b915f7d7580b51ea6 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 334139 + timestamp: 1773959575393 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda sha256: f21e63e8f7346f9074fd00ca3b079bd3d2fa4d71f1f89d5b6934bf31446dc2a5 md5: b68980f2495d096e71c7fd9d7ccf63e6 @@ -9410,6 +16718,29 @@ packages: - pkg:pypi/wcwidth?source=hash-mapping size: 32581 timestamp: 1733231433877 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + sha256: e298b508b2473c4227206800dfb14c39e4b14fd79d4636132e9e1e4244cdf4aa + md5: c3197f8c0d5b955c904616b716aca093 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wcwidth?source=hash-mapping + size: 71550 + timestamp: 1770634638503 +- conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda + sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae + md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + depends: + - packaging >=24.0 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wheel?source=hash-mapping + size: 31858 + timestamp: 1769139207397 - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f md5: 46e441ba871f524e2b067929da3051c2 @@ -9464,6 +16795,163 @@ packages: - pkg:pypi/wrapt?source=hash-mapping size: 62232 timestamp: 1736869967220 +- pypi: https://files.pythonhosted.org/packages/99/92/545eb2ca17fc0e05456728d7e4378bfee48d66433ae3b7e71948e46826fb/xarray-2026.2.0-py3-none-any.whl + name: xarray + version: 2026.2.0 + sha256: e927d7d716ea71dea78a13417970850a640447d8dd2ceeb65c5687f6373837c9 + requires_dist: + - numpy>=1.26 + - packaging>=24.1 + - pandas>=2.2 + - scipy>=1.13 ; extra == 'accel' + - bottleneck ; extra == 'accel' + - numbagg>=0.8 ; extra == 'accel' + - numba>=0.62 ; extra == 'accel' + - flox>=0.9 ; extra == 'accel' + - opt-einsum ; extra == 'accel' + - xarray[accel,etc,io,parallel,viz] ; extra == 'complete' + - netcdf4>=1.6.0 ; extra == 'io' + - h5netcdf>=1.4.0 ; extra == 'io' + - pydap ; extra == 'io' + - scipy>=1.13 ; extra == 'io' + - zarr>=2.18 ; extra == 'io' + - fsspec ; extra == 'io' + - cftime ; extra == 'io' + - pooch ; extra == 'io' + - sparse>=0.15 ; extra == 'etc' + - dask[complete] ; extra == 'parallel' + - cartopy>=0.23 ; extra == 'viz' + - matplotlib>=3.8 ; extra == 'viz' + - nc-time-axis ; extra == 'viz' + - seaborn ; extra == 'viz' + - pandas-stubs ; extra == 'types' + - scipy-stubs ; extra == 'types' + - types-pyyaml ; extra == 'types' + - types-pygments ; extra == 'types' + - types-colorama ; extra == 'types' + - types-decorator ; extra == 'types' + - types-defusedxml ; extra == 'types' + - types-docutils ; extra == 'types' + - types-networkx ; extra == 'types' + - types-pexpect ; extra == 'types' + - types-psutil ; extra == 'types' + - types-pycurl ; extra == 'types' + - types-openpyxl ; extra == 'types' + - types-python-dateutil ; extra == 'types' + - types-pytz ; extra == 'types' + - types-requests ; extra == 'types' + - types-setuptools ; extra == 'types' + requires_python: '>=3.11' +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d + md5: fdc27cb255a7a2cc73b7919a968b48f0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20772 + timestamp: 1750436796633 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + sha256: c2be9cae786fdb2df7c2387d2db31b285cf90ab3bfabda8fa75a596c3d20fc67 + md5: 4d1fc190b99912ed557a8236e958c559 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.13 + - libxcb >=1.17.0,<2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20829 + timestamp: 1763366954390 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + purls: [] + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 51689 + timestamp: 1718844051451 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.2.5-h988505b_2.conda + sha256: 339ab0ff05170a295e59133cd0fa9a9c4ba32b6941c8a2a73484cc13f81e248a + md5: 9dda9667feba914e0e80b95b82f7402b + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1648243 + timestamp: 1727733890754 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + sha256: 863a7c2a991a4399d362d42c285ebc20748a4ea417647ebd3a171e2220c7457d + md5: 50b7325437ef0901fe25dc5c9e743b88 + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1277884 + timestamp: 1727733870250 +- conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.2.5-he0c23c2_2.conda + sha256: 759ae22a0a221dc1c0ba39684b0dcf696aab4132478e17e56a0366ded519e54e + md5: 82b6eac3c198271e98b48d52d79726d8 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 3574017 + timestamp: 1727734520239 - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.45-hb9d3cd8_0.conda sha256: a5d4af601f71805ec67403406e147c48d6bad7aaeae92b0622b7e2396842d3fe md5: 397a013c2dc5145a70737871aaa87e98 @@ -9476,6 +16964,29 @@ packages: purls: [] size: 392406 timestamp: 1749375847832 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + sha256: 19c2bb14bec84b0e995b56b752369775c75f1589314b43733948bb5f471a6915 + md5: b56e0c8432b56decafae7e78c5f29ba5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 399291 + timestamp: 1772021302485 +- conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.1-pyhd8ed1ab_3.tar.bz2 + sha256: a97030fc6cde1a335c035392db47efdb4add7d1db76a11b4bfac6ec7fc42bfe5 + md5: 97dfcd5ff030d829b55f67e82f928093 + depends: + - python >=3.6 + license: BSD-3-Clause AND BSD-4-Clause + license_family: BSD + purls: + - pkg:pypi/xlrd?source=hash-mapping + size: 94071 + timestamp: 1610224499738 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b md5: fb901ff28063514abb6046c9ec2c4a45 @@ -9538,6 +17049,18 @@ packages: purls: [] size: 835896 timestamp: 1741901112627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda + sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 + md5: 861fb6ccbc677bb9a9fb2468430b9c6a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 839652 + timestamp: 1770819209719 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.12-hf48077a_0.conda sha256: 3f0854bc592d31a5742c6c4550914a976c89d73b74d052545b418521d21b3043 md5: c4f435ac09fd41606bba9f0deb12e412 @@ -9551,6 +17074,17 @@ packages: purls: [] size: 951392 timestamp: 1741902072732 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b + md5: b2895afaf55bf96a8c8282a2e47a5de0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 15321 + timestamp: 1762976464266 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 @@ -9562,6 +17096,16 @@ packages: purls: [] size: 14780 timestamp: 1734229004433 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hc919400_1.conda + sha256: adae11db0f66f86156569415ed79cda75b2dbf4bea48d1577831db701438164f + md5: 78b548eed8227a689f93775d5d23ae09 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 14105 + timestamp: 1762976976084 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-h0e40799_0.conda sha256: 047836241b2712aab1e29474a6f728647bff3ab57de2806b0bb0a6cf9a2d2634 md5: 2ffbfae4548098297c033228256eb96e @@ -9574,6 +17118,18 @@ packages: purls: [] size: 108013 timestamp: 1734229474049 +- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + sha256: 156a583fa43609507146de1c4926172286d92458c307bb90871579601f6bc568 + md5: 8436cab9a76015dfe7208d3c9f97c156 + depends: + - libgcc >=14 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + purls: [] + size: 109246 + timestamp: 1762977105140 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda sha256: 753f73e990c33366a91fd42cc17a3d19bb9444b9ca5ff983605fa9e953baf57f md5: d3c295b50f092ab525ffe3c2aa4b7413 @@ -9587,6 +17143,19 @@ packages: purls: [] size: 13603 timestamp: 1727884600744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda + sha256: 048c103000af9541c919deef03ae7c5e9c570ffb4024b42ecb58dbde402e373a + md5: f2ba4192d38b6cef2bb2c25029071d90 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 14415 + timestamp: 1770044404696 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a md5: 2ccd714aa2242315acaf0a67faea780b @@ -9615,6 +17184,17 @@ packages: purls: [] size: 13217 timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 + md5: 1dafce8548e38671bea82e3f5c6ce22f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 20591 + timestamp: 1762976546182 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb9d3cd8_0.conda sha256: 6b250f3e59db07c2514057944a3ea2044d6a8cdde8a47b6497c254520fade1ee md5: 8035c64cb77ed555e3f150b7b3972480 @@ -9626,6 +17206,16 @@ packages: purls: [] size: 19901 timestamp: 1727794976192 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hc919400_1.conda + sha256: f7fa0de519d8da589995a1fe78ef74556bb8bc4172079ae3a8d20c3c81354906 + md5: 9d1299ace1924aa8f4e0bc8e71dd0cf7 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 19156 + timestamp: 1762977035194 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-h0e40799_0.conda sha256: 9075f98dcaa8e9957e4a3d9d30db05c7578a536950a31c200854c5c34e1edb2c md5: 8393c0f7e7870b4eb45553326f81f0ff @@ -9638,6 +17228,18 @@ packages: purls: [] size: 69920 timestamp: 1727795651979 +- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + sha256: 366b8ae202c3b48958f0b8784bbfdc37243d3ee1b1cd4b8e76c10abe41fa258b + md5: a7c03e38aa9c0e84d41881b9236eacfb + depends: + - libgcc >=14 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + purls: [] + size: 70691 + timestamp: 1762977015220 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda sha256: da5dc921c017c05f38a38bd75245017463104457b63a1ce633ed41f214159c14 md5: febbab7d15033c913d53c7a2c102309d @@ -9650,6 +17252,18 @@ packages: purls: [] size: 50060 timestamp: 1727752228921 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda + sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f + md5: 34e54f03dfea3e7a2dcf1453a85f1085 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 50326 + timestamp: 1769445253162 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.6-h0e40799_0.conda sha256: 7fdc3135a340893aa544921115c3994ef4071a385d47cc11232d818f006c63e4 md5: 4cd74e74f063fb6900d6eed2e9288112 @@ -9675,6 +17289,18 @@ packages: purls: [] size: 19575 timestamp: 1727794961233 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 + md5: ba231da7fccf9ea1e768caf5c7099b84 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20071 + timestamp: 1759282564045 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a md5: 17dcc85db3c7886650b8908b183d6876 @@ -9732,6 +17358,20 @@ packages: purls: [] size: 29599 timestamp: 1727794874300 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda + sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 + md5: e192019153591938acf7322b6459d36e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 30456 + timestamp: 1769445263457 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 md5: 96d57aba173e878a2089d5638016dc5e @@ -9773,6 +17413,41 @@ packages: purls: [] size: 32808 timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + sha256: 64db17baaf36fa03ed8fae105e2e671a7383e22df4077486646f7dbf12842c9f + md5: 665d152b9c6e78da404086088077c844 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 18701 + timestamp: 1769434732453 +- conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + sha256: 663ea9b00d68c2da309114923924686ab6d3f59ef1b196c5029ba16799e7bb07 + md5: 4487b9c371d0161d54b5c7bbd890c0fc + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/xyzservices?source=compressed-mapping + size: 51732 + timestamp: 1774900074457 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 85189 + timestamp: 1753484064210 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535 md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae @@ -9791,6 +17466,31 @@ packages: purls: [] size: 88016 timestamp: 1641347076660 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + sha256: b03433b13d89f5567e828ea9f1a7d5c5d697bf374c28a4168d71e9464f5dafac + md5: 78a0fe9e9c50d2c381e8ee47e3ea437d + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 83386 + timestamp: 1753484079473 +- conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda + sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 + md5: 433699cba6602098ae8957a323da2664 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + purls: [] + size: 63944 + timestamp: 1753484092156 - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2 sha256: 4e2246383003acbad9682c7c63178e2e715ad0eb84f03a8df1fbfba455dfedc5 md5: adbfb9f45d1004a26763652246a33764 @@ -9894,6 +17594,29 @@ packages: purls: [] size: 2527503 timestamp: 1731585151036 +- conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d + md5: e52c2ef711ccf31bb7f70ca87d144b9e + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/zict?source=hash-mapping + size: 36341 + timestamp: 1733261642963 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae + md5: 30cd29cb87d819caead4d55184c1d115 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=hash-mapping + size: 24194 + timestamp: 1764460141901 - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda sha256: 7560d21e1b021fd40b65bfb72f67945a3fcb83d78ad7ccf37b8b3165ec3b68ad md5: df5e78d904988eb55042c0c97446079f @@ -9913,6 +17636,7 @@ packages: - libzlib 1.3.2 h25fd6f3_2 license: Zlib license_family: Other + purls: [] size: 95931 timestamp: 1774072620848 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_2.conda @@ -9923,8 +17647,57 @@ packages: - libzlib 1.3.2 h8088a28_2 license: Zlib license_family: Other + purls: [] size: 81123 timestamp: 1774072974535 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + sha256: ef408f85f664a4b9c9dac3cb2e36154d9baa15a88984ea800e11060e0f2394a1 + md5: 5187ecf958be3c39110fe691cbd6873e + depends: + - libzlib 1.3.2 hfd05255_2 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Zlib + license_family: Other + purls: [] + size: 850351 + timestamp: 1774072891049 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda + sha256: ea4e50c465d70236408cb0bfe0115609fd14db1adcd8bd30d8918e0291f8a75f + md5: 2aadb0d17215603a82a2a6b0afd9a4cb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + purls: [] + size: 122618 + timestamp: 1770167931827 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-ng-2.3.3-hed4e4f5_1.conda + sha256: a339606a6b224bb230ff3d711e801934f3b3844271df9720165e0353716580d4 + md5: d99c2a23a31b0172e90f456f580b695e + depends: + - __osx >=11.0 + - libcxx >=19 + license: Zlib + license_family: Other + purls: [] + size: 94375 + timestamp: 1770168363685 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda + sha256: 71332532332d13b5dbe57074ddcf82ae711bdc132affa5a2982a29ffa06dc234 + md5: 46a21c0a4e65f1a135251fc7c8663f83 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Zlib + license_family: Other + purls: [] + size: 124542 + timestamp: 1770167984883 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda sha256: ff62d2e1ed98a3ec18de7e5cf26c0634fd338cb87304cf03ad8cbafe6fe674ba md5: 630db208bc7bbb96725ce9832c7423bb @@ -9971,6 +17744,17 @@ packages: - pkg:pypi/zstandard?source=hash-mapping size: 444685 timestamp: 1745870132644 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 + depends: + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 601375 + timestamp: 1764777111296 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 @@ -9995,6 +17779,30 @@ packages: purls: [] size: 399979 timestamp: 1742433432699 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + sha256: 9485ba49e8f47d2b597dd399e88f4802e100851b27c21d7525625b0b4025a5d9 + md5: ab136e4c34e97f34fb621d2592a393d8 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 433413 + timestamp: 1764777166076 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 + md5: 053b84beec00b71ea8ff7a4f84b55207 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 388453 + timestamp: 1764777142545 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-hbeecb71_2.conda sha256: bc64864377d809b904e877a98d0584f43836c9f2ef27d3d2a1421fa6eae7ca04 md5: 21f56217d6125fb30c3c3f10c786d751 diff --git a/pixi.toml b/pixi.toml index 9734530..91df14c 100644 --- a/pixi.toml +++ b/pixi.toml @@ -25,3 +25,31 @@ pyarrow = ">=23.0.1,<24" [tasks] test-integration = {cmd = "pytest tests/integration_test.py"} + +[feature.powerplants] +channels = ["conda-forge", "nodefaults"] + +[feature.powerplants.dependencies] +click = "8.2.1.*" +cmap = "0.7.1.*" +dask = "2025.7.0.*" +geopandas = "1.0.1.*" +ipdb = "0.13.13.*" +openpyxl = "3.1.5.*" +numpy = "2.3.5.*" +matplotlib = "3.10.3.*" +pandas = "2.3.0.*" +pandera-geopandas = "0.24.0.*" +pyarrow = "19.0.1.*" +pyproj = "3.7.1.*" +python = "3.12.9.*" +pyyaml = "6.0.2.*" +xlrd = "2.0.1.*" +pip = "25.1.1.*" +mypy = "==1.20.0" + +[feature.powerplants.pypi-dependencies] +gregor = { git = "https://github.com/jnnr/gregor.git", rev = "fix-memory-explosion" } + +[environments] +powerplants = { features = ["powerplants"], no-default-feature = true } diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 468b04e..82c4751 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -81,10 +81,8 @@ rule prepare_solar_csp: message: "Preparing concentrating solar powerplants using the Global Solar Power Tracker (GEM-GSPT) dataset." params: - dc_ac_ratio=1, # CSP is already an AC technology - tech_name=config["category"]["solar"]["technology_mapping"]["csp"], + csp_name=config["category"]["solar"]["technology_mapping"]["csp"], input: - script=workflow.source_path("../scripts/prepare_solar_csp.py"), gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: path="/automatic/prepared/solar_csp.parquet", @@ -92,11 +90,8 @@ rule prepare_solar_csp: "/prepare_solar_csp.log", conda: "../envs/powerplants.yaml" - shell: - """ - python {input.script:q} {input.gem_gspt:q} -o {output.path:q} \ - -t "{params.tech_name}" -r {params.dc_ac_ratio} 2> {log:q} - """ + script: + "../scripts/prepare_solar_csp.py" if config["category"]["wind"]["source"] == "gem": diff --git a/workflow/scripts/prepare_solar_csp.py b/workflow/scripts/prepare_solar_csp.py index bd18f54..a3f4da8 100644 --- a/workflow/scripts/prepare_solar_csp.py +++ b/workflow/scripts/prepare_solar_csp.py @@ -1,20 +1,19 @@ """Prepare a clean CSP dataset using our schemas.""" +import sys +from typing import TYPE_CHECKING, Any + import _gem as gem import _schemas import _utils -import click import geopandas as gpd +if TYPE_CHECKING: + snakemake: Any -@click.command() -@click.argument("gem_gspt_path", type=click.Path(dir_okay=False)) -@click.option("-o", "output_path", type=click.Path(dir_okay=False), required=True) -@click.option("-t", "tech_name", type=str, default="csp") -@click.option("-r", "dc_ac_ratio", default=1.25) -def main( - gem_gspt_path: str, tech_name: str, output_path: str, dc_ac_ratio: float = 1.25 -): +def prepare_solar_csp( + gem_gspt_path: str, tech_name: str, dc_ac_ratio: float = 1 +) -> gpd.GeoDataFrame: """Obtain CSP power locations using GEM-GSPT data.""" raw_df = gem.read_gem_dataset(gem_gspt_path, gem.GEM_GSPT_SHEETS) raw_df = raw_df[raw_df["technology_type"] == "Solar Thermal"] @@ -39,8 +38,15 @@ def main( } ).reset_index(drop=True) schema = _schemas.build_schema({"csp": tech_name}, "prepare") - schema.validate(csp_df).to_parquet(output_path) + return schema.validate(csp_df) + + +def main() -> None: + """Main snakemake process.""" + csp_gdf = prepare_solar_csp(snakemake.input.gem_gspt, snakemake.params.csp_name) + csp_gdf.to_parquet(snakemake.output.path) if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") main() From aee11a56c01176e06808b60731ebf9861aec08b2 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 15:53:41 +0200 Subject: [PATCH 07/19] simplify utility pv preparation --- workflow/rules/prepare.smk | 10 ++----- workflow/scripts/prepare_solar_utility_pv.py | 31 ++++++++++++++------ 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 82c4751..461ef98 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -59,9 +59,8 @@ rule prepare_solar_utility_pv: "Preparing utility PV powerplants using the TZ-SAM and GEM-GSPT datasets." params: dc_ac_ratio=config["category"]["solar"]["dc_ac_ratio"]["utility_pv"], - tech_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], + utility_pv_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], input: - script=workflow.source_path("../scripts/prepare_solar_utility_pv.py"), tz_sam="/automatic/downloads/TZ-SAM.gpkg", gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: @@ -70,11 +69,8 @@ rule prepare_solar_utility_pv: "/prepare_solar_utility_pv.log", conda: "../envs/powerplants.yaml" - shell: - """ - python {input.script:q} {input.tz_sam:q} {input.gem_gspt:q} \ - -o {output.path:q} -t "{params.tech_name}" -r {params.dc_ac_ratio} 2> {log:q} - """ + script: + "../scripts/prepare_solar_utility_pv.py" rule prepare_solar_csp: diff --git a/workflow/scripts/prepare_solar_utility_pv.py b/workflow/scripts/prepare_solar_utility_pv.py index 405cda9..d4f5557 100644 --- a/workflow/scripts/prepare_solar_utility_pv.py +++ b/workflow/scripts/prepare_solar_utility_pv.py @@ -1,13 +1,18 @@ """Processing of the Tranzition Zero Solar Asset Mapper (TZ-SAM) dataset.""" +import sys +from typing import TYPE_CHECKING, Any + import _gem as gem import _schemas import _utils -import click import geopandas as gpd import numpy as np import pandas as pd +if TYPE_CHECKING: + snakemake: Any + def _start_year_tz_sam(tz_dam_df: pd.DataFrame): """Assume installation occurred in the middle of the detection window.""" @@ -85,13 +90,9 @@ def get_gem_mismatch( return future_gem_df.loc[~future_gem_df.index.isin(intersecting.index)] -@click.command() -@click.argument("tz_sam_path", type=click.Path(dir_okay=False)) -@click.argument("gem_gspt_path", type=click.Path(dir_okay=False)) -@click.option("-o", "output_path", type=click.Path(dir_okay=False), required=True) -@click.option("-t", "tech_name", type=str, default="utility_pv") -@click.option("-r", "dc_ac_ratio", type=float, default=1.25) -def main(tz_sam_path: str, gem_gspt_path: str, output_path, tech_name, dc_ac_ratio): +def prepare_solar_utility_pv( + tz_sam_path: str, gem_gspt_path: str, tech_name: str, dc_ac_ratio: float = 1.25 +): """Obtain utility-scale PV locations by combinging GEM-GSPT and TZ-SAM data. - TZ-SAM is the primary source for current facilities @@ -148,7 +149,19 @@ def main(tz_sam_path: str, gem_gspt_path: str, output_path, tech_name, dc_ac_rat utility_pv = utility_pv.reset_index(drop=True) schema = _schemas.build_schema({"utility_pv": tech_name}, "prepare") - schema.validate(utility_pv).to_parquet(output_path) + return schema.validate(utility_pv) + + +def main() -> None: + """Main snakemake process.""" + sys.stderr = open(snakemake.log[0], "w") + utility_pv_gdf = prepare_solar_utility_pv( + snakemake.input.tz_sam, + snakemake.input.gem_gspt, + snakemake.params.utility_pv_name, + snakemake.params.dc_ac_ratio, + ) + utility_pv_gdf.to_parquet(snakemake.output.path) if __name__ == "__main__": From fe256b62b6dae8712c42107aad4934c1a9d8f9fe Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 16:08:57 +0200 Subject: [PATCH 08/19] combine large solar project rules --- workflow/rules/prepare.smk | 27 +++------- ...r_utility_pv.py => prepare_large_solar.py} | 46 ++++++++++++++-- workflow/scripts/prepare_solar_csp.py | 52 ------------------- 3 files changed, 48 insertions(+), 77 deletions(-) rename workflow/scripts/{prepare_solar_utility_pv.py => prepare_large_solar.py} (77%) delete mode 100644 workflow/scripts/prepare_solar_csp.py diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 461ef98..7c7a1da 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -54,40 +54,25 @@ rule prepare_hydropower: "../scripts/prepare_hydropower.py" -rule prepare_solar_utility_pv: +rule prepare_large_solar: message: "Preparing utility PV powerplants using the TZ-SAM and GEM-GSPT datasets." params: dc_ac_ratio=config["category"]["solar"]["dc_ac_ratio"]["utility_pv"], utility_pv_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], - input: - tz_sam="/automatic/downloads/TZ-SAM.gpkg", - gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", - output: - path="/automatic/prepared/solar_utility_pv.parquet", - log: - "/prepare_solar_utility_pv.log", - conda: - "../envs/powerplants.yaml" - script: - "../scripts/prepare_solar_utility_pv.py" - - -rule prepare_solar_csp: - message: - "Preparing concentrating solar powerplants using the Global Solar Power Tracker (GEM-GSPT) dataset." - params: csp_name=config["category"]["solar"]["technology_mapping"]["csp"], input: + tz_sam="/automatic/downloads/TZ-SAM.gpkg", gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: - path="/automatic/prepared/solar_csp.parquet", + utility_pv="/automatic/prepared/solar_utility_pv.parquet", + csp="/automatic/prepared/solar_csp.parquet", log: - "/prepare_solar_csp.log", + "/prepare_large_solar.log", conda: "../envs/powerplants.yaml" script: - "../scripts/prepare_solar_csp.py" + "../scripts/prepare_large_solar.py" if config["category"]["wind"]["source"] == "gem": diff --git a/workflow/scripts/prepare_solar_utility_pv.py b/workflow/scripts/prepare_large_solar.py similarity index 77% rename from workflow/scripts/prepare_solar_utility_pv.py rename to workflow/scripts/prepare_large_solar.py index d4f5557..40d3aff 100644 --- a/workflow/scripts/prepare_solar_utility_pv.py +++ b/workflow/scripts/prepare_large_solar.py @@ -1,4 +1,8 @@ -"""Processing of the Tranzition Zero Solar Asset Mapper (TZ-SAM) dataset.""" +"""Processing of large-scale solar powerplant datasets. + +- Tranzition Zero Solar Asset Mapper (TZ-SAM) dataset. +- GEM Global Solar Power Tracker (GEM-GSPT) dataset. +""" import sys from typing import TYPE_CHECKING, Any @@ -52,7 +56,7 @@ def fill_tz_with_gem( return filled_tz_sam -def get_gem_mismatch( +def get_gem_v_tz_mismatch( gem_df: gpd.GeoDataFrame, tz_sam_df: gpd.GeoDataFrame, valid_status: list[str] | None = None, @@ -139,7 +143,7 @@ def prepare_solar_utility_pv( ) filled_tz_df = fill_tz_with_gem(gem_df, tz_df) - gem_mismatch_df = get_gem_mismatch( + gem_mismatch_df = get_gem_v_tz_mismatch( gem_df, tz_df, valid_status=["announced", "pre-construction", "construction", "retired"], @@ -152,6 +156,37 @@ def prepare_solar_utility_pv( return schema.validate(utility_pv) +def prepare_solar_csp( + gem_gspt_path: str, tech_name: str, dc_ac_ratio: float = 1 +) -> gpd.GeoDataFrame: + """Obtain CSP power locations using GEM-GSPT data.""" + raw_df = gem.read_gem_dataset(gem_gspt_path, gem.GEM_GSPT_SHEETS) + raw_df = raw_df[raw_df["technology_type"] == "Solar Thermal"] + + csp_df = gpd.GeoDataFrame( + { + "powerplant_id": _utils.get_combined_text_col( + raw_df, ["gem_location_id", "gem_phase_id"], prefix="GEM_" + ), + "name": _utils.get_combined_text_col( + raw_df, ["project_name", "phase_name"] + ), + "category": "solar", + "technology": tech_name, + "output_capacity_mw": gem.output_capacity_mw_gspt( + raw_df, dc_ac_ratio, "AC" + ), + "start_year": gem.year_col(raw_df, "start"), + "end_year": gem.year_col(raw_df, "end"), + "status": gem.status_col(raw_df), + "geometry": _utils.get_point_col(raw_df, "longitude", "latitude"), + } + ).reset_index(drop=True) + schema = _schemas.build_schema({"csp": tech_name}, "prepare") + return schema.validate(csp_df) + + + def main() -> None: """Main snakemake process.""" sys.stderr = open(snakemake.log[0], "w") @@ -161,7 +196,10 @@ def main() -> None: snakemake.params.utility_pv_name, snakemake.params.dc_ac_ratio, ) - utility_pv_gdf.to_parquet(snakemake.output.path) + csp_gdf = prepare_solar_csp(snakemake.input.gem_gspt, snakemake.params.csp_name) + + utility_pv_gdf.to_parquet(snakemake.output.utility_pv) + csp_gdf.to_parquet(snakemake.output.csp) if __name__ == "__main__": diff --git a/workflow/scripts/prepare_solar_csp.py b/workflow/scripts/prepare_solar_csp.py deleted file mode 100644 index a3f4da8..0000000 --- a/workflow/scripts/prepare_solar_csp.py +++ /dev/null @@ -1,52 +0,0 @@ -"""Prepare a clean CSP dataset using our schemas.""" - -import sys -from typing import TYPE_CHECKING, Any - -import _gem as gem -import _schemas -import _utils -import geopandas as gpd - -if TYPE_CHECKING: - snakemake: Any - -def prepare_solar_csp( - gem_gspt_path: str, tech_name: str, dc_ac_ratio: float = 1 -) -> gpd.GeoDataFrame: - """Obtain CSP power locations using GEM-GSPT data.""" - raw_df = gem.read_gem_dataset(gem_gspt_path, gem.GEM_GSPT_SHEETS) - raw_df = raw_df[raw_df["technology_type"] == "Solar Thermal"] - - csp_df = gpd.GeoDataFrame( - { - "powerplant_id": _utils.get_combined_text_col( - raw_df, ["gem_location_id", "gem_phase_id"], prefix="GEM_" - ), - "name": _utils.get_combined_text_col( - raw_df, ["project_name", "phase_name"] - ), - "category": "solar", - "technology": tech_name, - "output_capacity_mw": gem.output_capacity_mw_gspt( - raw_df, dc_ac_ratio, "AC" - ), - "start_year": gem.year_col(raw_df, "start"), - "end_year": gem.year_col(raw_df, "end"), - "status": gem.status_col(raw_df), - "geometry": _utils.get_point_col(raw_df, "longitude", "latitude"), - } - ).reset_index(drop=True) - schema = _schemas.build_schema({"csp": tech_name}, "prepare") - return schema.validate(csp_df) - - -def main() -> None: - """Main snakemake process.""" - csp_gdf = prepare_solar_csp(snakemake.input.gem_gspt, snakemake.params.csp_name) - csp_gdf.to_parquet(snakemake.output.path) - - -if __name__ == "__main__": - sys.stderr = open(snakemake.log[0], "w") - main() From 4cf74e9a0fa0f4476dbbd03a69171c23d4399cf9 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 16:42:27 +0200 Subject: [PATCH 09/19] fossil preparation merge: tidying up --- workflow/rules/prepare.smk | 32 +++++++++++----------- workflow/scripts/prepare_fossil_coal.py | 29 ++++++++++---------- workflow/scripts/prepare_fossil_oil_gas.py | 24 ++++++++-------- 3 files changed, 43 insertions(+), 42 deletions(-) diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 7c7a1da..b40a30a 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -125,42 +125,42 @@ else: ) -rule prepare_fossil_coal: +rule prepare_bioenergy: message: - "Preparing coal powerplants using the Global Coal Power Tracker (GCPT) dataset." + "Preparing bioenergy powerplants using the Global Bioenergy Power Tracker (GBPT) dataset." params: - technology_mapping=config["category"]["fossil"]["technology_mapping"]["coal"], + technology_mapping=config["category"]["bioenergy"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", + gem_gbpt="/automatic/downloads/GEM_GBPT.xlsx", output: - plants=temp("/automatic/temp/plants_fossil_coal.parquet"), - fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), + plants=temp("/automatic/temp/plants_bioenergy.parquet"), + fuels=temp("/automatic/temp/fuels_bioenergy.parquet"), log: - "/prepare_fossil_coal.log", + "/prepare_bioenergy.log", conda: "../envs/powerplants.yaml" script: - "../scripts/prepare_fossil_coal.py" + "../scripts/prepare_bioenergy.py" -rule prepare_bioenergy: +rule prepare_fossil_coal: message: - "Preparing bioenergy powerplants using the Global Bioenergy Power Tracker (GBPT) dataset." + "Preparing coal powerplants using the Global Coal Power Tracker (GCPT) dataset." params: - technology_mapping=config["category"]["bioenergy"]["technology_mapping"], + technology_mapping=config["category"]["fossil"]["technology_mapping"]["coal"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gbpt="/automatic/downloads/GEM_GBPT.xlsx", + gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", output: - plants=temp("/automatic/temp/plants_bioenergy.parquet"), - fuels=temp("/automatic/temp/fuels_bioenergy.parquet"), + plants=temp("/automatic/temp/plants_fossil_coal.parquet"), + fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), log: - "/prepare_bioenergy.log", + "/prepare_fossil_coal.log", conda: "../envs/powerplants.yaml" script: - "../scripts/prepare_bioenergy.py" + "../scripts/prepare_fossil_coal.py" rule prepare_fossil_oil_gas: diff --git a/workflow/scripts/prepare_fossil_coal.py b/workflow/scripts/prepare_fossil_coal.py index 92ce8a0..074e960 100644 --- a/workflow/scripts/prepare_fossil_coal.py +++ b/workflow/scripts/prepare_fossil_coal.py @@ -11,7 +11,6 @@ if TYPE_CHECKING: snakemake: Any -sys.stderr = open(snakemake.log[0], "w") STATUS_MAPPING = { "announced": "announced", @@ -71,22 +70,16 @@ def _fuel(gem_df: pd.DataFrame) -> pd.Series: ) -def main( - gem_gcpt_path: str, - technology_mapping: dict[str, str], - fuel_mapping: dict[str, str], - output_plants_path: str, - output_fuels_path: str, -): +def prepare_gem_gcpt( + gem_gcpt_path: str, technology_mapping: dict[str, str], fuel_mapping: dict[str, str] +) -> tuple[gpd.GeoDataFrame, pd.DataFrame]: """Obtain coal power locations using GEM-GCPT data.""" raw_df = gem.read_gem_dataset(gem_gcpt_path, ["Units"]) # Create fuel lookups - fuels_df, fuel_class = gem.get_unique_fuel_dataset( _fuel(raw_df), fuel_mapping, "coal: unknown", "c" ) - _schemas.FuelSchema.validate(fuels_df).to_parquet(output_fuels_path) coal_df = gpd.GeoDataFrame( { @@ -109,14 +102,20 @@ def main( } ).reset_index(drop=True) schema = _schemas.build_schema(technology_mapping, "prepare") - schema.validate(coal_df).to_parquet(output_plants_path) + return schema.validate(coal_df), _schemas.FuelSchema.validate(fuels_df) -if __name__ == "__main__": - main( +def main() -> None: + """Main snakemake process.""" + coal_plants, coal_fuels = prepare_gem_gcpt( gem_gcpt_path=snakemake.input.gem_gcpt, technology_mapping=snakemake.params.technology_mapping, fuel_mapping=snakemake.params.fuel_mapping, - output_plants_path=snakemake.output.plants, - output_fuels_path=snakemake.output.fuels, ) + coal_plants.to_parquet(snakemake.output.plants) + coal_fuels.to_parquet(snakemake.output.fuels) + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() diff --git a/workflow/scripts/prepare_fossil_oil_gas.py b/workflow/scripts/prepare_fossil_oil_gas.py index 2733115..6ab1aac 100644 --- a/workflow/scripts/prepare_fossil_oil_gas.py +++ b/workflow/scripts/prepare_fossil_oil_gas.py @@ -11,7 +11,6 @@ if TYPE_CHECKING: snakemake: Any -sys.stderr = open(snakemake.log[0], "w") def _retired_year(gem_df: pd.DataFrame): @@ -29,13 +28,11 @@ def _retired_year(gem_df: pd.DataFrame): ) -def main( +def prepare_gem_gogpt( gem_gogpt_path: str, technology_mapping: dict[str, str], fuel_mapping: dict[str, str], - output_plants_path: str, - output_fuels_path: str, -): +) -> tuple[gpd.GeoDataFrame, pd.DataFrame]: """Obtain oil and gas power plants using GEM-GOGPT data.""" raw_df = gem.read_gem_dataset( gem_gogpt_path, ["Gas & Oil Units", "sub-threshold units"] @@ -44,7 +41,6 @@ def main( fuels_df, fuel_class = gem.get_unique_fuel_dataset( raw_df["fuel"], fuel_mapping, "fossil gas: unknown", "og" ) - _schemas.FuelSchema.validate(fuels_df).to_parquet(output_fuels_path) oil_gas_df = gpd.GeoDataFrame( { @@ -67,14 +63,20 @@ def main( } ).reset_index(drop=True) schema = _schemas.build_schema(technology_mapping, "prepare") - schema.validate(oil_gas_df).to_parquet(output_plants_path) + return schema.validate(oil_gas_df), _schemas.FuelSchema.validate(fuels_df) -if __name__ == "__main__": - main( +def main() -> None: + """Main snakemake process.""" + og_plants, og_fuels = prepare_gem_gogpt( gem_gogpt_path=snakemake.input.gem_gogpt, technology_mapping=snakemake.params.technology_mapping, fuel_mapping=snakemake.params.fuel_mapping, - output_plants_path=snakemake.output.plants, - output_fuels_path=snakemake.output.fuels, ) + og_plants.to_parquet(snakemake.output.plants) + og_fuels.to_parquet(snakemake.output.fuels) + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() From 7e955d3372cc80d7cc66073470ea4e7d712f41b5 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:04:41 +0200 Subject: [PATCH 10/19] combine fossil fuel preparation --- workflow/rules/prepare.smk | 28 +---- workflow/scripts/prepare_fossil_coal.py | 121 --------------------- workflow/scripts/prepare_fossil_oil_gas.py | 110 +++++++++++++++++-- 3 files changed, 107 insertions(+), 152 deletions(-) delete mode 100644 workflow/scripts/prepare_fossil_coal.py diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index b40a30a..256c999 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -144,36 +144,20 @@ rule prepare_bioenergy: "../scripts/prepare_bioenergy.py" -rule prepare_fossil_coal: - message: - "Preparing coal powerplants using the Global Coal Power Tracker (GCPT) dataset." - params: - technology_mapping=config["category"]["fossil"]["technology_mapping"]["coal"], - fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], - input: - gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", - output: - plants=temp("/automatic/temp/plants_fossil_coal.parquet"), - fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), - log: - "/prepare_fossil_coal.log", - conda: - "../envs/powerplants.yaml" - script: - "../scripts/prepare_fossil_coal.py" - - rule prepare_fossil_oil_gas: message: "Preparing oil and gas powerplants using the Global Oil and Gas Power Tracker (GOGPT) dataset." params: - technology_mapping=config["category"]["fossil"]["technology_mapping"]["oil_gas"], + technology_mapping=config["category"]["fossil"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: + gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", gem_gogpt="/automatic/downloads/GEM_GOGPT.xlsx", output: - plants=temp("/automatic/temp/plants_fossil_oil_gas.parquet"), - fuels=temp("/automatic/temp/fuels_fossil_oil_gas.parquet"), + og_plants=temp("/automatic/temp/plants_fossil_oil_gas.parquet"), + og_fuels=temp("/automatic/temp/fuels_fossil_oil_gas.parquet"), + coal_plants=temp("/automatic/temp/plants_fossil_coal.parquet"), + coal_fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), log: "/prepare_fossil_oil_gas.log", conda: diff --git a/workflow/scripts/prepare_fossil_coal.py b/workflow/scripts/prepare_fossil_coal.py deleted file mode 100644 index 074e960..0000000 --- a/workflow/scripts/prepare_fossil_coal.py +++ /dev/null @@ -1,121 +0,0 @@ -"""Prepare a coal dataset using our schemas.""" - -import sys -from typing import TYPE_CHECKING, Any - -import _gem as gem -import _schemas -import _utils -import geopandas as gpd -import pandas as pd - -if TYPE_CHECKING: - snakemake: Any - -STATUS_MAPPING = { - "announced": "announced", - "pre-permit": "pre-construction", - "permitted": "pre-construction", - "construction": "construction", - "operating": "operating", - "mothballed": "retired", - "retired": "retired", -} - - -def _retired_year(gem_df: pd.DataFrame): - """Return retirement year. - - GCPT has two separate columns for this, requiring special handling. - """ - return gem_df.apply( - lambda x: ( - pd.to_numeric(x["retired_year"], errors="coerce") - if pd.notna(x["retired_year"]) - else pd.to_numeric(x["planned_retirement"], errors="coerce") - ), - axis="columns", - ) - - -def _ccs(gem_df: pd.DataFrame) -> pd.Series: - """Get CCS status of powerplants. - - Can be inferred from technology and coal consumption nomenclature. - """ - return ( - gem_df[["combustion_technology", "coal_type"]] - .fillna("") - .apply( - lambda x: ( - True - if ("CCS" in x["combustion_technology"] or "CCS" in x["coal_type"]) - else False - ), - axis="columns", - ) - ) - - -def _fuel(gem_df: pd.DataFrame) -> pd.Series: - """Harmonise fuel nomenclature with other GEM datasets.""" - # bituminous -> coal: bituminous - coal_type = "coal: " + gem_df["coal_type"].str.replace("with CCS", "").fillna( - "unknown" - ) - # bioenergy - paper mill wastes -> bioenergy: paper mill wastes - alternate_fuel = gem_df["alternate_fuel"].str.replace(" - ", ": ") - return coal_type.combine( - alternate_fuel, lambda a, b: f"{a.strip()}, {b.strip()}" if pd.notna(b) else a - ) - - -def prepare_gem_gcpt( - gem_gcpt_path: str, technology_mapping: dict[str, str], fuel_mapping: dict[str, str] -) -> tuple[gpd.GeoDataFrame, pd.DataFrame]: - """Obtain coal power locations using GEM-GCPT data.""" - raw_df = gem.read_gem_dataset(gem_gcpt_path, ["Units"]) - - # Create fuel lookups - fuels_df, fuel_class = gem.get_unique_fuel_dataset( - _fuel(raw_df), fuel_mapping, "coal: unknown", "c" - ) - - coal_df = gpd.GeoDataFrame( - { - "powerplant_id": _utils.get_combined_text_col( - raw_df, ["gem_location_id", "gem_unit/phase_id"], prefix="GEM_" - ), - "name": _utils.get_combined_text_col(raw_df, ["plant_name", "unit_name"]), - "category": "fossil", - "technology": gem.technology_col( - raw_df, technology_mapping, col="combustion_technology" - ), - "output_capacity_mw": raw_df["capacity_(mw)"], - "start_year": gem.year_col(raw_df, "start"), - "end_year": _retired_year(raw_df), - "status": gem.status_col(raw_df, mapping=STATUS_MAPPING), - "geometry": _utils.get_point_col(raw_df, "longitude", "latitude"), - "ccs": _ccs(raw_df), - "chp": False, # Not specified in GCPT - "fuel_class": fuel_class, - } - ).reset_index(drop=True) - schema = _schemas.build_schema(technology_mapping, "prepare") - return schema.validate(coal_df), _schemas.FuelSchema.validate(fuels_df) - - -def main() -> None: - """Main snakemake process.""" - coal_plants, coal_fuels = prepare_gem_gcpt( - gem_gcpt_path=snakemake.input.gem_gcpt, - technology_mapping=snakemake.params.technology_mapping, - fuel_mapping=snakemake.params.fuel_mapping, - ) - coal_plants.to_parquet(snakemake.output.plants) - coal_fuels.to_parquet(snakemake.output.fuels) - - -if __name__ == "__main__": - sys.stderr = open(snakemake.log[0], "w") - main() diff --git a/workflow/scripts/prepare_fossil_oil_gas.py b/workflow/scripts/prepare_fossil_oil_gas.py index 6ab1aac..35bbd38 100644 --- a/workflow/scripts/prepare_fossil_oil_gas.py +++ b/workflow/scripts/prepare_fossil_oil_gas.py @@ -12,22 +12,104 @@ if TYPE_CHECKING: snakemake: Any +STATUS_MAPPING_COAL = { + "announced": "announced", + "pre-permit": "pre-construction", + "permitted": "pre-construction", + "construction": "construction", + "operating": "operating", + "mothballed": "retired", + "retired": "retired", +} -def _retired_year(gem_df: pd.DataFrame): + +def _get_coal_ccs(gem_df: pd.DataFrame) -> pd.Series: + """Get CCS status of coal powerplants. + + Can be inferred from technology and coal consumption nomenclature. + """ + return ( + gem_df[["combustion_technology", "coal_type"]] + .fillna("") + .apply( + lambda x: ( + True + if ("CCS" in x["combustion_technology"] or "CCS" in x["coal_type"]) + else False + ), + axis="columns", + ) + ) + +def _get_coal_fuel(gem_df: pd.DataFrame) -> pd.Series: + """Harmonise fuel nomenclature with other GEM datasets.""" + # bituminous -> coal: bituminous + coal_type = "coal: " + gem_df["coal_type"].str.replace("with CCS", "").fillna( + "unknown" + ) + # bioenergy - paper mill wastes -> bioenergy: paper mill wastes + alternate_fuel = gem_df["alternate_fuel"].str.replace(" - ", ": ") + return coal_type.combine( + alternate_fuel, lambda a, b: f"{a.strip()}, {b.strip()}" if pd.notna(b) else a + ) + + +def _get_end_year( + gem_df: pd.DataFrame, + *, + planned_ret_col: str, + ret_col: str = "retired_year", +) -> pd.Series: """Return retirement year. - GOGPT has two separate columns for this, requiring special handling. + Fossil GEM datasets have two separate columns for this value. """ return gem_df.apply( lambda x: ( - pd.to_numeric(x["retired_year"], errors="coerce") - if pd.notna(x["retired_year"]) - else pd.to_numeric(x["planned_retire"], errors="coerce") + pd.to_numeric(x[ret_col], errors="coerce") + if pd.notna(x[ret_col]) + else pd.to_numeric(x[planned_ret_col], errors="coerce") ), axis="columns", ) +def prepare_gem_gcpt( + gem_gcpt_path: str, technology_mapping: dict[str, str], fuel_mapping: dict[str, str] +) -> tuple[gpd.GeoDataFrame, pd.DataFrame]: + """Obtain coal power locations using GEM-GCPT data.""" + raw_df = gem.read_gem_dataset(gem_gcpt_path, ["Units"]) + + # Create fuel lookups + fuels_df, fuel_class = gem.get_unique_fuel_dataset( + _get_coal_fuel(raw_df), fuel_mapping, "coal: unknown", "c" + ) + + coal_df = gpd.GeoDataFrame( + { + "powerplant_id": _utils.get_combined_text_col( + raw_df, ["gem_location_id", "gem_unit/phase_id"], prefix="GEM_" + ), + "name": _utils.get_combined_text_col(raw_df, ["plant_name", "unit_name"]), + "category": "fossil", + "technology": gem.technology_col( + raw_df, technology_mapping, col="combustion_technology" + ), + "output_capacity_mw": raw_df["capacity_(mw)"], + "start_year": gem.year_col(raw_df, "start"), + "end_year": _get_end_year(raw_df, planned_ret_col="planned_retirement"), + "status": gem.status_col(raw_df, mapping=STATUS_MAPPING_COAL), + "geometry": _utils.get_point_col(raw_df, "longitude", "latitude"), + "ccs": _get_coal_ccs(raw_df), + "chp": False, # Not specified in GCPT + "fuel_class": fuel_class, + } + ).reset_index(drop=True) + schema = _schemas.build_schema(technology_mapping, "prepare") + return schema.validate(coal_df), _schemas.FuelSchema.validate(fuels_df) + + + def prepare_gem_gogpt( gem_gogpt_path: str, technology_mapping: dict[str, str], @@ -54,7 +136,7 @@ def prepare_gem_gogpt( ), "output_capacity_mw": raw_df["capacity_(mw)"], "start_year": gem.year_col(raw_df, "start"), - "end_year": _retired_year(raw_df), + "end_year": _get_end_year(raw_df, planned_ret_col="planned_retire"), "status": gem.status_col(raw_df), "geometry": _utils.get_point_col(raw_df, "longitude", "latitude"), "ccs": raw_df["ccs_attachment?"] == "yes", @@ -68,13 +150,23 @@ def prepare_gem_gogpt( def main() -> None: """Main snakemake process.""" + # Oil and gas og_plants, og_fuels = prepare_gem_gogpt( gem_gogpt_path=snakemake.input.gem_gogpt, - technology_mapping=snakemake.params.technology_mapping, + technology_mapping=snakemake.params.technology_mapping["oil_gas"], + fuel_mapping=snakemake.params.fuel_mapping, + ) + og_plants.to_parquet(snakemake.output.og_plants) + og_fuels.to_parquet(snakemake.output.og_fuels) + + # Coal + coal_plants, coal_fuels = prepare_gem_gcpt( + gem_gcpt_path=snakemake.input.gem_gcpt, + technology_mapping=snakemake.params.technology_mapping["coal"], fuel_mapping=snakemake.params.fuel_mapping, ) - og_plants.to_parquet(snakemake.output.plants) - og_fuels.to_parquet(snakemake.output.fuels) + coal_plants.to_parquet(snakemake.output.coal_plants) + coal_fuels.to_parquet(snakemake.output.coal_fuels) if __name__ == "__main__": From 6a7595d2187973d873f565d41ab86ec2228b9e2a Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:26:01 +0200 Subject: [PATCH 11/19] have one large solar prepared file --- workflow/rules/_utils.smk | 7 +------ workflow/rules/prepare.smk | 6 ++---- workflow/scripts/prepare_large_solar.py | 8 +++++--- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index 5b677f0..1fe819f 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -57,12 +57,7 @@ def get_files_to_combine(shapes, category): Will also append imputed data files if present. """ to_combine = [] - if category == "large_solar": - to_combine += [ - f"/automatic/shapes/{shapes}/imputed/solar_utility_pv.parquet", - f"/automatic/shapes/{shapes}/imputed/solar_csp.parquet", - ] - elif category == "fossil": + if category == "fossil": to_combine += [ f"/automatic/shapes/{shapes}/imputed/fossil_coal.parquet", f"/automatic/shapes/{shapes}/imputed/fossil_oil_gas.parquet", diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 256c999..ac8a965 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -8,8 +8,7 @@ PREPARED_PLANT_CAT = ( "geothermal", "hydropower", "nuclear", - "solar_csp", - "solar_utility_pv", + "large_solar", "wind", ) @@ -65,8 +64,7 @@ rule prepare_large_solar: tz_sam="/automatic/downloads/TZ-SAM.gpkg", gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", output: - utility_pv="/automatic/prepared/solar_utility_pv.parquet", - csp="/automatic/prepared/solar_csp.parquet", + large_solar="/automatic/prepared/large_solar.parquet", log: "/prepare_large_solar.log", conda: diff --git a/workflow/scripts/prepare_large_solar.py b/workflow/scripts/prepare_large_solar.py index 40d3aff..6077d85 100644 --- a/workflow/scripts/prepare_large_solar.py +++ b/workflow/scripts/prepare_large_solar.py @@ -186,7 +186,6 @@ def prepare_solar_csp( return schema.validate(csp_df) - def main() -> None: """Main snakemake process.""" sys.stderr = open(snakemake.log[0], "w") @@ -198,8 +197,11 @@ def main() -> None: ) csp_gdf = prepare_solar_csp(snakemake.input.gem_gspt, snakemake.params.csp_name) - utility_pv_gdf.to_parquet(snakemake.output.utility_pv) - csp_gdf.to_parquet(snakemake.output.csp) + # Combine into one large category + large_solar_gdf = pd.concat( + [utility_pv_gdf, csp_gdf], ignore_index=True, sort=False, axis="index" + ) + large_solar_gdf.to_parquet(snakemake.output.large_solar) if __name__ == "__main__": From 1011c8c2bcade77fbaef9bba1f484fdd1a34d82c Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 18:45:13 +0200 Subject: [PATCH 12/19] process fuels --- workflow/rules/_utils.smk | 47 ++++++++++-- workflow/rules/impute.smk | 12 ---- workflow/rules/prepare.smk | 55 +++++--------- ...re_fossil_oil_gas.py => prepare_fossil.py} | 0 workflow/scripts/prepare_fuel_classes.py | 46 ++++++++++++ workflow/scripts/prepare_fuels.py | 71 ------------------- workflow/scripts/remap_fuel_classes.py | 55 ++++++++++++++ 7 files changed, 160 insertions(+), 126 deletions(-) rename workflow/scripts/{prepare_fossil_oil_gas.py => prepare_fossil.py} (100%) create mode 100644 workflow/scripts/prepare_fuel_classes.py delete mode 100644 workflow/scripts/prepare_fuels.py create mode 100644 workflow/scripts/remap_fuel_classes.py diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index 1fe819f..93da97b 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -1,5 +1,32 @@ """Collection of auxiliary functions for this module.""" +# Names after original database processing +PREPARED_FUEL_CAT = ("bioenergy", "fossil_coal", "fossil_oil_gas") +PREPARED_PLANT_CAT = ( + "bioenergy", + "fossil_coal", + "fossil_oil_gas", + "geothermal", + "hydropower", + "nuclear", + "large_solar", + "wind", +) +# Fossil categories are harmonised during fuel processing +COMBINED_FUEL_CAT = ("bioenergy", "fossil") +# Final categories seen by the user +IMPUTED_CAT = { + "bioenergy", + "fossil", + "geothermal", + "hydropower", + "nuclear", + "large_solar", + "wind", +} +# Intermediate categories that require proxies for aggregation. +IMPUTED_CAT_WITHOUT_ADJUSTMENT = {"large_solar"} + def additional_config_validation(): """Ensures technology mapping and lifetime-related names match.""" @@ -57,15 +84,23 @@ def get_files_to_combine(shapes, category): Will also append imputed data files if present. """ to_combine = [] + to_combine.append(f"/automatic/shapes/{shapes}/imputed/{category}.parquet") + + user_path = f"/user/{shapes}/impute/{category}.parquet" + if exists(user_path): + to_combine.append(user_path) + return to_combine + + +def get_files_to_remap(category: str, prefix: str): + """Produce a list of fuel category files to combine.""" + to_combine = [] if category == "fossil": to_combine += [ - f"/automatic/shapes/{shapes}/imputed/fossil_coal.parquet", - f"/automatic/shapes/{shapes}/imputed/fossil_oil_gas.parquet", + f"/automatic/temp/{prefix}_coal.parquet", + f"/automatic/temp/{prefix}_oil.parquet", ] else: - to_combine.append(f"/automatic/shapes/{shapes}/imputed/{category}.parquet") + to_combine.append(f"/automatic/temp/{prefix}_{category}.parquet") - user_path = f"/user/{shapes}/impute/{category}.parquet" - if exists(user_path): - to_combine.append(user_path) return to_combine diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 0eee124..a1be525 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -1,17 +1,5 @@ """Rules related to internal and user-provided imputations.""" -IMPUTED_CAT = { - "bioenergy", - "fossil", - "geothermal", - "hydropower", - "nuclear", - "large_solar", - "wind", -} -# Intermediate categories for cases that require proxies for aggregation. -IMPUTED_CAT_WITHOUT_ADJUSTMENT = {"large_solar"} - rule impute_years: message: diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index ac8a965..2b737e8 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -1,17 +1,5 @@ """Rules in this file focus on parsing and cleaning data into shared schemas.""" -PREPARED_FUEL_CAT = ("bioenergy", "fossil_coal", "fossil_oil_gas") -PREPARED_PLANT_CAT = ( - "bioenergy", - "fossil_coal", - "fossil_oil_gas", - "geothermal", - "hydropower", - "nuclear", - "large_solar", - "wind", -) - rule prepare_shapes: message: @@ -142,9 +130,9 @@ rule prepare_bioenergy: "../scripts/prepare_bioenergy.py" -rule prepare_fossil_oil_gas: +rule prepare_fossil: message: - "Preparing oil and gas powerplants using the Global Oil and Gas Power Tracker (GOGPT) dataset." + "Preparing fossil powerplants using the GOGPT and GCPT datasets." params: technology_mapping=config["category"]["fossil"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], @@ -157,11 +145,11 @@ rule prepare_fossil_oil_gas: coal_plants=temp("/automatic/temp/plants_fossil_coal.parquet"), coal_fuels=temp("/automatic/temp/fuels_fossil_coal.parquet"), log: - "/prepare_fossil_oil_gas.log", + "/prepare_fossil.log", conda: "../envs/powerplants.yaml" script: - "../scripts/prepare_fossil_oil_gas.py" + "../scripts/prepare_fossil.py" rule prepare_nuclear: @@ -216,44 +204,37 @@ rule prepare_statistics: "../scripts/prepare_statistics.py" -rule prepare_fuels: +rule prepare_fuel_classes: message: "Get a harmonised dataset of fuel class combinations." input: - script=workflow.source_path("../scripts/prepare_fuels.py"), - fuel_classes=expand( + category_fuels=expand( "/automatic/temp/fuels_{cat}.parquet", cat=PREPARED_FUEL_CAT ), output: - "/fuel_classes.parquet", + fuel_classes="/fuel_classes.parquet", log: "/prepare_fuels.log", conda: "../envs/powerplants.yaml" - shell: - """ - python {input.script:q} prepare {input.fuel_classes:q} -o {output:q} 2> {log:q} - """ + script: + "../scripts/prepare_fuel_classes.py" -rule prepare_remapped_fuel_categories: +rule remap_fuel_classes: message: "Remap fuel classes of combustion plants to harmonised ones." input: - script=workflow.source_path("../scripts/prepare_fuels.py"), - plants="/automatic/temp/plants_{category}.parquet", - old="/automatic/temp/fuels_{category}.parquet", - new="/fuel_classes.parquet", + plants=lambda wc: get_files_to_remap(wc.category, "plants"), + old_classes=lambda wc: get_files_to_remap(wc.category, "fuels"), + new_classes="/fuel_classes.parquet", output: - "/automatic/prepared/{category}.parquet", + remapped="/automatic/prepared/{category}.parquet", log: - "/prepare_remapped_fuel_categories_{category}.log", + "/{category}/remap_fuel_classes.log", wildcard_constraints: - category="|".join(PREPARED_FUEL_CAT), + category="|".join(COMBINED_FUEL_CAT), conda: "../envs/powerplants.yaml" - shell: - """ - python {input.script:q} remap {input.plants:q} {input.old:q} {input.new:q} \ - -o {output:q} 2> {log:q} - """ + script: + "../scripts/remap_fuel_classes.py" diff --git a/workflow/scripts/prepare_fossil_oil_gas.py b/workflow/scripts/prepare_fossil.py similarity index 100% rename from workflow/scripts/prepare_fossil_oil_gas.py rename to workflow/scripts/prepare_fossil.py diff --git a/workflow/scripts/prepare_fuel_classes.py b/workflow/scripts/prepare_fuel_classes.py new file mode 100644 index 0000000..505c340 --- /dev/null +++ b/workflow/scripts/prepare_fuel_classes.py @@ -0,0 +1,46 @@ +"""Prepare unique fuel classes by all prepared categories that require them.""" + +import sys +from typing import TYPE_CHECKING, Any + +import _schemas +import pandas as pd + +if TYPE_CHECKING: + snakemake: Any + + +def prepare(fuel_class_files: tuple[str], prefix: str = "fc") -> pd.DataFrame: + """Prepare harmonised fuel classes across categories. + + Args: + fuel_class_files (tuple[str]): fuel class datasets. + output_file (str): harmonised fuel class dataset. + prefix (str): prefix to append to each class name. + """ + fuel_df = pd.concat([pd.read_parquet(i) for i in fuel_class_files], axis="index") + + # rebuild sorted tuples of fuels + grouped = fuel_df.groupby("fuel_class")["fuel"].apply(lambda x: tuple(sorted(x))) + # remove duplicates and resort + fuel_combinations = sorted(set(grouped.values)) + fuel_class_df = pd.DataFrame( + [ + (f"{prefix}{i}", fuel) + for i, comb in enumerate(fuel_combinations) + for fuel in comb + ], + columns=["fuel_class", "fuel"], + ).reset_index(drop=True) + return _schemas.FuelSchema.validate(fuel_class_df) + + +def main() -> None: + """Main snakemake process.""" + combined_fuels = prepare(snakemake.input.category_fuels) + combined_fuels.to_parquet(snakemake.output.fuel_classes) + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() diff --git a/workflow/scripts/prepare_fuels.py b/workflow/scripts/prepare_fuels.py deleted file mode 100644 index f43bf6e..0000000 --- a/workflow/scripts/prepare_fuels.py +++ /dev/null @@ -1,71 +0,0 @@ -"""Fuel class harmonisation.""" - -import _schemas -import click -import geopandas as gpd -import pandas as pd - - -@click.group() -def cli(): - """Fuel preparation CLI.""" - pass - - -@cli.command() -@click.argument("fuel_class_file", nargs=-1, type=click.Path(dir_okay=False)) -@click.option("-o", "--output_file", type=click.Path(dir_okay=False), required=True) -@click.option("-p", "--prefix", type=str, default="fc") -def prepare(fuel_class_file: tuple[str], output_file: str, prefix: str): - """Prepare harmonised fuel classes across categories. - - Args: - fuel_class_file (tuple[str]): fuel class datasets. - output_file (str): harmonised fuel class dataset. - prefix (str): prefix to append to each class name. - """ - fuel_df = pd.concat( - [pd.read_parquet(file) for file in fuel_class_file], axis="index" - ) - - # rebuild sorted tuples of fuels - grouped = fuel_df.groupby("fuel_class")["fuel"].apply(lambda x: tuple(sorted(x))) - # remove duplicates and resort - fuel_combinations = sorted(set(grouped.values)) - fuel_class_df = pd.DataFrame( - [ - (f"{prefix}{i}", fuel) - for i, comb in enumerate(fuel_combinations) - for fuel in comb - ], - columns=["fuel_class", "fuel"], - ).reset_index(drop=True) - _schemas.FuelSchema.validate(fuel_class_df).to_parquet(output_file) - - -@cli.command() -@click.argument("plants_file", type=click.Path(dir_okay=False)) -@click.argument("old_class_file", type=click.Path(dir_okay=False)) -@click.argument("new_class_file", type=click.Path(dir_okay=False)) -@click.option("-o", "--output_file", type=str, required=True) -def remap(plants_file: str, old_class_file: str, new_class_file: str, output_file: str): - """Re-map powerplant fuel classes to a different class dataset.""" - cat_df = gpd.read_parquet(plants_file) - old_fuel_df = pd.read_parquet(old_class_file) - new_fuel_df = pd.read_parquet(new_class_file) - - # Get 'flipped' map - old_grouped = old_fuel_df.groupby("fuel_class")["fuel"].apply( - lambda x: tuple(sorted(x)) - ) - new_grouped = new_fuel_df.groupby("fuel_class")["fuel"].apply( - lambda x: tuple(sorted(x)) - ) - to_new = {combo: fuel_class for fuel_class, combo in new_grouped.items()} - - cat_df["fuel_class"] = cat_df["fuel_class"].apply(lambda x: to_new[old_grouped[x]]) - cat_df.to_parquet(output_file) - - -if __name__ == "__main__": - cli() diff --git a/workflow/scripts/remap_fuel_classes.py b/workflow/scripts/remap_fuel_classes.py new file mode 100644 index 0000000..4a456de --- /dev/null +++ b/workflow/scripts/remap_fuel_classes.py @@ -0,0 +1,55 @@ +"""Fuel class harmonisation.""" + +import sys +from typing import TYPE_CHECKING, Any + +import geopandas as gpd +import pandas as pd + +if TYPE_CHECKING: + snakemake: Any + + +def remap( + plants_files: tuple[str, ...], old_class_files: tuple[str, ...], new_class_file: str +) -> gpd.GeoDataFrame: + """Re-map powerplant fuel classes to a different class dataset.""" + new_fuel_df = pd.read_parquet(new_class_file) + + new_fuels_by_class = new_fuel_df.groupby("fuel_class")["fuel"].apply( + lambda values: tuple(sorted(values)) + ) + new_class_by_fuels = { + fuel_combo: fuel_class for fuel_class, fuel_combo in new_fuels_by_class.items() + } + + remapped = [] + + for plants_file, old_class_file in zip(plants_files, old_class_files): + plants_df = gpd.read_parquet(plants_file) + old_fuel_df = pd.read_parquet(old_class_file) + + old_fuels_by_class = old_fuel_df.groupby("fuel_class")["fuel"].apply( + lambda values: tuple(sorted(values)) + ) + + plants_df["fuel_class"] = plants_df["fuel_class"].apply( + lambda fuel_class: new_class_by_fuels[old_fuels_by_class[fuel_class]] + ) + + remapped.append(plants_df) + + return pd.concat(remapped, ignore_index=True, sort=False, axis="index") + + +def main() -> None: + """Main snakemake process.""" + remapped_gdf = remap( + snakemake.input.plants, snakemake.input.old_classes, snakemake.input.new_classes + ) + remapped_gdf.to_parquet(snakemake.output.remapped) + + +if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") + main() From a649ecad1a81559951b42a44492c91866d1ed846 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sun, 5 Apr 2026 20:20:39 +0200 Subject: [PATCH 13/19] handle imputation pathvar --- workflow/rules/_utils.smk | 17 ++--------------- workflow/rules/impute.smk | 14 ++++++++++++-- workflow/scripts/impute_category_combination.py | 2 +- workflow/scripts/prepare_bioenergy.py | 2 +- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index 93da97b..efb6f0b 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -78,27 +78,14 @@ def get_technology_mapping(filename: str): return mapping -def get_files_to_combine(shapes, category): - """Produce a list of subcategory files to combine. - - Will also append imputed data files if present. - """ - to_combine = [] - to_combine.append(f"/automatic/shapes/{shapes}/imputed/{category}.parquet") - - user_path = f"/user/{shapes}/impute/{category}.parquet" - if exists(user_path): - to_combine.append(user_path) - return to_combine - def get_files_to_remap(category: str, prefix: str): """Produce a list of fuel category files to combine.""" to_combine = [] if category == "fossil": to_combine += [ - f"/automatic/temp/{prefix}_coal.parquet", - f"/automatic/temp/{prefix}_oil.parquet", + f"/automatic/temp/{prefix}_fossil_coal.parquet", + f"/automatic/temp/{prefix}_fossil_oil_gas.parquet", ] else: to_combine.append(f"/automatic/temp/{prefix}_{category}.parquet") diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index a1be525..452ac4f 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -15,7 +15,7 @@ rule impute_years: imputed="/automatic/shapes/{shapes}/imputed/{dataset}.parquet", plot="/automatic/shapes/{shapes}/imputed/{dataset}.pdf", wildcard_constraints: - dataset="|".join(PREPARED_PLANT_CAT), + dataset="|".join(IMPUTED_CAT), log: "/impute_years_{shapes}_{dataset}.log", conda: @@ -31,7 +31,17 @@ rule impute_category_combination: tech_map=lambda wc: get_technology_mapping(f"{wc.category}"), excluded=lambda wc: get_excluded_powerplant_ids(f"{wc.category}"), input: - to_combine=lambda wc: get_files_to_combine(wc.shapes, wc.category), + internal="/automatic/shapes/{shapes}/imputed/{category}.parquet", + user=lambda wc: ( + [""] + if exists( + workflow.pathvars.apply("").format( + shapes=wc.shapes, + category=wc.category, + ) + ) + else [] + ) output: combined="/{shapes}/disaggregated/unadjusted/{category}.parquet", plot=report( diff --git a/workflow/scripts/impute_category_combination.py b/workflow/scripts/impute_category_combination.py index 192f454..09e4bea 100644 --- a/workflow/scripts/impute_category_combination.py +++ b/workflow/scripts/impute_category_combination.py @@ -64,7 +64,7 @@ def explore(imputed_path: str, output_path: str, colormap="tab20"): if __name__ == "__main__": impute( - input_paths=snakemake.input.to_combine, + input_paths=[snakemake.input.internal, *snakemake.input.user], output_path=snakemake.output.combined, tech_mapping=snakemake.params.tech_map, excluded=snakemake.params.excluded, diff --git a/workflow/scripts/prepare_bioenergy.py b/workflow/scripts/prepare_bioenergy.py index 3e9a095..1d042b3 100644 --- a/workflow/scripts/prepare_bioenergy.py +++ b/workflow/scripts/prepare_bioenergy.py @@ -11,7 +11,6 @@ if TYPE_CHECKING: snakemake: Any -sys.stderr = open(snakemake.log[0], "w") def _start_year(gem_df: pd.DataFrame): @@ -67,6 +66,7 @@ def main( if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w") main( gem_gbpt_path=snakemake.input.gem_gbpt, technology_mapping=snakemake.params.technology_mapping, From c1eb0aebb99d8f522adeabb23deddffb5aa996d8 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Mon, 6 Apr 2026 19:38:09 +0200 Subject: [PATCH 14/19] Add pathvars to the rules --- tests/local_test.py | 11 ++-- workflow/Snakefile | 10 ++-- workflow/envs/powerplants.yaml | 2 +- workflow/rules/_utils.smk | 10 +--- workflow/rules/aggregate.smk | 9 ++- workflow/rules/impute.smk | 40 ++++++++----- workflow/rules/prepare.smk | 40 +++++++------ workflow/rules/solar.smk | 59 ++++++++++++------- workflow/scripts/_plots.py | 4 +- workflow/scripts/_utils.py | 8 +-- workflow/scripts/aggregate_capacity.py | 4 +- .../scripts/impute_capacity_adjustment.py | 8 +-- .../scripts/impute_category_combination.py | 2 +- workflow/scripts/impute_years.py | 2 +- workflow/scripts/prepare_shapes.py | 9 ++- workflow/scripts/prepare_statistics.py | 6 +- workflow/scripts/proxy.py | 4 +- 17 files changed, 128 insertions(+), 100 deletions(-) diff --git a/tests/local_test.py b/tests/local_test.py index 2f50d97..09154d4 100644 --- a/tests/local_test.py +++ b/tests/local_test.py @@ -32,7 +32,7 @@ "wind", } -type Aggregation = Literal["aggregated", "disaggregated"] +type Aggregation = Literal["aggregated", "powerplants"] type Adjustment = Literal["adjusted", "unadjusted"] @@ -46,7 +46,7 @@ def build_request_all( @pytest.mark.parametrize("adjustment", ["unadjusted", "adjusted"]) -@pytest.mark.parametrize("aggregation", ["aggregated"]) +@pytest.mark.parametrize("aggregation", ["aggregated", "powerplants"]) @pytest.mark.parametrize("case", ["MEX", "MNE", "europe"]) def test_full_run( user_path: Path, case: str, aggregation: Aggregation, adjustment: Adjustment @@ -56,14 +56,15 @@ def test_full_run( NNN-aggregated-adjusted is often the most holistic case. """ cats = TEST_CATEGORIES - if aggregation == "disaggregated": - # solar has no disaggregated case due to the lack of point-source rooftop PV. + if aggregation == "powerplants": + # solar has no powerplant case due to the lack of point-source rooftop PV. cats = cats - {"solar"} + cats = cats | {"large_solar"} request = build_request_all(case, TEST_CATEGORIES, "aggregated", adjustment) assert subprocess.run( - f"snakemake --use-conda --cores 4 --forceall {request}", + f"snakemake --use-conda --cores 4 --forceall --rerun-incomplete {request}", shell=True, check=True, cwd=user_path.parent.parent, diff --git a/workflow/Snakefile b/workflow/Snakefile index 90cc69a..f7bdbf8 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -10,13 +10,13 @@ min_version("9.19") # This allows users to re-wire how the module is used in their workflow with ease. pathvars: # User resources - shapes="/user/{shapes}/shapes.parquet", - proxy_rooftop_pv="/user/{shapes}/proxies/rooftop_pv.tif", imputed_powerplants="/user/{shapes}/impute/{category}.parquet", + proxy_rooftop_pv="/user/{shapes}/proxies/rooftop_pv.tif", + shapes="/user/{shapes}/shapes.parquet", + wemi="/user/WEMI.xls", # Module results - aggregated_capacity="/{shape}/aggregated/{adjustment}/{category}.parquet", - disaggregated_capacity="/{shape}/disaggregated/{adjustment}/{category}.parquet", - statistics="/{shape}/statistics/category_capacity.parquet", + aggregated_capacity="/{shapes}/aggregated/{adjustment}/{category}.parquet", + powerplants="/{shapes}/powerplants/{adjustment}/{category}.parquet", # Load the example configuration. This will be overridden by users. diff --git a/workflow/envs/powerplants.yaml b/workflow/envs/powerplants.yaml index 84b022d..11e7b08 100644 --- a/workflow/envs/powerplants.yaml +++ b/workflow/envs/powerplants.yaml @@ -4,7 +4,7 @@ channels: - nodefaults dependencies: - click=8.2.1 - - cmap = 0.7.1 + - cmap = 0.7.2 - dask = 2025.7.0 - geopandas = 1.0.1 - ipdb = 0.13.13 diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index efb6f0b..444c4fc 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -1,5 +1,6 @@ """Collection of auxiliary functions for this module.""" - +# Options for both powerplants and aggregated capacities +ADJUSTMENTS = ("adjusted", "unadjusted") # Names after original database processing PREPARED_FUEL_CAT = ("bioenergy", "fossil_coal", "fossil_oil_gas") PREPARED_PLANT_CAT = ( @@ -52,12 +53,7 @@ def additional_config_validation(): def get_excluded_powerplant_ids(category): - """Handle cases where the naming in //.../disaggregated and configuration files mismatch. - - These are categories that include technologies poorly tracked at individual level. - Proxying processes are necessary, and /disaggregated/ uses a different name to deter - improper handling. - """ + """Handle cases where the naming between files and configuration mismatch.""" if category == "large_solar": config_cat = "solar" else: diff --git a/workflow/rules/aggregate.smk b/workflow/rules/aggregate.smk index 4396ed5..68edf85 100644 --- a/workflow/rules/aggregate.smk +++ b/workflow/rules/aggregate.smk @@ -1,18 +1,17 @@ """Aggregation to user requested shapes.""" -ADJUSTMENTS = ("adjusted", "unadjusted") - rule aggregate_capacity: message: "Aggregating capacity for {wildcards.shapes}-{wildcards.adjustment}-{wildcards.category}." params: year=config["imputation"]["adjustment_year"], + category=lambda wc: wc.category input: - powerplants="/{shapes}/disaggregated/{adjustment}/{category}.parquet", + powerplants="", shapes="", output: - aggregated="/{shapes}/aggregated/{adjustment}/{category}.parquet", + aggregated="", plot=report( "/{shapes}/aggregated/{adjustment}/{category}.pdf", caption="../report/aggregate_capacity.rst", @@ -23,7 +22,7 @@ rule aggregate_capacity: adjustment="|".join(ADJUSTMENTS), category="|".join(IMPUTED_CAT), log: - "/aggregate_capacity_{shapes}_{adjustment}_{category}.log", + "/{shapes}/{adjustment}/{category}/aggregate_capacity.log", conda: "../envs/powerplants.yaml" script: diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 452ac4f..a7b4f48 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -3,21 +3,21 @@ rule impute_years: message: - "National-level imputation of missing years for all powerplants in {wildcards.shapes}-{wildcards.dataset} dataset." + "National-level imputation of missing years for all powerplants in {wildcards.shapes}-{wildcards.category} dataset." params: imputation=config["imputation"], projected_crs=config["projected_crs"], - tech_map=lambda wc: get_technology_mapping(wc.dataset), + tech_map=lambda wc: get_technology_mapping(wc.category), input: - prepared="/automatic/prepared/{dataset}.parquet", + prepared="/automatic/prepared/{category}.parquet", dissolved_shapes=rules.prepare_shapes.output.dissolved, output: - imputed="/automatic/shapes/{shapes}/imputed/{dataset}.parquet", - plot="/automatic/shapes/{shapes}/imputed/{dataset}.pdf", + imputed="/automatic/shapes/{shapes}/imputed/{category}.parquet", + plot="/automatic/shapes/{shapes}/imputed/{category}.pdf", wildcard_constraints: dataset="|".join(IMPUTED_CAT), log: - "/impute_years_{shapes}_{dataset}.log", + "/{shapes}/{category}/impute_years.log", conda: "../envs/powerplants.yaml" script: @@ -31,7 +31,7 @@ rule impute_category_combination: tech_map=lambda wc: get_technology_mapping(f"{wc.category}"), excluded=lambda wc: get_excluded_powerplant_ids(f"{wc.category}"), input: - internal="/automatic/shapes/{shapes}/imputed/{category}.parquet", + internal=rules.impute_years.output.imputed, user=lambda wc: ( [""] if exists( @@ -43,15 +43,19 @@ rule impute_category_combination: else [] ) output: - combined="/{shapes}/disaggregated/unadjusted/{category}.parquet", + combined=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="unadjusted", + category="{category}", + ), plot=report( - "/{shapes}/disaggregated/unadjusted/{category}.pdf", + "/{shapes}/powerplants/unadjusted/{category}.pdf", caption="../report/impute_category_combination_histogram.rst", category="Powerplants module", subcategory="{category}", ), explore=report( - "/{shapes}/disaggregated/unadjusted/{category}.html", + "/{shapes}/powerplants/unadjusted/{category}.html", caption="../report/impute_category_combination_map.rst", category="Powerplants module", subcategory="{category}", @@ -59,7 +63,7 @@ rule impute_category_combination: wildcard_constraints: category="|".join(IMPUTED_CAT), log: - "/impute_category_combination_{shapes}_{category}.log", + "/{shapes}/{category}/impute_category_combination.log", conda: "../envs/powerplants.yaml" script: @@ -72,12 +76,16 @@ rule impute_capacity_adjustment: params: year=config["imputation"]["adjustment_year"], input: - unadjusted="/{shapes}/disaggregated/unadjusted/{category}.parquet", - stats="/{shapes}/statistics/category_capacity.parquet", + unadjusted=rules.impute_category_combination.output.combined, + stats=rules.prepare_statistics.output.categories, output: - adjusted="/{shapes}/disaggregated/adjusted/{category}.parquet", + adjusted=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="adjusted", + category="{category}", + ), plot=report( - "/{shapes}/disaggregated/adjusted/{category}.pdf", + "/{shapes}/powerplants/adjusted/{category}.pdf", caption="../report/impute_capacity_adjustment.rst", category="Powerplants module", subcategory="{category}", @@ -85,7 +93,7 @@ rule impute_capacity_adjustment: wildcard_constraints: category="|".join(IMPUTED_CAT - IMPUTED_CAT_WITHOUT_ADJUSTMENT), log: - "/impute_capacity_adjustment_{shapes}_{category}.log", + "/{shapes}/{category}/impute_capacity_adjustment.log", conda: "../envs/powerplants.yaml" script: diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 2b737e8..63f81c7 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -30,7 +30,7 @@ rule prepare_hydropower: params: technology_mapping=config["category"]["hydropower"]["technology_mapping"], input: - glohydrores_path="/automatic/downloads/GloHydroRes.csv", + glohydrores_path=rules.download_glohydrores.output.path, output: output_path="/automatic/prepared/hydropower.parquet", log: @@ -49,8 +49,8 @@ rule prepare_large_solar: utility_pv_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], csp_name=config["category"]["solar"]["technology_mapping"]["csp"], input: - tz_sam="/automatic/downloads/TZ-SAM.gpkg", - gem_gspt="/automatic/downloads/GEM_GSPT.xlsx", + tz_sam=rules.download_tz_sam.output.path, + gem_gspt=rules.download_gem.output.path.format(dataset="GSPT") output: large_solar="/automatic/prepared/large_solar.parquet", log: @@ -70,7 +70,7 @@ if config["category"]["wind"]["source"] == "gem": tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_gwpt.py"), - gem_gwpt="/automatic/downloads/GEM_GWPT.xlsx", + gem_gwpt=rules.download_gem.output.path.format(dataset="GWPT"), output: path="/automatic/prepared/wind.parquet", log: @@ -92,7 +92,7 @@ elif config["category"]["wind"]["source"] == "wemi": tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_wemi.py"), - wemi="/user/WEMI.xls", + wemi="", output: path="/automatic/prepared/wind.parquet", log: @@ -118,7 +118,7 @@ rule prepare_bioenergy: technology_mapping=config["category"]["bioenergy"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gbpt="/automatic/downloads/GEM_GBPT.xlsx", + gem_gbpt=rules.download_gem.output.path.format(dataset="GBPT"), output: plants=temp("/automatic/temp/plants_bioenergy.parquet"), fuels=temp("/automatic/temp/fuels_bioenergy.parquet"), @@ -137,8 +137,8 @@ rule prepare_fossil: technology_mapping=config["category"]["fossil"]["technology_mapping"], fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: - gem_gcpt="/automatic/downloads/GEM_GCPT.xlsx", - gem_gogpt="/automatic/downloads/GEM_GOGPT.xlsx", + gem_gcpt=rules.download_gem.output.path.format(dataset="GCPT"), + gem_gogpt=rules.download_gem.output.path.format(dataset="GOGPT"), output: og_plants=temp("/automatic/temp/plants_fossil_oil_gas.parquet"), og_fuels=temp("/automatic/temp/fuels_fossil_oil_gas.parquet"), @@ -158,7 +158,7 @@ rule prepare_nuclear: params: technology_mapping=config["category"]["nuclear"]["technology_mapping"], input: - gem_gnpt="/automatic/downloads/GEM_GNPT.xlsx", + gem_gnpt=rules.download_gem.output.path.format(dataset="GNPT"), output: plants="/automatic/prepared/nuclear.parquet", log: @@ -175,7 +175,7 @@ rule prepare_geothermal: params: technology_mapping=config["category"]["geothermal"]["technology_mapping"], input: - gem_ggpt="/automatic/downloads/GEM_GGPT.xlsx", + gem_ggpt=rules.download_gem.output.path.format(dataset="GGPT"), output: plants="/automatic/prepared/geothermal.parquet", log: @@ -191,13 +191,13 @@ rule prepare_statistics: "Get EIA annual country capacity statistics." input: shapes="", - eia_bulk="/automatic/downloads/EIA-INTL.txt", + eia_bulk=rules.download_eia.output.path, output: - total="/{shapes}/statistics/total_capacity.parquet", - categories="/{shapes}/statistics/category_capacity.parquet", - plot="/{shapes}/statistics/category_capacity.pdf", + total="/automatic/shapes/{shapes}/statistics/total_capacity.parquet", + categories="/automatic/shapes/{shapes}/statistics/category_capacity.parquet", + plot="/automatic/shapes/{shapes}/statistics/category_capacity.pdf", log: - "/prepare_statistics_{shapes}.log", + "/{shapes}/prepare_statistics.log", conda: "../envs/powerplants.yaml" script: @@ -208,9 +208,11 @@ rule prepare_fuel_classes: message: "Get a harmonised dataset of fuel class combinations." input: - category_fuels=expand( - "/automatic/temp/fuels_{cat}.parquet", cat=PREPARED_FUEL_CAT - ), + category_fuels=[ + rules.prepare_fossil.output.og_fuels, + rules.prepare_fossil.output.coal_fuels, + rules.prepare_bioenergy.output.fuels, + ], output: fuel_classes="/fuel_classes.parquet", log: @@ -227,7 +229,7 @@ rule remap_fuel_classes: input: plants=lambda wc: get_files_to_remap(wc.category, "plants"), old_classes=lambda wc: get_files_to_remap(wc.category, "fuels"), - new_classes="/fuel_classes.parquet", + new_classes=rules.prepare_fuel_classes.output.fuel_classes, output: remapped="/automatic/prepared/{category}.parquet", log: diff --git a/workflow/rules/solar.smk b/workflow/rules/solar.smk index b5eb415..ff893ff 100644 --- a/workflow/rules/solar.smk +++ b/workflow/rules/solar.smk @@ -5,7 +5,7 @@ This special case is kept separate for clarity. To fill solar capacity, we follow these steps: -1. Obtain disaggregated capacity of large projects (utility PV, CSP). +1. Obtain powerplant capacity of large projects (utility PV, CSP). 2. Assume rooftop PV = national solar statistics - large projects. 3. Use a proxy to disaggregate then aggregate assumed rooftop PV capacity per shape. 4. Combine aggregated large pv projects and rooftop PV capacity. @@ -22,18 +22,22 @@ rule proxy_rooftop_pv: input: shapes="", proxy="", - agg_unadj="/{shapes}/aggregated/unadjusted/large_solar.parquet", - stats="/{shapes}/statistics/category_capacity.parquet", + agg_unadj=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="unadjusted", + category="large_solar", + ), + stats=rules.prepare_statistics.output.categories, output: - proxy="/{shapes}/proxies/rooftop_pv.tif", + proxy="/automatic/shapes/{shapes}/proxies/rooftop_pv.tif", plot=report( - "/{shapes}/proxies/rooftop_pv.pdf", + "/automatic/shapes/{shapes}/proxies/rooftop_pv.pdf", caption="../report/proxy_rooftop_pv.rst", category="Powerplants module", subcategory="solar", ), log: - "/proxy_rooftop_pv_{shapes}.log", + "/{shapes}/proxy_rooftop_pv.log", conda: "../envs/powerplants.yaml" script: @@ -42,25 +46,32 @@ rule proxy_rooftop_pv: rule aggregate_solar_capacity: message: - "Aggregating capacity for {wildcards.shapes}-unadjusted-{wildcards.category}." + "Aggregating capacity for {wildcards.shapes}-unadjusted-solar." params: technology=config["category"]["solar"]["technology_mapping"]["rooftop_pv"], + category="solar" input: - large_solar="/{shapes}/aggregated/unadjusted/large_solar.parquet", - proxy="/{shapes}/proxies/rooftop_pv.tif", + large_solar=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="unadjusted", + category="large_solar", + ), + proxy=rules.proxy_rooftop_pv.output.proxy, shapes="", output: - aggregated="/{shapes}/aggregated/unadjusted/{category}.parquet", + aggregated=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="unadjusted", + category="solar", + ), plot=report( - "/{shapes}/aggregated/unadjusted/{category}.pdf", + "/{shapes}/aggregated/unadjusted/solar.pdf", caption="../report/aggregate_capacity.rst", category="Powerplants module", - subcategory="{category}", + subcategory="solar", ), - wildcard_constraints: - category="solar", log: - "/aggregate_capacity_{shapes}_unadjusted_{category}.log", + "/{shapes}/unadjusted/solar/aggregate_solar_capacity.log", conda: "../envs/powerplants.yaml" script: @@ -73,13 +84,21 @@ rule impute_capacity_adjustment_solar: params: year=config["imputation"]["adjustment_year"], input: - unadjusted="/{shapes}/aggregated/unadjusted/solar.parquet", + unadjusted=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="unadjusted", + category="solar", + ), shapes="", - stats="/{shapes}/statistics/category_capacity.parquet", + stats=rules.prepare_statistics.output.categories, output: - adjusted="/{shapes}/aggregated/adjusted/solar.parquet", + adjusted=workflow.pathvars.apply("").format( + shapes="{shapes}", + adjustment="adjusted", + category="solar", + ), adj_plot=report( - "/{shapes}/aggregated/adjusted/solar_adj.pdf", + "/{shapes}/aggregated/adjusted/solar_adjustment.pdf", caption="../report/impute_capacity_adjustment.rst", category="Powerplants module", subcategory="solar", @@ -91,7 +110,7 @@ rule impute_capacity_adjustment_solar: subcategory="solar", ), log: - "/impute_capacity_adjusted_solar_{shapes}.log", + "/{shapes}/adjusted/solar/impute_capacity_adjustment_solar.log", conda: "../envs/powerplants.yaml" script: diff --git a/workflow/scripts/_plots.py b/workflow/scripts/_plots.py index 241f897..6b36e91 100644 --- a/workflow/scripts/_plots.py +++ b/workflow/scripts/_plots.py @@ -27,12 +27,12 @@ def plot_empty(title: str, output_path: str) -> None: fig.savefig(output_path) -def plot_disaggregated_capacity_buildup( +def plot_powerplant_capacity_buildup( df: pd.DataFrame, output_path: str, colormap: str ): """Plot stacked bar charts of active powerplant capacity over time per country. - Input should be a disaggregated capacity file of a single category. + Input should be a powerplant capacity file of a single category. """ suptitle = "Active powerplant capacity by technology per country" diff --git a/workflow/scripts/_utils.py b/workflow/scripts/_utils.py index a32ed47..c165bc8 100644 --- a/workflow/scripts/_utils.py +++ b/workflow/scripts/_utils.py @@ -6,7 +6,7 @@ import pandas as pd from pandas.api.types import is_list_like -# Average year where disaggregated datasets were last updated. +# Average year where powerplant datasets were last updated. # MUST BE ADJUSTED WHENEVER DATASOURCES ARE UPDATED! DATASET_YEAR = 2024 @@ -119,10 +119,10 @@ def get_adjusted_capacity( return adjusted_cap_mw -def adjust_disaggregated_capacity(plants, stats, year): - """Adjust capacity to national statistics in the given year. +def adjust_powerplant_capacity(plants, stats, year): + """Adjust powerplant capacity to national statistics in the given year. - Will keep future projects in the disaggregated case. + Keeps "future" projects beyond the given year. """ category = check_single_category(plants) stats = get_eia_stats_in_cat_yr(stats, year, category) diff --git a/workflow/scripts/aggregate_capacity.py b/workflow/scripts/aggregate_capacity.py index 1b66162..9cfb877 100644 --- a/workflow/scripts/aggregate_capacity.py +++ b/workflow/scripts/aggregate_capacity.py @@ -88,7 +88,7 @@ def capacity_solar( if __name__ == "__main__": - if snakemake.wildcards.category == "solar": + if snakemake.params.category == "solar": capacity_solar( large_pv_agg_file=snakemake.input.large_solar, proxy_file=snakemake.input.proxy, @@ -107,5 +107,5 @@ def capacity_solar( aggregated_file=snakemake.output.aggregated, shapes_file=snakemake.input.shapes, output_file=snakemake.output.plot, - category=snakemake.wildcards.category, + category=snakemake.params.category, ) diff --git a/workflow/scripts/impute_capacity_adjustment.py b/workflow/scripts/impute_capacity_adjustment.py index e68fc12..3513fc1 100644 --- a/workflow/scripts/impute_capacity_adjustment.py +++ b/workflow/scripts/impute_capacity_adjustment.py @@ -14,10 +14,10 @@ sys.stderr = open(snakemake.log[0], "w") -def adjust_disaggregated( +def adjust_powerplant_capacity( stats_file: str, unadjusted_file: str, year: int, output_file: str ): - """Adjust disaggregated powerplant capacity in the given year. + """Adjust powerplant capacity in the given year. Also appends future projects without altering their values. """ @@ -27,13 +27,13 @@ def adjust_disaggregated( if plants.empty: adjusted_plants = plants else: - adjusted_plants = _utils.adjust_disaggregated_capacity(plants, stats, year) + adjusted_plants = _utils.adjust_powerplant_capacity(plants, stats, year) _schemas.PlantSchema.validate(adjusted_plants).to_parquet(output_file) if __name__ == "__main__": - adjust_disaggregated( + adjust_powerplant_capacity( stats_file=snakemake.input.stats, unadjusted_file=snakemake.input.unadjusted, year=snakemake.params.year, diff --git a/workflow/scripts/impute_category_combination.py b/workflow/scripts/impute_category_combination.py index 09e4bea..6d8fd57 100644 --- a/workflow/scripts/impute_category_combination.py +++ b/workflow/scripts/impute_category_combination.py @@ -46,7 +46,7 @@ def impute( def plot(imputed_path: str, output_path: str, colormap="tab20"): """Plot stacked bar charts of active powerplant capacity over time per country.""" df = pd.read_parquet(imputed_path) - _plots.plot_disaggregated_capacity_buildup(df, output_path, colormap) + _plots.plot_powerplant_capacity_buildup(df, output_path, colormap) def explore(imputed_path: str, output_path: str, colormap="tab20"): diff --git a/workflow/scripts/impute_years.py b/workflow/scripts/impute_years.py index b562d80..792f6c7 100644 --- a/workflow/scripts/impute_years.py +++ b/workflow/scripts/impute_years.py @@ -197,7 +197,7 @@ def main() -> None: projected_crs=snakemake.params.projected_crs, ) imputed_gdf.to_parquet(snakemake.output.imputed) - _plots.plot_disaggregated_capacity_buildup( + _plots.plot_powerplant_capacity_buildup( imputed_gdf, snakemake.output.plot, "seaborn:tab20" ) diff --git a/workflow/scripts/prepare_shapes.py b/workflow/scripts/prepare_shapes.py index 8c4742b..7de4073 100644 --- a/workflow/scripts/prepare_shapes.py +++ b/workflow/scripts/prepare_shapes.py @@ -5,6 +5,7 @@ import _schemas import geopandas as gpd +from cmap import Colormap from matplotlib import pyplot as plt from matplotlib.axes import Axes from matplotlib.figure import Figure @@ -35,12 +36,14 @@ def plot( fig, axes = plt.subplots(1, 2, layout="constrained") original.to_crs(crs).plot("shape_class", ax=axes[0]) axes[0].set_title("User") - if new[col].is_unique: + new_proj = new.to_crs(crs) + if len(new[col].unique()) == 1: # FIXME: odd issue when plotting a single category # Upgrading geopandas might fix it. - new.to_crs(crs).plot(ax=axes[1], color="lightcoral") + new_proj.plot(ax=axes[1], color="lightcoral") else: - new.to_crs(crs).plot(col, ax=axes[1], cmap=cmap, categorical=True) + new_proj.plot(col, ax=axes[1], cmap=Colormap(cmap).to_mpl()) + new_proj.boundary.plot(ax=axes[1], color="black", lw=0.2) axes[1].set_title(name) for ax in axes: ax.set(xticks=[], yticks=[], xlabel="", ylabel="") diff --git a/workflow/scripts/prepare_statistics.py b/workflow/scripts/prepare_statistics.py index ab0ef24..e69873f 100644 --- a/workflow/scripts/prepare_statistics.py +++ b/workflow/scripts/prepare_statistics.py @@ -96,9 +96,9 @@ def prepare( category_statistics = category_statistics.reset_index(drop=True) total_cap_sum = total_statistics["capacity_mw"].sum() - disaggregated_cap_sum = category_statistics["capacity_mw"].sum() - assert math.isclose(total_cap_sum, disaggregated_cap_sum), ( - f"Aggregated capacity checksum failed: {total_cap_sum} vs {disaggregated_cap_sum}." + category_cap_sum = category_statistics["capacity_mw"].sum() + assert math.isclose(total_cap_sum, category_cap_sum), ( + f"Aggregated capacity checksum failed: {total_cap_sum} vs {category_cap_sum}." ) total_statistics.attrs["missing_countries"] = missing diff --git a/workflow/scripts/proxy.py b/workflow/scripts/proxy.py index da96900..f23e12d 100644 --- a/workflow/scripts/proxy.py +++ b/workflow/scripts/proxy.py @@ -16,7 +16,6 @@ if TYPE_CHECKING: snakemake: Any -sys.stderr = open(snakemake.log[0], "w", buffering=1) def _check_crs(raster: DataArray): @@ -85,7 +84,7 @@ def proxy_rooftop_pv_capacity( borders_df["output_capacity_mw"] = missing_cap_mw proxy = gregor.disaggregate.disaggregate_polygon_to_raster( - borders_df, column="output_capacity_mw", proxy=area_potential_da + borders_df, column="output_capacity_mw", proxy=area_potential_da, use_dask=True ) proxy.attrs |= { "name": "output_capacity_mw", @@ -136,6 +135,7 @@ def plot(proxy_file: str, shapes_file: str, output_file: str, pixels: int = 500_ if __name__ == "__main__": + sys.stderr = open(snakemake.log[0], "w", buffering=1) proxy_rooftop_pv_capacity( shapes_file=snakemake.input.shapes, proxy_file=snakemake.input.proxy, From 13aec726fc80e2d1e1d485cfca0ff0599bdf339a Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 8 Apr 2026 16:11:34 -0600 Subject: [PATCH 15/19] update INTERFACE --- INTERFACE.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/INTERFACE.yaml b/INTERFACE.yaml index 3029f62..a12dd62 100644 --- a/INTERFACE.yaml +++ b/INTERFACE.yaml @@ -25,17 +25,19 @@ pathvars: Optional. Files with point-specific powerplant data to impute on top of the files produced by this module. Useful when important powerplant facilities are missing in the source datasets. Can also be used to replace data when combined with `excluded_ids` in the configuration. + wemi: + default: "/user/WEMI.xls" + description: | + Wind Energy Market Intelligence dataset. + Will replace the GEM GWPT dataset if selected in the configuration. results: aggregated_capacity: - default: "/{shape}/aggregated/{adjustment}/{category}.parquet" + default: "/{shapes}/aggregated/{adjustment}/{category}.parquet" description: > Aggregated powerplant capacity per polygon in the given shapefile. - disaggregated_capacity: - default: "/{shape}/disaggregated/{adjustment}/{category}.parquet" + powerplants: + default: "/{shapes}/powerplants/{adjustment}/{category}.parquet" description: Disaggregated powerplants within polygons in the given shapefile. - statistics: - default: "/{shape}/statistics/category_capacity.parquet" - description: National-level capacity statistics per category, for all the countries in the shape file. wildcards: shape: name of the provided shapefile. adjustment: > From d8b4a190e05cf21b89e4b5ca6a5f3b6ce48387a5 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 11 Apr 2026 10:56:39 -0600 Subject: [PATCH 16/19] update integration test to use pathvars --- INTERFACE.yaml | 2 +- tests/integration/Snakefile | 23 ++++++++++++++++++----- tests/integration_test.py | 8 ++++---- workflow/rules/impute.smk | 13 ++++--------- workflow/scripts/_utils.py | 6 +++--- 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/INTERFACE.yaml b/INTERFACE.yaml index a12dd62..7e944ec 100644 --- a/INTERFACE.yaml +++ b/INTERFACE.yaml @@ -29,7 +29,7 @@ pathvars: default: "/user/WEMI.xls" description: | Wind Energy Market Intelligence dataset. - Will replace the GEM GWPT dataset if selected in the configuration. + This optional dataset will replace the GEM GWPT dataset if selected in the configuration. results: aggregated_capacity: default: "/{shapes}/aggregated/{adjustment}/{category}.parquet" diff --git a/tests/integration/Snakefile b/tests/integration/Snakefile index 84137b7..f7ebb59 100644 --- a/tests/integration/Snakefile +++ b/tests/integration/Snakefile @@ -1,5 +1,9 @@ +import yaml + # Emulate a user configuring the module. -configfile: workflow.source_path("test_config.yaml") +module_config = dict() +with open(workflow.source_path("../../config/config.yaml"), "r") as f: + module_config["module_powerplants"] = yaml.safe_load(f.read()) # Import the module and configure it. @@ -9,9 +13,18 @@ module module_powerplants: snakefile: "../../workflow/Snakefile" config: - config["module_powerplants"] - prefix: - "results/integration_test/" + module_config["module_powerplants"] + pathvars: + # Redirect specific user resources (inputs) + shapes="resources/inputs/{shapes}/shapes.parquet", + proxy_rooftop_pv="resources/inputs/{shapes}/proxies/rooftop_pv.tif", + # Redirect specific module results (outputs) + aggregated_capacity="results/outputs/{shapes}/aggregated/{adjustment}/{category}.parquet", + powerplants="results/outputs/{shapes}/powerplants/{adjustment}/{category}.parquet", + # Redirect module intermediate files + logs="resources/powerplants/logs", + resources="resources/powerplants/resources", + results="resources/powerplants/results", # rename all module rules with a prefix, to avoid naming conflicts. @@ -36,6 +49,6 @@ rule all: default_target: True input: expand( - "results/integration_test/results/MNE/aggregated/adjusted/{category}.parquet", + "results/outputs/MNE/aggregated/adjusted/{category}.parquet", category=CATEGORIES, ), diff --git a/tests/integration_test.py b/tests/integration_test.py index 231f587..ad9c7b5 100644 --- a/tests/integration_test.py +++ b/tests/integration_test.py @@ -23,10 +23,10 @@ def integration_path(user_path: Path, module_path: Path): """Ensures the minimal integration test is ready.""" integration_dir = Path(module_path / "tests/integration") if integration_dir.exists(): - shutil.rmtree( - integration_dir / "results/", ignore_errors=True - ) # clean everything - user_integ_dir = integration_dir / "results/integration_test/resources/user/" + # clean everything + shutil.rmtree(integration_dir / "resources", ignore_errors=True) + shutil.rmtree(integration_dir / "results/", ignore_errors=True) + user_integ_dir = integration_dir / "resources/inputs/" files_to_copy = ["MNE/proxies/rooftop_pv.tif", "MNE/shapes.parquet"] for file in files_to_copy: destination_file = Path(user_integ_dir / file) diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index a7b4f48..10c06ac 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -32,15 +32,10 @@ rule impute_category_combination: excluded=lambda wc: get_excluded_powerplant_ids(f"{wc.category}"), input: internal=rules.impute_years.output.imputed, - user=lambda wc: ( - [""] - if exists( - workflow.pathvars.apply("").format( - shapes=wc.shapes, - category=wc.category, - ) - ) - else [] + user=branch( + exists(""), + then=[""], + otherwise=[] ) output: combined=workflow.pathvars.apply("").format( diff --git a/workflow/scripts/_utils.py b/workflow/scripts/_utils.py index c165bc8..026882b 100644 --- a/workflow/scripts/_utils.py +++ b/workflow/scripts/_utils.py @@ -91,6 +91,7 @@ def filter_years( (powerplants_df["start_year"] <= year) & (year < powerplants_df["end_year"]) ].copy() elif how == "future": + # FIXME: this does not filter 'future' years at all! filtered = powerplants_df[(powerplants_df["start_year"] <= year)].copy() return filtered @@ -125,9 +126,8 @@ def adjust_powerplant_capacity(plants, stats, year): Keeps "future" projects beyond the given year. """ category = check_single_category(plants) - stats = get_eia_stats_in_cat_yr(stats, year, category) - expected_capacity = stats.groupby(["country_id"])["capacity_mw"].sum() - + cat_stats = get_eia_stats_in_cat_yr(stats, year, category) + expected_capacity = cat_stats.groupby(["country_id"])["capacity_mw"].sum() adjusted = _clean_positive_capacity(filter_years(plants, year, how="future")) operating = filter_years(adjusted, year, how="operating") operating = operating[operating["country_id"].isin(expected_capacity.index)] From 770369ff4cfbbff27e8ec7cfedac9aac9116abaa Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 11 Apr 2026 17:50:06 +0000 Subject: [PATCH 17/19] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/integration/Snakefile | 8 +-- workflow/rules/_utils.smk | 2 +- workflow/rules/aggregate.smk | 14 ++-- workflow/rules/impute.smk | 46 ++++++------- workflow/rules/prepare.smk | 100 ++++++++++++++--------------- workflow/rules/solar.smk | 28 ++++---- workflow/scripts/_plots.py | 4 +- workflow/scripts/prepare_fossil.py | 7 +- 8 files changed, 102 insertions(+), 107 deletions(-) diff --git a/tests/integration/Snakefile b/tests/integration/Snakefile index 0930216..99c95b2 100644 --- a/tests/integration/Snakefile +++ b/tests/integration/Snakefile @@ -10,10 +10,6 @@ with open(workflow.source_path("../../config/config.yaml"), "r") as f: # `snakefile:` specifies the module. It can use file paths and special github(...) / gitlab(...) markers # `prefix:` re-routes all input/output paths of the module, helping to avoid file conflicts. module module_powerplants: - snakefile: - "../../workflow/Snakefile" - config: - module_config["module_powerplants"] pathvars: # Redirect specific user resources (inputs) shapes="resources/inputs/{shapes}/shapes.parquet", @@ -25,6 +21,10 @@ module module_powerplants: logs="resources/powerplants/logs", resources="resources/powerplants/resources", results="resources/powerplants/results", + snakefile: + "../../workflow/Snakefile" + config: + module_config["module_powerplants"] # rename all module rules with a prefix, to avoid naming conflicts. diff --git a/workflow/rules/_utils.smk b/workflow/rules/_utils.smk index 444c4fc..df78411 100644 --- a/workflow/rules/_utils.smk +++ b/workflow/rules/_utils.smk @@ -1,4 +1,5 @@ """Collection of auxiliary functions for this module.""" + # Options for both powerplants and aggregated capacities ADJUSTMENTS = ("adjusted", "unadjusted") # Names after original database processing @@ -74,7 +75,6 @@ def get_technology_mapping(filename: str): return mapping - def get_files_to_remap(category: str, prefix: str): """Produce a list of fuel category files to combine.""" to_combine = [] diff --git a/workflow/rules/aggregate.smk b/workflow/rules/aggregate.smk index 68edf85..d30e3e3 100644 --- a/workflow/rules/aggregate.smk +++ b/workflow/rules/aggregate.smk @@ -2,11 +2,6 @@ rule aggregate_capacity: - message: - "Aggregating capacity for {wildcards.shapes}-{wildcards.adjustment}-{wildcards.category}." - params: - year=config["imputation"]["adjustment_year"], - category=lambda wc: wc.category input: powerplants="", shapes="", @@ -18,12 +13,17 @@ rule aggregate_capacity: category="Powerplants module", subcategory="{category}", ), + log: + "/{shapes}/{adjustment}/{category}/aggregate_capacity.log", wildcard_constraints: adjustment="|".join(ADJUSTMENTS), category="|".join(IMPUTED_CAT), - log: - "/{shapes}/{adjustment}/{category}/aggregate_capacity.log", conda: "../envs/powerplants.yaml" + params: + year=config["imputation"]["adjustment_year"], + category=lambda wc: wc.category, + message: + "Aggregating capacity for {wildcards.shapes}-{wildcards.adjustment}-{wildcards.category}." script: "../scripts/aggregate_capacity.py" diff --git a/workflow/rules/impute.smk b/workflow/rules/impute.smk index 10c06ac..97982fe 100644 --- a/workflow/rules/impute.smk +++ b/workflow/rules/impute.smk @@ -2,41 +2,36 @@ rule impute_years: - message: - "National-level imputation of missing years for all powerplants in {wildcards.shapes}-{wildcards.category} dataset." - params: - imputation=config["imputation"], - projected_crs=config["projected_crs"], - tech_map=lambda wc: get_technology_mapping(wc.category), input: prepared="/automatic/prepared/{category}.parquet", dissolved_shapes=rules.prepare_shapes.output.dissolved, output: imputed="/automatic/shapes/{shapes}/imputed/{category}.parquet", plot="/automatic/shapes/{shapes}/imputed/{category}.pdf", - wildcard_constraints: - dataset="|".join(IMPUTED_CAT), log: "/{shapes}/{category}/impute_years.log", + wildcard_constraints: + dataset="|".join(IMPUTED_CAT), conda: "../envs/powerplants.yaml" + params: + imputation=config["imputation"], + projected_crs=config["projected_crs"], + tech_map=lambda wc: get_technology_mapping(wc.category), + message: + "National-level imputation of missing years for all powerplants in {wildcards.shapes}-{wildcards.category} dataset." script: "../scripts/impute_years.py" rule impute_category_combination: - message: - "National-level imputation of user-configured inclusions and exclusions for {wildcards.shapes}-{wildcards.category}." - params: - tech_map=lambda wc: get_technology_mapping(f"{wc.category}"), - excluded=lambda wc: get_excluded_powerplant_ids(f"{wc.category}"), input: internal=rules.impute_years.output.imputed, user=branch( exists(""), then=[""], - otherwise=[] - ) + otherwise=[], + ), output: combined=workflow.pathvars.apply("").format( shapes="{shapes}", @@ -55,21 +50,22 @@ rule impute_category_combination: category="Powerplants module", subcategory="{category}", ), - wildcard_constraints: - category="|".join(IMPUTED_CAT), log: "/{shapes}/{category}/impute_category_combination.log", + wildcard_constraints: + category="|".join(IMPUTED_CAT), conda: "../envs/powerplants.yaml" + params: + tech_map=lambda wc: get_technology_mapping(f"{wc.category}"), + excluded=lambda wc: get_excluded_powerplant_ids(f"{wc.category}"), + message: + "National-level imputation of user-configured inclusions and exclusions for {wildcards.shapes}-{wildcards.category}." script: "../scripts/impute_category_combination.py" rule impute_capacity_adjustment: - message: - "National-level adjustment of powerplant capacity in {wildcards.shapes}-{wildcards.category} to {params.year} statistics." - params: - year=config["imputation"]["adjustment_year"], input: unadjusted=rules.impute_category_combination.output.combined, stats=rules.prepare_statistics.output.categories, @@ -85,11 +81,15 @@ rule impute_capacity_adjustment: category="Powerplants module", subcategory="{category}", ), - wildcard_constraints: - category="|".join(IMPUTED_CAT - IMPUTED_CAT_WITHOUT_ADJUSTMENT), log: "/{shapes}/{category}/impute_capacity_adjustment.log", + wildcard_constraints: + category="|".join(IMPUTED_CAT - IMPUTED_CAT_WITHOUT_ADJUSTMENT), conda: "../envs/powerplants.yaml" + params: + year=config["imputation"]["adjustment_year"], + message: + "National-level adjustment of powerplant capacity in {wildcards.shapes}-{wildcards.category} to {params.year} statistics." script: "../scripts/impute_capacity_adjustment.py" diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk index 63f81c7..d71151d 100644 --- a/workflow/rules/prepare.smk +++ b/workflow/rules/prepare.smk @@ -2,10 +2,6 @@ rule prepare_shapes: - message: - "Preparing intermediate shapefile versions to speed up processing." - params: - crs=config["projected_crs"], input: shapes="", output: @@ -14,21 +10,21 @@ rule prepare_shapes: "/automatic/shapes/{shapes}/dissolved.png", caption="../report/prepare_shapes.rst", category="Powerplants module", - subcategory="preparation" - ) + subcategory="preparation", + ), log: - "/{shapes}/prepare_shapes.log" + "/{shapes}/prepare_shapes.log", conda: "../envs/powerplants.yaml" + params: + crs=config["projected_crs"], + message: + "Preparing intermediate shapefile versions to speed up processing." script: "../scripts/prepare_shapes.py" rule prepare_hydropower: - message: - "Preparing hydropower powerplants using the GloHydroRes dataset." - params: - technology_mapping=config["category"]["hydropower"]["technology_mapping"], input: glohydrores_path=rules.download_glohydrores.output.path, output: @@ -37,26 +33,30 @@ rule prepare_hydropower: "/prepare_hydropower.log", conda: "../envs/powerplants.yaml" + params: + technology_mapping=config["category"]["hydropower"]["technology_mapping"], + message: + "Preparing hydropower powerplants using the GloHydroRes dataset." script: "../scripts/prepare_hydropower.py" rule prepare_large_solar: - message: - "Preparing utility PV powerplants using the TZ-SAM and GEM-GSPT datasets." - params: - dc_ac_ratio=config["category"]["solar"]["dc_ac_ratio"]["utility_pv"], - utility_pv_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], - csp_name=config["category"]["solar"]["technology_mapping"]["csp"], input: tz_sam=rules.download_tz_sam.output.path, - gem_gspt=rules.download_gem.output.path.format(dataset="GSPT") + gem_gspt=rules.download_gem.output.path.format(dataset="GSPT"), output: large_solar="/automatic/prepared/large_solar.parquet", log: "/prepare_large_solar.log", conda: "../envs/powerplants.yaml" + params: + dc_ac_ratio=config["category"]["solar"]["dc_ac_ratio"]["utility_pv"], + utility_pv_name=config["category"]["solar"]["technology_mapping"]["utility_pv"], + csp_name=config["category"]["solar"]["technology_mapping"]["csp"], + message: + "Preparing utility PV powerplants using the TZ-SAM and GEM-GSPT datasets." script: "../scripts/prepare_large_solar.py" @@ -64,10 +64,6 @@ rule prepare_large_solar: if config["category"]["wind"]["source"] == "gem": rule prepare_wind_gem: - message: - "Preparing wind powerplants using the Global Wind Power Tracker (GEM-GWPT) dataset." - params: - tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_gwpt.py"), gem_gwpt=rules.download_gem.output.path.format(dataset="GWPT"), @@ -77,6 +73,10 @@ if config["category"]["wind"]["source"] == "gem": "/prepare_wind_gem.log", conda: "../envs/powerplants.yaml" + params: + tech_map=config["category"]["wind"]["technology_mapping"], + message: + "Preparing wind powerplants using the Global Wind Power Tracker (GEM-GWPT) dataset." shell: """ python {input.script:q} {input.gem_gwpt:q} \ @@ -86,10 +86,6 @@ if config["category"]["wind"]["source"] == "gem": elif config["category"]["wind"]["source"] == "wemi": rule prepare_wind_wemi: - message: - "Preparing wind powerplants using the Wind Energy Market Intelligence dataset." - params: - tech_map=config["category"]["wind"]["technology_mapping"], input: script=workflow.source_path("../scripts/prepare_wind_wemi.py"), wemi="", @@ -99,6 +95,10 @@ elif config["category"]["wind"]["source"] == "wemi": "/prepare_wind_wemi.log", conda: "../envs/powerplants.yaml" + params: + tech_map=config["category"]["wind"]["technology_mapping"], + message: + "Preparing wind powerplants using the Wind Energy Market Intelligence dataset." shell: """ python {input.script:q} {input.wemi:q} \ @@ -112,11 +112,6 @@ else: rule prepare_bioenergy: - message: - "Preparing bioenergy powerplants using the Global Bioenergy Power Tracker (GBPT) dataset." - params: - technology_mapping=config["category"]["bioenergy"]["technology_mapping"], - fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: gem_gbpt=rules.download_gem.output.path.format(dataset="GBPT"), output: @@ -126,16 +121,16 @@ rule prepare_bioenergy: "/prepare_bioenergy.log", conda: "../envs/powerplants.yaml" + params: + technology_mapping=config["category"]["bioenergy"]["technology_mapping"], + fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], + message: + "Preparing bioenergy powerplants using the Global Bioenergy Power Tracker (GBPT) dataset." script: "../scripts/prepare_bioenergy.py" rule prepare_fossil: - message: - "Preparing fossil powerplants using the GOGPT and GCPT datasets." - params: - technology_mapping=config["category"]["fossil"]["technology_mapping"], - fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], input: gem_gcpt=rules.download_gem.output.path.format(dataset="GCPT"), gem_gogpt=rules.download_gem.output.path.format(dataset="GOGPT"), @@ -148,15 +143,16 @@ rule prepare_fossil: "/prepare_fossil.log", conda: "../envs/powerplants.yaml" + params: + technology_mapping=config["category"]["fossil"]["technology_mapping"], + fuel_mapping=internal["fuel_mapping"] | config["fuel_mapping"], + message: + "Preparing fossil powerplants using the GOGPT and GCPT datasets." script: "../scripts/prepare_fossil.py" rule prepare_nuclear: - message: - "Preparing nuclear powerplants using the Global Nuclear Power Tracker (GNPT) dataset." - params: - technology_mapping=config["category"]["nuclear"]["technology_mapping"], input: gem_gnpt=rules.download_gem.output.path.format(dataset="GNPT"), output: @@ -165,15 +161,15 @@ rule prepare_nuclear: "/prepare_nuclear.log", conda: "../envs/powerplants.yaml" + params: + technology_mapping=config["category"]["nuclear"]["technology_mapping"], + message: + "Preparing nuclear powerplants using the Global Nuclear Power Tracker (GNPT) dataset." script: "../scripts/prepare_nuclear.py" rule prepare_geothermal: - message: - "Preparing geothermal powerplants using the Global Geothermal Power Tracker (GGPT) dataset." - params: - technology_mapping=config["category"]["geothermal"]["technology_mapping"], input: gem_ggpt=rules.download_gem.output.path.format(dataset="GGPT"), output: @@ -182,13 +178,15 @@ rule prepare_geothermal: "/prepare_geothermal.log", conda: "../envs/powerplants.yaml" + params: + technology_mapping=config["category"]["geothermal"]["technology_mapping"], + message: + "Preparing geothermal powerplants using the Global Geothermal Power Tracker (GGPT) dataset." script: "../scripts/prepare_geothermal.py" rule prepare_statistics: - message: - "Get EIA annual country capacity statistics." input: shapes="", eia_bulk=rules.download_eia.output.path, @@ -200,13 +198,13 @@ rule prepare_statistics: "/{shapes}/prepare_statistics.log", conda: "../envs/powerplants.yaml" + message: + "Get EIA annual country capacity statistics." script: "../scripts/prepare_statistics.py" rule prepare_fuel_classes: - message: - "Get a harmonised dataset of fuel class combinations." input: category_fuels=[ rules.prepare_fossil.output.og_fuels, @@ -219,13 +217,13 @@ rule prepare_fuel_classes: "/prepare_fuels.log", conda: "../envs/powerplants.yaml" + message: + "Get a harmonised dataset of fuel class combinations." script: "../scripts/prepare_fuel_classes.py" rule remap_fuel_classes: - message: - "Remap fuel classes of combustion plants to harmonised ones." input: plants=lambda wc: get_files_to_remap(wc.category, "plants"), old_classes=lambda wc: get_files_to_remap(wc.category, "fuels"), @@ -238,5 +236,7 @@ rule remap_fuel_classes: category="|".join(COMBINED_FUEL_CAT), conda: "../envs/powerplants.yaml" + message: + "Remap fuel classes of combustion plants to harmonised ones." script: "../scripts/remap_fuel_classes.py" diff --git a/workflow/rules/solar.smk b/workflow/rules/solar.smk index ff893ff..74c7558 100644 --- a/workflow/rules/solar.smk +++ b/workflow/rules/solar.smk @@ -14,11 +14,6 @@ To fill solar capacity, we follow these steps: rule proxy_rooftop_pv: - message: - "Generating proxy for rooftop capacity {wildcards.shapes}." - params: - category="solar", - year=config["imputation"]["adjustment_year"], input: shapes="", proxy="", @@ -40,16 +35,16 @@ rule proxy_rooftop_pv: "/{shapes}/proxy_rooftop_pv.log", conda: "../envs/powerplants.yaml" + params: + category="solar", + year=config["imputation"]["adjustment_year"], + message: + "Generating proxy for rooftop capacity {wildcards.shapes}." script: "../scripts/proxy.py" rule aggregate_solar_capacity: - message: - "Aggregating capacity for {wildcards.shapes}-unadjusted-solar." - params: - technology=config["category"]["solar"]["technology_mapping"]["rooftop_pv"], - category="solar" input: large_solar=workflow.pathvars.apply("").format( shapes="{shapes}", @@ -74,15 +69,16 @@ rule aggregate_solar_capacity: "/{shapes}/unadjusted/solar/aggregate_solar_capacity.log", conda: "../envs/powerplants.yaml" + params: + technology=config["category"]["solar"]["technology_mapping"]["rooftop_pv"], + category="solar", + message: + "Aggregating capacity for {wildcards.shapes}-unadjusted-solar." script: "../scripts/aggregate_capacity.py" rule impute_capacity_adjustment_solar: - message: - "Adjusting aggregated capacity of {wildcards.shapes}-solar to {params.year} statistics." - params: - year=config["imputation"]["adjustment_year"], input: unadjusted=workflow.pathvars.apply("").format( shapes="{shapes}", @@ -113,5 +109,9 @@ rule impute_capacity_adjustment_solar: "/{shapes}/adjusted/solar/impute_capacity_adjustment_solar.log", conda: "../envs/powerplants.yaml" + params: + year=config["imputation"]["adjustment_year"], + message: + "Adjusting aggregated capacity of {wildcards.shapes}-solar to {params.year} statistics." script: "../scripts/impute_capacity_adjustment_solar.py" diff --git a/workflow/scripts/_plots.py b/workflow/scripts/_plots.py index 6b36e91..7b75d39 100644 --- a/workflow/scripts/_plots.py +++ b/workflow/scripts/_plots.py @@ -27,9 +27,7 @@ def plot_empty(title: str, output_path: str) -> None: fig.savefig(output_path) -def plot_powerplant_capacity_buildup( - df: pd.DataFrame, output_path: str, colormap: str -): +def plot_powerplant_capacity_buildup(df: pd.DataFrame, output_path: str, colormap: str): """Plot stacked bar charts of active powerplant capacity over time per country. Input should be a powerplant capacity file of a single category. diff --git a/workflow/scripts/prepare_fossil.py b/workflow/scripts/prepare_fossil.py index 35bbd38..e290a53 100644 --- a/workflow/scripts/prepare_fossil.py +++ b/workflow/scripts/prepare_fossil.py @@ -41,6 +41,7 @@ def _get_coal_ccs(gem_df: pd.DataFrame) -> pd.Series: ) ) + def _get_coal_fuel(gem_df: pd.DataFrame) -> pd.Series: """Harmonise fuel nomenclature with other GEM datasets.""" # bituminous -> coal: bituminous @@ -55,10 +56,7 @@ def _get_coal_fuel(gem_df: pd.DataFrame) -> pd.Series: def _get_end_year( - gem_df: pd.DataFrame, - *, - planned_ret_col: str, - ret_col: str = "retired_year", + gem_df: pd.DataFrame, *, planned_ret_col: str, ret_col: str = "retired_year" ) -> pd.Series: """Return retirement year. @@ -109,7 +107,6 @@ def prepare_gem_gcpt( return schema.validate(coal_df), _schemas.FuelSchema.validate(fuels_df) - def prepare_gem_gogpt( gem_gogpt_path: str, technology_mapping: dict[str, str], From d37f82cbe5f16d5f4cca61e6981445d139b06067 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 11 Apr 2026 12:20:49 -0600 Subject: [PATCH 18/19] fix integration testing --- .github/workflows/pr-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-ci.yml b/.github/workflows/pr-ci.yml index 728b9c5..b836c1c 100644 --- a/.github/workflows/pr-ci.yml +++ b/.github/workflows/pr-ci.yml @@ -33,7 +33,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: integration-test-logs-${{ matrix.os }} - path: tests/integration/results/integration_test/logs + path: tests/integration/resources/powerplants/logs if-no-files-found: ignore retention-days: 30 - name: Fail if integration or linting failed From 15cbdae856f4576bdb657468b7526b6cce869afe Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Sat, 11 Apr 2026 13:56:11 -0600 Subject: [PATCH 19/19] Fix wildcard naming in the INTERFACE file --- INTERFACE.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INTERFACE.yaml b/INTERFACE.yaml index 7e944ec..bb9d082 100644 --- a/INTERFACE.yaml +++ b/INTERFACE.yaml @@ -39,7 +39,7 @@ pathvars: default: "/{shapes}/powerplants/{adjustment}/{category}.parquet" description: Disaggregated powerplants within polygons in the given shapefile. wildcards: - shape: name of the provided shapefile. + shapes: name of the provided shapefile. adjustment: > Whether or not total capacity per country has been re-scaled to fit national statistics. Options: "adjusted" or "unadjusted".